En voici un autre:
=indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),""))))
L'équation finale étant la suivante:
=DAYS360(A2,indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),"")))))
Les autres équations ici fonctionnent, mais j'aime celle-ci car elle facilite l'obtention du numéro de ligne, ce que je trouve que je dois faire plus souvent. Juste le numéro de ligne serait comme ceci:
=max(arrayformula(if(A:A<>"",row(A:A),"")))
J'ai initialement essayé de trouver ceci pour résoudre un problème de feuille de calcul, mais je n'ai rien trouvé d'utile qui donne simplement le numéro de ligne de la dernière entrée, donc j'espère que cela sera utile pour quelqu'un.
En outre, cela présente l'avantage supplémentaire de fonctionner pour tout type de données dans n'importe quel ordre, et vous pouvez avoir des lignes vides entre les lignes avec du contenu, et cela ne compte pas les cellules avec des formules qui évaluent à "". Il peut également gérer des valeurs répétées. Dans l'ensemble, c'est très similaire à l'équation qui utilise max ((G: G <> "") * row (G: G)) ici, mais rend l'extraction du numéro de ligne un peu plus facile si c'est ce que vous recherchez .
Sinon, si vous souhaitez mettre un script sur votre feuille, vous pouvez vous faciliter la tâche si vous prévoyez de le faire beaucoup. Voici ce 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;
}
}
}
Ici, vous pouvez simplement taper ce qui suit si vous voulez que la dernière ligne soit identique à la feuille que vous modifiez actuellement:
=LASTROW()
ou si vous voulez la dernière ligne d'une colonne particulière de cette feuille, ou d'une colonne particulière d'une autre feuille, vous pouvez faire ce qui suit:
=LASTROW("Sheet1","A")
Et pour la dernière ligne d'une feuille particulière en général:
=LASTROW("Sheet1")
Ensuite, pour obtenir les données réelles, vous pouvez soit utiliser indirectement:
=INDIRECT("A"&LASTROW())
ou vous pouvez modifier le script ci-dessus au niveau des deux dernières lignes de retour (les deux dernières car vous devrez mettre à la fois la feuille et la colonne pour obtenir la valeur réelle d'une colonne réelle), et remplacer la variable par ce qui suit:
return sheet.getRange(column + final).getValue();
et
return sheet.getRange(column + lastRow).getValue();
L'un des avantages de ce script est que vous pouvez choisir si vous souhaitez inclure des équations évaluées à "". Si aucun argument n'est ajouté, les équations évaluées à "" seront comptées, mais si vous spécifiez une feuille et une colonne, elles seront désormais comptées. De plus, il y a beaucoup de flexibilité si vous êtes prêt à utiliser des variantes du script.
Probablement exagéré, mais tout est possible.