大家好,
我有如下数据库,

在漫画中,绿色单元格是我们想要获得的结果。
我想创建一个脚本来计算持续时间。
我有“开始日期”列,然后有一个“数字”列,表示执行顺序。
目标是根据数字计算“开始日期 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
);
);
)));感谢您的帮助 !