Excel:查找某列字符串中特定单词每次出现的Position/Location

Excel: Find the Position/Location of Each Occurrence of a Specific Word in a String in a Column

使用 MS Excel 公式,我想找到位于 Range/Column 个单元格中的文本字符串中找到的特定单词的位置。

我使用的公式仅通过单个单元格与列来识别和查找关键字的位置。我无法通过查看整个列单元格来重复此操作,使用我的数字辅助列(Cell D2:D12“Occurrence”)提供要找到的下一个位置的出现。

如有必要,欢迎使用辅助列来实现预期结果。

以“红色”突出显示的单元格是我要查找的最终输出结果。

C 列和 D 列使用的公式见下文。文本字符串位于 A2:A12 列。

A 列 数据文本
多莉不会数她的鸡蛋,但会数她的苹果
托尼开着皮卡上班
许多个晚上他无法入睡
仅此而已
她去接儿子
很多次他都会数过
他们去买圣诞礼物
你可以算他去接人
他们数得太多以至于他们会睡在他的皮卡车里
没有人会和蒂米一起玩
试图找到每个单词的位置

B 列 关键字列表
脚趾
鞋子
计数
南瓜
皮卡
兰迪
莎莉
睡觉
乔纳森

C2:=SUMPRODUCT((LEN($A:$A)-LEN(SUBSTITUTE((UPPER($A:$A)),UPPER(B2),"")))/LEN(B2))
D2&E2:=FILTER(B2:C10,C2:C10>0)
F2: =IF(E2="","",REPT(D2&"^",E2))
G2:=TEXTJOIN("",TRUE,F2:F4)
H2:=TRIM(MID(SUBSTITUTE($G,"^",REPT(" ",LEN($G))),(COUNTIF($H:H1,"<>&""")-1)*LEN($G)+1,LEN($G)))
I2: =IF(H2="","",IF(COUNTIF($H:H2,H2)>1,SUM(I1+1),1))

试试下面的图片设置和公式解决方案。

1] C2 “总出现次数”,公式复制下来:

=SUMPRODUCT(LEN($A:$A)-LEN(SUBSTITUTE(LOWER($A:$A),LOWER(B2),"")))/LEN(B2)

2] D2“计数”,公式复制到 F2“睡眠”并全部复制下来:

=SUMPRODUCT(LEN($A2)-LEN(SUBSTITUTE(LOWER($A2),LOWER(D),"")))/LEN(D)

3] G2 “关键字”,公式复制下来:

=LOOKUP(ROW(A1),SUMIF(OFFSET(C,,,ROW(:),),"<>")+1,B:B)&""

4] H2 "出现次数",公式复制下来:

=IF(G2="","",COUNTIF(G:G2,G2))

5] I2“内容关键字数据文本”,公式复制下来:

=IF(G2="","",LOOKUP(H2,SUMIF(OFFSET(INDEX(:,MATCH(G2,:,0)),,,ROW(:),),"<>")+1,$A:$A))

6] J2“位置”,公式复制下来:

=IF(G2="","",FIND("~",SUBSTITUTE(LOWER(I2),LOWER(G2),"~",COUNTIFS(G:G2,G2,I:I2,I2))))