如何设置依赖于另一个位置可变的单元格的单元格值

Hon*_*iel 3 excel excel-formula

我有一个奇怪的任务要执行,我无法想象如何去做,甚至无法想出一个术语来谷歌,因为我不太擅长 excel 公式,而且我不允许使用 VBA:

如果“D”列包含“S”或“H”,则需要执行以下操作:

  1. 转到同一行的“E”列
  2. 通过向上移动找到包含值的“E”列中的第一个单元格
  3. 向右转到“F”列
  4. 将该值复制到您开始的行中“B”列中的单元格

我知道这很令人困惑,所以我添加了一个屏幕截图: 截屏

有一些条件:

  • 正如我提到的,我不允许使用 VBA。
  • 行数可以改变,我想会增加更多。
  • 它显然只需要一个公式,以便在添加新行时可以复制和粘贴。

我希望我说清楚了,因为英语不是我的母语。如果有不清楚的地方,请随时提问。

Jvd*_*vdV 5

请尝试以下操作:

在此处输入图片说明

公式B2

=IF(OR(D2="S",D2="H"),INDEX(F:F,MATCH(LOOKUP(2,1/(ISNUMBER(E$1:INDEX(E:E,ROW(E1)))),E$1:INDEX(E:E,ROW(E1))),E:E,0)),"")
Run Code Online (Sandbox Code Playgroud)

拖累...

  • 与往常一样,很好的解决方案:)您也可以将它与 `VLOOKUP` 结合使用:`=IF(OR(D2="S",D2="H"),INDEX(F:F,MATCH(VLOOKUP(10^308, E$1:INDEX(E:E,ROW(E1)),1,1),E:E,0)),"")` (2认同)
  • 这甚至可能更干净@JustynaMK (2认同)
  • 圣鳄梨酱,它确实有效!必须用分号替换函数和逗号的单词才能使其在德语 Excel 中工作,但这确实是我需要的解决方案!非常感谢! (2认同)