首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在特定关键字范围内计算Excel中的关键字数

在特定关键字范围内计算Excel中的关键字数
EN

Stack Overflow用户
提问于 2022-09-27 14:18:22
回答 2查看 55关注 0票数 1

我知道如何在Excel中计算一系列关键字。我用这个公式:

代码语言:javascript
复制
=SUMPRODUCT(--ISNUMBER(SEARCH($CE$2:$CE$43,(G2:AP2))))

但是,如果我想计算所选行中仅存在于+/-3单词中的“危险”的关键字的数量,Excel公式将是什么?

考虑这句话:“政治不确定性产生的经济风险使经济活动停滞。”如果我的关键字是politicaluncertaintystagnateseconomic,那么" risk“周围+/- 3个单词内的关键字总数将为4,即uncertaintystagnateseconomic。“经济”在句子中出现了两次。political将被排除在外,因为它超出了范围。

EN

回答 2

Stack Overflow用户

发布于 2022-09-27 15:23:27

你可以试试:

E1中的公式

代码语言:javascript
复制
=SUM(--ISNUMBER(MATCH(FILTERXML("<t><s>"&SUBSTITUTE("a a a "&A1," ","</s><s>")&"</s></t>","//s[following::s[4]='risk']/following::*[position()<8]")&"*",C1:C4,0)))

这样做的目的是:

  • "<t><s>"&SUBSTITUTE("a a a "&A1," ","</s><s>")&"</s></t>" -创建一个使用XPath1.0处理的有效xml-一个有效的XPath1.0表达式,仅检索中间有
    • "<t><s>"&SUBSTITUTE("a a a "&A1," ","</s><s>")&"</s></t>"的多达七个节点。更详细的是://s[following::s[4]='risk']将得到一个节点,其右边的4个索引上的以下同级将等于risk (区分大小写),然后我们从/following::*位置获取所有的兄弟姐妹,在该位置上,我们将返回的节点限制在使用[position()<8]的最大7个节点。现在,我们为什么将a a a与来自A1的字符串连接起来也是有意义的,因为risk可能出现在字符串的开头,或者少于三个单词,那么risk将检查返回的节点是否使用通配符以C1:C4中的任何单词开头。这是为了防止可能出现的标点符号,以避免matching;
    • SUM()ISNUMBER()加上双一元,最后进行点击数之和。

注:,答案不是3,而是 4!因为“经济”会被计算两次。

票数 1
EN

Stack Overflow用户

发布于 2022-09-27 15:15:43

如果最近发布的Microsoft-365版本,您可以尝试以下公式。

代码语言:javascript
复制
=LET(x,TOCOL(TEXTSPLIT(A1," ")),y,MATCH("risk",x,0),z,INDEX(x,SEQUENCE(y+2,1,y-3)),COUNT(XMATCH(D1:D4,z,0)))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73869149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档