[英]Formula for excel
请帮助我,找到一个excel公式,该公式将接受文本中的所有单词(例如,来自A列的文本),并给出文本中的所有单词,而无需在B列中重复。
例如,
A栏
文本
尽管简单是一种优点,但有关教学法的理论如果是黑白的,则在实践中不起作用。 说最好的教学方法只是称赞积极的行为而忽略消极的行为,就像说草莓可以减少患癌的风险,因此人们应该从饮食中切苹果,只吃草莓。 在这两种情况下,都不必选择。
B栏-文字词
虽然
简单
是
一种
美德,
理论
关于
教育学
做
不
工作
在
实践
如果
他们
是
黑色
和
白色。
至
说
那
该
最好
方式
至
教导
是
只要
至
赞美
正
行动
和
至
忽视
负
那些
是
喜欢
话
那
草莓
降低
那些
风险
对于
癌症
所以
人
应该
切
苹果
出
的
其
饮食
和
只要
吃
草莓。
在
都
的情况下,
那里
不
不
有
至
是
一种
选择。
对于单个公式来说,这是一件相当复杂的事情……这是一种方法……
第1部分 :将文本拆分为单个单词:
=SUBSTITUTE(A1,",","")
....删除逗号 =SUBSTITUTE(A3,".","")
....删除句点(对于您可能拥有的其他标点重复此步骤 0
=FIND(" ",$A$5,A8+1)
....在上面的单元格指示的位置之后,在$ A $ 5中找到第一个空格....向下复制该公式,直到获得第一个#VALUE
错误 =MID($A$5,A8+1,A9-A8-1)
....提取上一个与该空白位置之间的单词....向下复制该公式,直到出现第一个#VALUE
错误 当您对拆分列表满意时,将列表复制/粘贴为值并做一些标题
第2部分 :查找唯一词:
您需要找到每个唯一单词一次。 严格没有VBA的方法将包括以下内容:
=IF(B8=B7,C7+1,1)
并向下复制到列表末尾...您创建了一个“运行数字,从1开始,只要单词保持不变,就继续递增 您可以通过对A列中的数值进行排序来恢复结果的原始排序顺序。
如您在单词“ in”,“ to”的示例中所见,此方法不区分大小写。 局限性是“一个”和“一个”之间可能的错误分隔……这需要确定。
您可以尝试以下公式:
=TRIM(MID(SUBSTITUTE($A$1;" ";REPT(" ";LEN($A$1)));1+(ROW(A1)-1)*LEN($A$1);LEN($A$1)))
假设在A1中进行测试,在B1中编写公式,然后向下抄写直到得到最后一个单词
根据您的区域设置,您可能需要替换“;” 通过“,”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.