두 부분으로 구성된 질문이 있습니다. 다른 열의 데이터를 기반으로 한 열의 이전 행 값을 변경하려고 하는데 몇 가지 문제가 있습니다. 아래 예에서는 상태가 Status1에서 다른 것으로 변경될 때(녹색 셀 참고) 셀 6행 위(빨간색 셀)의 값을 변경하고 싶습니다.

내가 사용하는 열 수식은 다음과 같습니다.

표에서 볼 수 있듯이 스크립트는 Row()-6에 99를 삽입하지만 Row()에도 99가 있습니다. 마지막 것은 어디서 나오는지 알 수 없습니다.
여기서 해결하려는 더 큰 문제는 상태 변경 위의 모든 셀을 99(So Row(), Row()-1, Row()-2, ... , Row)로 채우고 싶다는 것입니다. ()-6은 모두 99). 이 작업을 수행하기 위해 FOR 루프를 사용하려고 시도했지만(아래 두 번째 스크립트 참조) 아무 작업도 수행하지 않습니다.

당신이 알 수 있듯이 나는 JSL에 대해 무지하므로 이에 대한 도움을 주시면 매우 감사하겠습니다. 감사합니다.
귀하의 데이터 테이블이 없기 때문에 이것은 단지 추측일 뿐입니다.
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(23),
Compress File When Saved(1),
New Column("S",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "B", "B", "B", "C", "C"}
)
)
);
dt << New Column("R", Numeric, Continuous, Formula(
If(:S == "A" & Lag(:S, -6) != "A",
99
, :S == "A",
Lag(:R)
);
));
Lag를 사용하여 뒤와 앞의 값을 찾을 수 있습니다.
도움을 주셔서 감사합니다! 나는 당신이 부정적인 지연을 가질 수 있다는 것을 몰랐습니다. 매우 편리합니다.