我使用数组公式来确定行数据的特定子集的最大值:
=MAX(($A2:$A100="somestring")*($C2:$C100))
这可以正常工作并让我获得 C 中的最大值,其中 A =“somestring”。
现在,我想返回与此“最大”行关联的其他列值,它们是字符串。直觉上我认为我可能需要放弃布尔逻辑乘法策略,因为涉及到字符串值。最好/最干净的方法是什么?
我使用数组公式来确定行数据的特定子集的最大值:
=MAX(($A2:$A100="somestring")*($C2:$C100))
这可以正常工作并让我获得 C 中的最大值,其中 A =“somestring”。
现在,我想返回与此“最大”行关联的其他列值,它们是字符串。直觉上我认为我可能需要放弃布尔逻辑乘法策略,因为涉及到字符串值。最好/最干净的方法是什么?
假设您对 D 列中的字符串感兴趣,这将起作用:
=INDEX(($D$1:$D$100),MAX(($A2:$A100="somestring")*(ROW($C2:$C100))))
请注意,由于它在 Row() 上进行索引,因此您的索引列需要从 1 开始,例如 D1:D100。
试试这个:
=INDEX(B1:B100,MATCH(MAX((A1:A100="somestring")*(C1:C100)),(A1:A100="somestring")*(C1:C100),0))
在此示例中,您想要为其设置值的列设置为 B。