列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] )
);
2 番目は、現在の行番号を超えるか等しい最初の 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 列の値を数値に固定するか、NO を文字に変更します (私は X を数値にします)。
次に、列トラック番号から1つのNO値を選択し、それを右クリックして一致するセルを選択します。

Altキーを押しながらX列ヘッダーを押すと、トラック番号のNO値と一致するX列の値が選択されます。

Ctrl + C を押すか、またはそれらの値をクリップボードにコピーし、列ヘッダーをクリックして Ctrl + V で貼り付けます。

NO列ヘッダーをクリックしてその中のすべての値を選択し、最初の値を右クリックして入力します。

最初の手順で作成した列を使用してテーブルを再度並べ替え(今回は昇順)、並べ替え列を削除します。

そして、Lag を使用したもう 1 つの数式オプションがあります (これは、文字または数値の X 列が必要であることを前提としています)
If(Mod(Row(), 5) == 0,
:X
,
Lag(:X, -1*(5 - Mod(Row(), 5)))
)