자주 재사용해야하는 열 수식이 있습니다. 수식의 목적은 하나 이상의 연속 된 누락 된 셀 값을 위의 값으로 채우는 것입니다. 공식은 다음과 같습니다.
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 루프는 절대로 실행되지 않는 것처럼 보입니다.
무엇이 잘못되었는지 도와 줄 수 있습니까?