在给定的2D范围内获取具有给定值的单元格的行或列

我需要一种方法来返回给定的2D单元格中具有指定值的单元格的行或列。

换句话说,我会对一对函数ROW(值,范围)和COLUMN(值,范围)感兴趣。

这似乎是一个足够简单的请求,但所有的查找types函数似乎是基于数组的。

这是一个非CSE方法。

考虑到数据可能有重复。 第一个search是最低的一行:

=IFERROR(AGGREGATE(15,6,(ROW($B$2:$F$5)-ROW($B$2)+1)/($B$2:$F$5=$A$7),1),"No Match") 

下一个find该行中最低的一列。 所以如果有重复的话,它会返回find该值的最低行的最低列。

 =IFERROR(AGGREGATE(15,6,(COLUMN(INDEX($B$2:$F$5,AGGREGATE(15,6,(ROW($B$2:$F$5)-ROW($B$2)+1)/($B$2:$F$5=$A$7),1),0))-COLUMN($B$2)+1)/(INDEX($B$2:$F$5,AGGREGATE(15,6,(ROW($B$2:$F$5)-ROW($B$2)+1)/($B$2:$F$5=$A$7),1),0)=$A$7),1),"No Match") 

它有一个error handling程序,如果未find该值,将返回“不匹配”

在这里输入图像说明


根据你上面的评论,我认为你宁愿有这个公式。

 =INDEX(A:F,MATCH(A7,A:A,0),MATCH(A8,1:1,0)) 

在这里输入图像说明

假设我们有这样的数据:

在这里输入图像说明

我们要find那100个
A7中input100.在B8中input数组公式:

 =MIN(IF($B$2:$F$5=A7,COLUMN($B$2:$F$5)-COLUMN($B$2)+1)) 

B9中input数组公式:

 =MIN(IF($B$2:$F$5=A7,ROW($B$2:$F$5)-ROW($B$2)+1)) 

这些给出的行和列相对于表开始(B2)

在这里输入图像说明

要获得有关工作表开始的行/列,只需使用$ A $ 1代替公式中的$ B $ 2即可

数组公式必须使用Ctrl + Shift + Enterinput,而不仅仅是Enter键。