我想在NO列(X列,Raw5)第12345行填充“243”,并向下推填充(NO的第678910列填充“1511”)

这里有2个解决方案。

第一个解决方案假设所有数据都以 5 行组成,因此它总是从每 5 行分配值。
If( Mod( Row(), 5 ) == 0,
Num( :X ),
Num( :X[(Floor( Row() / 5 ) + 1) * 5] )
);
第二个使用第一个大于或等于当前行号的 NO 行的值。
As Constant(
NORows = Current Data Table() << get rows where( :track no == "NO" )
);
val = Num( :X[NORows[1]] );
If( Row() == NORows[1],
Try( NORows = NORows[Index( 2, Length( NORows ) )] )
);
val;
如果您只需执行一次,您也可以在 JMP 中以交互方式执行此操作(请注意,JMP 无法捕获此处完成的所有步骤,因此基于 JMP 创建的脚本实现自动化并不容易)。
首先创建新列以保留原始顺序,然后按该列对表格进行降序排序

接下来将 X 列值修复为数字,或者将“否”更改为“字符”(我将 X 更改为数字)。
然后从列轨道号中选择一个 NO 值,右键单击它并选择匹配的单元格

按住 Alt 并按下 X 列标题可选择与轨道号上的 NO 值匹配的 X 列值

按 Ctrl + C(或以其他方式复制)这些值到剪贴板,单击 NO 列标题并使用 Ctrl + V 粘贴它们

单击 NO 列标题以选择其中的所有值,右键单击第一个值并填充

使用第一步创建的列再次对表格进行排序(这次按升序),然后删除排序列

这里还有一个使用 Lag 的公式选项(假设您想要字符,或者您有数字 X 列)
If(Mod(Row(), 5) == 0,
:X
,
Lag(:X, -1*(5 - Mod(Row(), 5)))
)