我正在做一个具有最佳实验结果的表格。在此表中,我需要为Sample和Method的每个组合显示最佳(最大)结果。而且测试也给出了最好的结果。
在这里检查了类似的问题之后,我得到了如何做第一部分(MAX结果),但没有得到第二部分的解决方案(标签/测试给出结果)。
这是一个简化的表格,看看你是否可以帮我理解如何做到这一点:
数据表
A B C D E
1 Test1 Test2 Test3
2 Sample1 Method1 1.6 2.2 0.1
3 Sample2 Method1 1.5 1.3 0.6
4 Sample3 Method1 1 0 0.6
5 Sample1 Method2 0.5 0.1 1.7
6 Sample2 Method2 1.5 0.5 1
7 Sample3 Method2 0.4 0.5 2.7
8 Sample1 Method3 0.7 1.7 1
9 Sample2 Method3 1.1 1.1 1.2
10 Sample3 Method3 0.6 0.4 1.5
这是我希望建立的表格的草稿
G H I J K L M
1 BEST Sample1 Sample1 Sample2 Sample2 Sample3 Sample3
2 RESULTS ValMax Test ValMax Test ValMax Test
3 Method1 2.2 1.5 1
4 Method2 1.7 1.5 2.7
5 Method3 1.7 1.2 1.5
正如你所看到的,我已经知道如何检查每个组合的最大值,这要归功于这个数组函数(在H3):
=MAX(IF(($A$2:$A$10=H1)*($B$2:$B$10=G3);$C$2:$E$10))
(和 Control + Shift + 输入)
但是对于第二部分我没有任何线索。我需要从“第1行”中提取3个测试中的哪一个(在C,D和E列中的Test1,Test2和Test3)包含包含Sample和Method的正确组合的Row的MAX值。 我试过这样的事情(在I3):
=INDEX($A$1:$E$10; 1; MATCH(H3&H$1&G3; $C$2:$E$10&$A$2:$A$10&$B$2:$B$10;0))
(和 Control + Shift + 输入)
但显然不起作用,因为我正在混合行和列。 如何从第1行(测试)中获取与Method和Sample组合的最大值相对应的值?
答案 0 :(得分:0)
虽然我可能使用VBA来构建表格,但以下公式将返回与样本对应的测试:
I3: =INDEX($C$1:$E$1,1,MATCH(H3,INDEX($C$2:$E$10,MATCH(TRUE,IF((I$1=$A$2:$A$10)*($G3=$B$2:$B$10),TRUE),0),0),0))
您需要调整不同列的地址,或将其与IF
函数中的其他公式结合使用,以决定是否显示分数或测试名称。
答案 1 :(得分:0)