这是一个示例数据表,第 4 列“所需的公式列”显示了我想要得到的结果。
| 团体 | 样品编号 | 数据价值 | 所需的公式列 |
一个 | 1 | 22.1 | 200 |
| 一个 | 2 | 104.2 | 200 |
| 一个 | 3 | 200 | 200 |
| 乙 | 1 | 18.6 | 199.5 |
| 乙 | 2 | 95.4 | 199.5 |
| 乙 | 3 | 105.8 | 199.5 |
| 乙 | 4 | 170 | 199.5 |
| 乙 | 5 | 199.5 | 199.5 |
| C | 1 | 40 | 100 |
| C | 2 | 60 | 100 |
| C | 3 | 80 | 100 |
| C | 4 | 100 | 100 |
我正在寻找一个列公式,它将输入每组最后一个时间点的数据值的值。
提前致谢!
朱丽叶
对不起。 我正在删除我的评论,因为我误读了这个问题。 公认的解决方案绝对是要走的路。
如果数据总是随样本增加,则使用 Col Max 函数非常简单。如果最高的样本并不总是具有最高的数据值,那就有点复杂了。 请参阅下面的一种可能的方法,请注意,这对于大型表来说会很慢:
New Column( "If Data always Increases with Sample Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Max( :Data Value, :Group ) ),
Set Display Width( 171 )
);
New Column( "If Data not related to Sample Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
MaxSample = Col Max( :Sample Number, :Group );
g = Associative Array( Loc( :Group << Get Values(), :Group ) );
s = Associative Array( Loc( :Sample Number << Get Values(), MaxSample ) );
union = g;
union << intersect( s );
r = Max( union << get keys );
:Data Value[r];
),
Set Display Width( 136 )
);