我曾尝试使用VLOOKUP
,HLOOKUP
,LOOKUP
,INDEX
和MATCH
,但迄今为止尚无法解决问题问题。我想在列A中填充与每行中可能找到的STRING左边值相邻的值。感兴趣的列经常不同。
E.g。 如果G1 = STRING则返回F1,如果G2 = STRING则返回F2,如果F3 = STRING则返回E3,如果E4 = STRING则返回D4
答案 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)
如果你拖动公式来填充多个单元格,请不要忘记锚点