Hier ist ein anderes:
=indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),""))))
Die letzte Gleichung lautet:
=DAYS360(A2,indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),"")))))
Die anderen Gleichungen hier funktionieren, aber ich mag diese, weil sie das Abrufen der Zeilennummer erleichtert, was ich häufiger tun muss. Nur die Zeilennummer würde so aussehen:
=max(arrayformula(if(A:A<>"",row(A:A),"")))
Ich habe ursprünglich versucht, genau dies zu finden, um ein Tabellenkalkulationsproblem zu lösen, konnte jedoch nichts Nützliches finden, das nur die Zeilennummer des letzten Eintrags angegeben hat. Hoffentlich ist dies für jemanden hilfreich.
Dies hat außerdem den zusätzlichen Vorteil, dass es für jeden Datentyp in beliebiger Reihenfolge funktioniert und Sie zwischen Zeilen mit Inhalt leere Zeilen haben können und Zellen mit Formeln, die als "" ausgewertet werden, nicht gezählt werden. Es kann auch wiederholte Werte verarbeiten. Alles in allem ist es der Gleichung sehr ähnlich, die hier max ((G: G <> "") * row (G: G)) verwendet, aber das Herausziehen der Zeilennummer ein wenig erleichtert, wenn Sie danach suchen .
Wenn Sie alternativ ein Skript auf Ihr Blatt setzen möchten, können Sie es sich leicht machen, wenn Sie vorhaben, dies häufig zu tun. Hier ist dieser Scirpt:
function lastRow(sheet,column) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
if (column == null) {
if (sheet != null) {
var sheet = ss.getSheetByName(sheet);
} else {
var sheet = ss.getActiveSheet();
}
return sheet.getLastRow();
} else {
var sheet = ss.getSheetByName(sheet);
var lastRow = sheet.getLastRow();
var array = sheet.getRange(column + 1 + ':' + column + lastRow).getValues();
for (i=0;i<array.length;i++) {
if (array[i] != '') {
var final = i + 1;
}
}
if (final != null) {
return final;
} else {
return 0;
}
}
}
Hier können Sie einfach Folgendes eingeben, wenn Sie die letzte Zeile auf demselben Blatt haben möchten, das Sie gerade bearbeiten:
=LASTROW()
oder wenn Sie die letzte Zeile einer bestimmten Spalte aus diesem Blatt oder einer bestimmten Spalte aus einem anderen Blatt möchten, können Sie Folgendes tun:
=LASTROW("Sheet1","A")
Und für die letzte Zeile eines bestimmten Blattes im Allgemeinen:
=LASTROW("Sheet1")
Um die tatsächlichen Daten zu erhalten, können Sie entweder indirekt verwenden:
=INDIRECT("A"&LASTROW())
oder Sie können das obige Skript in den letzten beiden Rückgabezeilen ändern (die letzten beiden, da Sie sowohl das Blatt als auch die Spalte einfügen müssten, um den tatsächlichen Wert aus einer tatsächlichen Spalte zu erhalten) und die Variable durch die folgende ersetzen:
return sheet.getRange(column + final).getValue();
und
return sheet.getRange(column + lastRow).getValue();
Ein Vorteil dieses Skripts besteht darin, dass Sie auswählen können, ob Sie Gleichungen einschließen möchten, die mit "" bewertet werden. Wenn keine Argumente hinzugefügt werden, werden Gleichungen gezählt, die mit "" bewertet werden. Wenn Sie jedoch ein Blatt und eine Spalte angeben, werden sie jetzt gezählt. Es gibt auch viel Flexibilität, wenn Sie bereit sind, Variationen des Skripts zu verwenden.
Wahrscheinlich übertrieben, aber alles möglich.