匹配第n个实例

我有一个电子表格中的数据数组,我想自动将前七个以特定string开头的实例拉到七个独立的单元格,这样可以很容易地看到完整的单元格内容。 我已经编写了一个公式,成功地find第一次出现,但我找不到一种方法来扩展到第二,第三等。我曾经想过使用前一个单元格的匹配作为input到下一个单元格,但我所做的一切尝试似乎没有工作。

我发现了一些使用VBA或CSE公式的例子,但是我尝试过的任何CSE公式似乎都不起作用。 但是由于强加给我的限制,我无论如何都不能使用VBA或者CSE,所以我从来没有深入过。

这是匹配第一个实例的公式:

=INDEX($A$13:$A$5000,MATCH("start*",$A$13:$A$5000,0)) 

这是在单元格A4; 我想A5:A11匹配接下来的六个实例。

这是可能的香草配方?

这可以使用“数组”function(Ctrl + Shift + Enter)完成,但我个人不喜欢使用这些。

我的build议将是以下代替:

A4 =INDEX($A$13:$A$5000,MATCH("start*",$A$13:$A$5000,0))

B4 =MATCH("start*",$A$13:$A$5000,0)

A5 =INDEX(OFFSET($A$13:$A$5000,B4,0),MATCH("start*",OFFSET($A$13:$A$5000,B4,0),0))

把它复制到A11

B5 =MATCH("start*",OFFSET($A$13:$A$5000,B4,0),0)+B4

并将其复制到B11

基本上这个“推”search区域下来的金额等于前面的比赛的总和,然后find下一场比赛。

如何使用助手列。 在B13中input:

 =IF(LEFT(A13,5)="start",1+MAX($B$1:B12),"") 

并抄下来。 然后在A4input:

 =IFERROR(INDEX($A$13:$A$5000,MATCH(ROWS($1:1),$B$13:$B$5000,0)),"") 

并抄下来:

在这里输入图像说明

其他答案略有不同,仍然使用从B4开始的帮手列,并拉下来获得13美元的比赛位置:$ 5000: –

 =IFERROR(MATCH("BR*",INDEX(A$13:A$5000,B3+1):A$5000,0)+B3,"") 

(假设B3是空的)。

然后在A4中获得相应的比赛并拉下:

 =IFERROR(INDEX(A$13:A$5000,B4),"") 

(我的testing数据使用以BR开头的string)。

在这里输入图像描述