在二维数组中的excel匹配值(获取行)
我在我的Excel表中有以下结构。
EFGH --------- --------- ------ ------- 2 | blah sometext atext smth 3 | textval accc 4 | test avfr 5 | check 6 | ertyui 7 |
你可以build议使用EXCEL函数 ( 而不是VBA )获取匹配string的行吗?
例如:给定的test
我需要回到4
,给予ertyui
6
我需要:
-
在这个二维数组的所有列中进行查找
-
只在一个小区有function
在A1中使用searchstring:
=SUMPRODUCT((E2:H6=A1)*ROW(E2:H6))
如果在该范围内有多个searchstring,显然这将失败。 但是,您提供的数据集中的每个值都是唯一的,所以我认为这不是问题。
此外,如果这是可能的话,你需要澄清哪一个可能的几个不同的行号应该是首选的回报。
问候
也许与在J1中寻求string,在K1(输出)类似的东西:
=SUM(K2:K100)
在K2中复制下来说K100:
=IF(ISERROR(MATCH(J$1,E2:I2,0)),"",ROW())
使用=MATCH()
查找示例
=match("test", E1:E7, 0)
这应该返回4.然后相应地修改。
更好的是,把你的条件放在其他一些单元格中,比如A1
,然后你可以使用:
=match($A$1, E$2:E$7, 0)-1
将该公式放在单元格E1
然后在列上拖动,每列将有一个匹配项。