我有一个这样的数据表:
a b c d
1 1 2 3 4
2 5 6 7 8
3 9 10 11 12
4 13 14 15 16
我想要一个找到最大值(16)并返回其行号(在本例中为4)的公式。我怎么做?
INDEX(a1:d1,MATCH(MAX(a1:h4),a1:h4,0),)
不工作:(
我有一个这样的数据表:
a b c d
1 1 2 3 4
2 5 6 7 8
3 9 10 11 12
4 13 14 15 16
我想要一个找到最大值(16)并返回其行号(在本例中为4)的公式。我怎么做?
INDEX(a1:d1,MATCH(MAX(a1:h4),a1:h4,0),)
不工作:(
工作表布局::
B1:E1
列标题
A2: A5
:行标题
B2:E5
:数据
数组公式:
{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)
- 但通过 , 输入为ARRAY公式Ctrl+Shift+Enter
将返回E5
(假设@Jüri Ruut
区域),这只是所需单元格的地址。
希望这个附加的截图是不言自明的?
好的,我会编写一个这样的宏:遍历每一行 - 找到该行的最大值。将值存储在数组中,然后再次计算最大值。
可能它也适用于公式。只需计算单独列中每一行的最大值,然后计算该列的最大值。
试试这个数组公式
=MIN(IF(A1:H4=MAX(A1:H4),ROW(A1:H4)))
确认CTRL+SHIFT+ENTER
如果在 A1:H4 中多次出现 MAX 值,那么公式将为您提供 它出现的第一行