Eccone un altro:
=indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),""))))
Con l'equazione finale questa:
=DAYS360(A2,indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),"")))))
Le altre equazioni qui funzionano, ma questa mi piace perché rende facile ottenere il numero di riga, che trovo necessario fare più spesso. Solo il numero di riga sarebbe così:
=max(arrayformula(if(A:A<>"",row(A:A),"")))
Inizialmente ho cercato di trovare proprio questo per risolvere un problema con un foglio di calcolo, ma non sono riuscito a trovare nulla di utile che fornisse il numero di riga dell'ultima voce, quindi spero che questo sia utile per qualcuno.
Inoltre, questo ha l'ulteriore vantaggio che funziona per qualsiasi tipo di dati in qualsiasi ordine e che puoi avere righe vuote tra le righe con il contenuto e non conta le celle con formule che valutano "". Può anche gestire valori ripetuti. Tutto sommato è molto simile all'equazione che usa max ((G: G <> "") * row (G: G)) qui, ma rende più semplice estrarre il numero di riga se è quello che stai cercando .
In alternativa, se vuoi mettere una sceneggiatura sul tuo foglio, puoi semplificarti se hai intenzione di farlo molto. Ecco che 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;
}
}
}
Qui puoi semplicemente digitare quanto segue se desideri l'ultima riga sullo stesso foglio che stai modificando:
=LASTROW()
o se vuoi l'ultima riga di una colonna particolare da quel foglio, o di una colonna particolare da un altro foglio puoi fare quanto segue:
=LASTROW("Sheet1","A")
E per l'ultima riga di un particolare foglio in generale:
=LASTROW("Sheet1")
Quindi per ottenere i dati effettivi è possibile utilizzare indirettamente:
=INDIRECT("A"&LASTROW())
oppure puoi modificare lo script precedente nelle ultime due righe di ritorno (le ultime due poiché dovresti inserire sia il foglio che la colonna per ottenere il valore effettivo da una colonna effettiva) e sostituire la variabile con la seguente:
return sheet.getRange(column + final).getValue();
e
return sheet.getRange(column + lastRow).getValue();
Un vantaggio di questo script è che puoi scegliere se vuoi includere equazioni che valutano "". Se non vengono aggiunti argomenti, le equazioni che valutano "" verranno conteggiate, ma se si specifica un foglio e una colonna verranno ora conteggiati. Inoltre, c'è molta flessibilità se sei disposto a usare varianti dello script.
Probabilmente eccessivo, ma tutto possibile.