Excel:连续搜索文本字符串,返回相邻列单元格的值(列将经常不同)

时间:2014-12-05 20:41:16

标签: excel excel-formula

我曾尝试使用VLOOKUPHLOOKUPLOOKUPINDEXMATCH,但迄今为止尚无法解决问题问题。我想在列A中填充与每行中可能找到的STRING左边值相邻的值。感兴趣的列经常不同。

E.g。 如果G1 = STRING则返回F1,如果G2 = STRING则返回F2,如果F3 = STRING则返回E3,如果E4 = STRING则返回D4

Picture

2 个答案:

答案 0 :(得分:1)

我设法解决了:

= IFERROR(INDEX($ S2:$ BJ2,MATCH(&#34; STRING&#34;,$ S2:$ BJ2,0)-1),&#34;&#34;)< /强>

现在,如果我想提取第2个,第3个和第4个值(如果碰巧不止一个匹配),那就是&#34; STRING&#34;必须做出哪些改变?

答案 1 :(得分:0)

我假设您的数据在E1到H100之间 - 根据需要进行调整。

首先我们需要行 -

SUMPRODUCT((E1:H100=A1)*ROW(E1:H100))

然后我们使用相同的技巧来获取列

SUMPRODUCT((E1:H100=A1)*COLUMN(E1:H100))

这为我们提供了文本的行和列 现在我们用它来查找下一栏中的文字
由于行和列偏离单元格0,0且A1为1,1,我们需要从行中减去1,然后从列中减去2以使其向左增加1个单元格 这给我们留下了以下公式:

=OFFSET(A1,SUMPRODUCT((E1:H100=A1)*ROW(E1:H100))-1,SUMPRODUCT((E1:H100=A1)*COLUMN(E1:H100))-2)
如果你拖动公式来填充多个单元格,请不要忘记锚点