こんにちは、みんな、
以下のようなデータベースがありますが、

コミックでは、緑色のセルが取得したい結果です。
期間を計算するスクリプトを作成したいと思います。
「開始日」列があり、次に実行順序を示す「番号」列があります。
目標は、数値に基づいて「開始日 y - 開始日 x」を計算することです。
漫画を例にして説明します。
1行目: セル内の列「720」の数値が 12 であることがわかります。そのため、すべての「数値」列の中から 12 より大きい最初の列を探します (ここでは、値が 21 の列「740」)。
したがって、期間 720 は、期間 720 = 開始日 740 - 開始日 720 となります。
次に、期間 740 については、同じ原則で期間 740 = 開始日 9801 - 開始日 740 となります。
私が書き始めたスクリプトは次のとおりです。
dt = Current Data Table();
dur_cols = Filter Each( {col_name}, dt << Get Column Names( "String", Continuous ),
Starts With( col_name, "Date début" )
);
num_colnr = Transform Each( {col_name}, dur_cols, Word( -1, col_name ) );
char_cols = dt << Get Column Names ("string", Character);
wait(1);
N_taches = N Items(dur_cols);
for (i = 1, i <= N_taches, i++,
Eval(
Eval Expr(
col = dt << New Column ( "durée" || num_colnr[i], Numeric, "Continuous", Format(":jou:hh:m",8));
col << Formula(
colidx = Loc(dt[row(), char_cols] > Eval(num_colnr[i]))[1];
If ( N Items(colidx) > 0,
val = dur_cols[colidx] - Eval(dur_cols[i]);
If(IsMissing(val),
0
,
val
);
,
0
);
);
)));ご協力いただきありがとうございます !