
給定列中的一系列儲存格,找到最後填滿的條目並傳回該值。
我有一個帶有一列的分類帳,我大部分時間都會在新行中填寫一個值,從頂部開始,進入城鎮。在我想念的日子裡,牢房是空的。我想使用最後輸入的值,但不確定如何搜尋它。從邏輯上講,我想從下往上搜索,尋找範圍中的第一個非空白單元格。範圍每天都在增長,但函數應始終返回底部條目。有時,沒有任何條目會導致該單元格為空,因此它不能僅在第一個空單元格處停止並返回 1。
不知道 find() 或 search() 是否可以找到第一個“Non-WhiteSpaceOrEmptyString”,或者我會用它從下往上查找。
答案1
我自己創建了一個解決方案。在 Google 表格中,您可以建立自訂函數。在「工具」功能表上,按一下「腳本編輯器」。在編輯器中,新增以下函數:
function LASTPOPULATED(range2d) {
if (!Array.isArray(range2d)) { return null; }
for (i=range2d.length-1; i>-1; i--) {
e = range2d[i];
if (!Array.isArray(e) || e.length != 1) { return null; }
v = e[0];
if (typeof(v) === 'number' || (typeof(v) === 'string' && v.length > 0)) { return v; }
}
return null;
}
若要使用,請呼叫 LASTPOPULATED(range),其中範圍採用 cell1:cell2 格式。 Google Sheets 範圍始終是二維的,因此請確保它表示列範圍,例如 B1:B100,否則如果在找到填充元素之前偵測到超過 1 列,則該函數將傳回 null。