【问题标题】:Excel: Find the Position/Location of Each Occurrence of a Specific Word in a String in a ColumnExcel:查找特定单词在列中的字符串中每次出现的位置/位置
【发布时间】:2020-12-27 02:01:11
【问题描述】:

使用 MS Excel 公式,我想在单元格区域/列中的文本字符串中找到特定单词的位置/位置。

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

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

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

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

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

B 栏 关键字列表
脚趾

计数
南瓜
取货
兰迪
莎莉
睡觉
乔纳森

C2:=SUMPRODUCT((LEN($A$2:$A$12)-LEN(SUBSTITUTE((UPPER($A$2:$A$12)),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$2,"^",REPT(" ",LEN($G$2))),(COUNTIF($H$1:H1,"<>&""")-1)*LEN($G$2)+1,LEN($G$2)))
I2: =IF(H2="","",IF(COUNTIF($H$2:H2,H2)>1,SUM(I1+1),1))

【问题讨论】:

  • 您能分享CD 列中的公式吗?
  • 我不知道如何使用公式。我只能在 VBA 中做到这一点。我需要关键字列和数据文本列来创建另外三个列。当您添加或删除关键字或添加/删除数据文本时,三列中的数据将得到更新。如果您对此感兴趣,请确认或将VBA 标签添加到您的问题中。否则就忽略。
  • 您好 VBasic2008,感谢您的帮助,我已经提供了更多信息,其中包含到目前为止我用来实现的公式。我的项目的最终最终解决方案是允许excel根据每个单元格内容中多个关键字的相对位置和位置,按找到关键字的列和行来识别和提取文本字符串中的特定关键字。如果可能的话,我更喜欢 Excel 公式而不是 VBA

标签: excel-formula position multiple-columns


【解决方案1】:

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

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

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

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

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

3]G2“关键词”,公式抄下来:

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

4]H2“发生”,公式复制下来:

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

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

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

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

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

【讨论】:

  • 您好 Bosco_Yip,非常感谢您提供的公式改进,以获得为每行查找位置的实际结果,再次感谢您,它有效...我非常感谢您在考虑到这项艰巨的任务......
猜你喜欢
  • 2019-05-31
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多