在二维数组中的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然后在列上拖动,每列将有一个匹配项。