我有一個我需要經常重複使用的列公式。公式的目的是使用上面的值填充一個或多個連續的缺失單元格值。這是公式:
While( Is Missing( Lag( :Column 1, i ) ) & Row() - i > 1, i++ );
Lag( :Column 1, i );
(While條件中的第二個子句在第1行IsMissing時阻止無限循環。)以下是公式在第2列中時輸出的樣子:

我經常使用這個公式,我想我可能會創建一個用戶函數並將腳本附加到“On Open”腳本中的表中。這是我嘗試在用戶命名空間中創建用戶函數:
Names Default To Here( 1 );
util = New Namespace(
"util",
{
//This function fills in missing values from the value above.
Infill = Function( {col},
{Default Local},
i = 0;
While( And( Is Missing( Lag( col, i ) ), Row() - i > 1 ), i++ );
Return( Lag( col, i ) ) ;
) ;
}
);我將此腳本附加到表並運行它,然後我將第2列中的顯式公式替換為
util:Infill(Column 1)
但這不起作用。輸出如下所示:

看起來While循環永遠不會執行。
你能幫我解決什麼問題嗎?