匹配第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)。