A列包含文本,B,C和D列包含数字。
例如。
A... …B C D
John 4 6 2
Dave 4 6 4
Mike 4 5 1
Bill 2 5 9
我希望一个单元格返回A列中名称在B列中最大的名称。如果有相似的数字,请转到下一列并确定哪一个最高,如果该值最大,请转到下一列,依此类推。
任何帮助将不胜感激。
答案 0 :(得分:1)
我们可以解除关系冲突。
在 E1 中输入:
=B1 + C1/(10*MAX(C:C))+D1/(100*MAX(D:D))
然后抄下来。然后在另一个单元格中输入:
=INDEX(A:A,MATCH(MAX(E:E),E:E,0))
EDIT#1
这仅适用于数字的 3 列,但在必要时添加其他去冲突术语非常容易:
=B1 + C1/(10*MAX(C:C))+D1/(100*MAX(D:D))+E1/(1000*MAX(E:E))
答案 1 :(得分:0)
对于可扩展的行/列数,请使用与数据中的列数相同列数的帮助行。下面的公式引用下图(数据在A1:G7
中):
B9
-> =MAX(B1:B7)
C9
(将其余列填充到G9
中)->
=MAX(IF(MMULT(--($B1:B7=$B9:B9),--(ROW(INDIRECT("1:"&COLUMNS($B9:B9)))>0))=COLUMNS($B9:B9),C1:C7))
以下公式将给出答案(如上A9
所示):
=INDEX(A1:A7,MATCH(TRUE,(MMULT(--($B1:G7=$B9:G9),--(ROW(INDIRECT("1:"&COLUMNS($B9:G9)))>0))=COLUMNS($B9:G9)),0))
使用替代方法更新
改为使用帮助程序列,再次参考下图(数据位于A1:G7
中):
I1
(填写至I7
)->
=SUM(--(MMULT(SIGN(B1:G1-$B$1:$G$7)*2^(COLUMN(G1)-COLUMN(A1:F1)),--(ROW(INDIRECT("1:"&COLUMNS(B1:G1)))>0))>0))
以下公式将给出答案(如上J1
所示):
=INDEX(A1:A7,MATCH(MAX(I1:I7),I1:I7,))
另外,请注意,helper列与从左到右按每一列对数据进行排序所获得的顺序相对应。换句话说,您可以使用helper列对严格的数值数据执行基于公式的多列排序。对于最后一张图片,在与A1:G7
相同尺寸的范围内输入以下数组公式可对B
至G
列进行降序排列:
=IF(A1:A7=A1:A7,INDEX(A1:G7,MATCH(ROW(A7)-ROW(A1:A7),I1:I7,0),))