大家好,
我有如下數據庫,

在漫畫中,綠色單元格是我們想要獲得的結果。
我想創建一個腳本來計算持續時間。
我有“開始日期”列,然後有一個“數字”列,表示執行順序。
目標是根據數字計算“開始日期 y - 開始日期 x”。
我用漫畫的例子來解釋自己:
第一行:我們注意到列“720”在單元格中有數字 12,因此我們在所有“數字”列中查找第一個大於 12 的列(這裡列“740”的值為 21)
因此持續時間 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
);
);
)));感謝您的幫助 !