Excel – 在二维中查找值
我有一个像这样的数据表:
abcd 1 1 2 3 4 2 5 6 7 8 3 9 10 11 12 4 13 14 15 16
我想要一个公式,find最大值(16),并返回其行号(在这种情况下,4)。 我怎么做?
INDEX(a1:d1,MATCH(MAX(a1:h4),a1:h4,0),)
不工作:(
图纸布局:
B1:E1
:列标题
A2: A5
:行标题
B2:E5
:数据
arrays公式:
{MAX(IF(B2:E5=MAX(B2:E5);ROW(B2:E5)-1;""}
由于最初问题的结果是“d”,相应的数组公式如下:
{=OFFSET(A1;MAX(IF(B2:E5=MAX(B2:E5);ROW(B2:E5)-1;""));0)}
Shift-Ctrl-Enter在公式窗口中插入。 曲线括号由Excel插入,而不是由用户插入。
还有一个谦虚的女孩的意见:
=ADDRESS(ROW(OFFSET(A1,MAX(IF(B2:E5=MAX(B2:E5),ROW(B2:E5)-1,"")),0)),COLUMN(OFFSET(A1,0,MAX(IF(B2:E5=MAX(B2:E5),COLUMN(B2:E5)-1,"")))),4)
– 但是通过Ctrl+Shift+Enter
作为ARRAY公式Ctrl+Shift+Enter
,将返回E5
假设@Jüri Ruut
地区),这只是所需的细胞的地址。
希望这个附加的截图是不言自明的?
好的,我会编程一个macros:遍历每一行 – find该行的最大值。 将该值存储在数组中,然后再次计算最大值。
也许它也适用于公式。 只需计算一个单独列中每行的最大值,然后计算该列的最大值。
试试这个数组公式
=MIN(IF(A1:H4=MAX(A1:H4),ROW(A1:H4)))
用CTRL+SHIFT+ENTER
如果在A1:H4中有多个MAX值,则公式会给出它出现的第一行