在给定的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键。