Excel 如何求元素第n次发生的位置
在excel中,我有两列,如下所示:Excel 如何求元素第n次发生的位置,excel,Excel,在excel中,我有两列,如下所示: A B apple fruit beef meat banana fruit orange fruit bacon meat D1="fruit" D2=IF($D$1=B2,1,0) E1=0 E2=D2+E1 F2=1 F3=2 F4=3 ... etc. G2=MATCH(F2,E:E,0)-1 H2=OFFSET($A$1,G2,0,1,1) 然后,我想访问A列中
A B
apple fruit
beef meat
banana fruit
orange fruit
bacon meat
D1="fruit"
D2=IF($D$1=B2,1,0)
E1=0
E2=D2+E1
F2=1
F3=2
F4=3
... etc.
G2=MATCH(F2,E:E,0)-1
H2=OFFSET($A$1,G2,0,1,1)
然后,我想访问A列中与元素B相对应的所有元素,即,我有一个C列,其中应包含以下元素:
C
apple
banana
orange
i、 e.C列中的第一个元素是A列中的第一个元素,B列中的元素是“水果”。
C列中的第二个元素是A列中的第二个元素,B列中的元素是“水果”
我看过一些公式,但似乎没有一个能解决这个问题
我希望至少能找到B列中某个元素的第n次出现,公式如下
=find("fruit";b1:b5;1)
对于第一个元素和
=find("fruit";b1:b5;2)
对于第二个元素。但是
find
已经在不同的上下文中使用。在更简单的公式中逐步构建它,我做了以下工作:
A B
apple fruit
beef meat
banana fruit
orange fruit
bacon meat
D1="fruit"
D2=IF($D$1=B2,1,0)
E1=0
E2=D2+E1
F2=1
F3=2
F4=3
... etc.
G2=MATCH(F2,E:E,0)-1
H2=OFFSET($A$1,G2,0,1,1)
D列用于标识您在D1中输入的B列。
E col用于建立“第一、第二……等”相关项目的列表。
F col只是一个固定数字列表-这是我们想要从E压缩的项目。
G列与E上的F相匹配,即实际的行数是多少。
H列使用偏移量来提取值。以下是我认为您需要的 在A1:B5范围内,我复制了你的表格 在牢房里,我输入了E1
fruit
(这是您将用来确定所需项目列表的内容)
然后,在F1单元格中,我输入了
=MATCH($E$1,$B$1:$B$5,0)
=MATCH($E$1,OFFSET($B$1:$B$5,F1,0),0)+F1
=INDEX($A$1:$A$5,F1)
这将获取第一个水果实例列表中的位置。
然后,在F2单元中,我输入
=MATCH($E$1,$B$1:$B$5,0)
=MATCH($E$1,OFFSET($B$1:$B$5,F1,0),0)+F1
=INDEX($A$1:$A$5,F1)
这将获取偏移列表中第一个水果实例在列表中的位置,并添加第一个项目的位置以获取第二个项目的位置,依此类推。这个公式可以复制到需要的地方。然后在G1,我进入
=MATCH($E$1,$B$1:$B$5,0)
=MATCH($E$1,OFFSET($B$1:$B$5,F1,0),0)+F1
=INDEX($A$1:$A$5,F1)
这也可以按需要进行填充您可以在
C1
=IFERROR(索引(A$1:A$5,小)(如果(B$1:B$5=“水果”,行(A$1:A$5)-行(A$1)+1),行(C$1:C1)),“”)
按CTRL+SHIFT+ENTER键确认并向下复制-当限定值用完时,您会得到空白FYI如果需要,可以将其中一些公式组合起来使用较少的列-我将它们分开以便于理解;)非常好,我本想沿着数组公式的路线走,但开始把自己弄糊涂了!这是光滑的,但是,它似乎只拉第一个项目?它如何拉动“第n个”项?即第二项:香蕉,或第三项:橙色?(我把OP理解为需要第n项;))C1中的公式得到第一项。当您向下复制行时,函数的增量从1到2到3,等等。公式行函数中的k值在小函数中给出,因此得到条件匹配的每个连续行号