【发布时间】:2020-07-17 14:28:54
【问题描述】:
我想知道是否有一个 Excel 公式解决方案?我知道可以使用 VBA 完成,但为了简单起见,如果可能的话,我更喜欢使用 Excel 公式。
有两个准则Start range 和End range(例如错字)。我想在中间的行中获取文本,在本例中为 Part one 和 Part two。问题是可以有更多的行,比如Part three 和Part four = Range 是动态的。
基本上(像 VBA)公式应该在 C 列中找到两个单词 Start range 和 End range 并在其间获取文本,从 Start range 之后的第一个单词开始,直到 End range 之前的最后一个单词。
有没有办法用 Excel 公式来执行此操作?
我可能可以通过使用 SUMPRODUCT 获得单元格位置:
=SUMPRODUCT((C2:C5="Start range")*ROW(C2:C5))
和
=SUMPRODUCT((C2:C5="Eng range")*ROW(C2:C5))
编辑:
这似乎有效,但它只给出范围内的第一个结果作为输出。如何使用“下拉”获得范围内的所有结果?
=INDEX($C:$C;N(IF(1;ROW(INDEX($C:$C;MATCH("Start range";$C:$C;0)+1,1):INDEX($C:$C;MATCH("Eng range";$C:$C;0)-1;1)))))
结果应该是:
Part one
Part two
【问题讨论】:
-
您可以使用 FILTER 功能吗?和序列?
-
@BigBen 很遗憾没有。
-
您的最终结果会是什么样子?你提到你想get text in between?
-
@JvdV 我已经编辑了我的问题。见编辑部分
标签: excel excel-formula