Dưới đây là một số khác:
=indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),""))))
Với phương trình cuối cùng là đây:
=DAYS360(A2,indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),"")))))
Các phương trình khác trên đây làm việc, nhưng tôi thích điều này một vì nó làm cho số hàng dễ dàng, mà tôi thấy tôi cần phải làm thường xuyên hơn. Chỉ số hàng sẽ là như thế này:
=max(arrayformula(if(A:A<>"",row(A:A),"")))
tôi ban đầu đã cố gắng để tìm thấy chỉ này để giải quyết một vấn đề bảng tính, nhưng không thể tìm thấy bất cứ điều gì hữu ích mà chỉ cho số lượng hàng mục cuối cùng, vì vậy hy vọng này rất hữu ích cho ai đó. Ngoài ra, điều này có thêm lợi thế là nó hoạt động cho bất kỳ loại dữ liệu nào theo thứ tự bất kỳ và bạn có thể có hàng trống giữa các hàng có nội dung và không tính các ô có công thức đánh giá "". Nó cũng có thể xử lý các giá trị lặp lại. Tất cả trong tất cả nó rất giống với phương trình sử dụng max ((G: G <> "") * hàng (G: G)) ở đây, nhưng làm cho kéo ra số hàng dễ dàng hơn một chút nếu đó là những gì bạn đang sau .
Hoặc, nếu bạn muốn đặt một tập lệnh trên trang tính, bạn có thể dễ dàng tự làm nếu bạn dự định thực hiện việc này rất nhiều.Dưới đây là rằng 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;
}
}
}
Ở đây bạn có thể chỉ cần gõ vào sau đây nếu bạn muốn hàng cuối cùng trên cùng của bảng mà bạn đang chỉnh sửa:
=LASTROW()
hoặc nếu bạn muốn hàng cuối cùng của một cột cụ thể từ bảng đó, hoặc của một cột cụ thể từ bảng khác, bạn có thể làm như sau:
=LASTROW("Sheet1","A")
Và đối với những dòng cuối cùng của một tờ đặc biệt nói chung:
=LASTROW("Sheet1")
Sau đó, để có được những dữ liệu thực tế bạn có thể sử dụng gián tiếp:
=INDIRECT("A"&LASTROW())
hoặc bạn có thể thay đổi kịch bản trên tại hai dòng trở lại cuối cùng (người cuối cùng hai vì bạn sẽ phải đặt cả bảng và cột để có được giá trị thực tế từ một cột thực tế), và thay thế các biến như sau:
return sheet.getRange(column + final).getValue();
và
return sheet.getRange(column + lastRow).getValue();
Một lợi ích của tập lệnh này là bạn có thể chọn nếu bạn muốn bao gồm các phương trình đánh giá thành "". Nếu không có đối số nào được thêm vào phương trình đánh giá "" sẽ được tính, nhưng nếu bạn chỉ định một trang tính và cột thì giờ đây chúng sẽ được đếm. Ngoài ra, có rất nhiều tính linh hoạt nếu bạn sẵn sàng sử dụng các biến thể của tập lệnh.
Có lẽ quá mức cần thiết, nhưng tất cả có thể.
Câu hỏi tương tự: http://stackoverflow.com/questions/4169914/selecting-the-last-value-of-a-column/13356890 –