繁体   English   中英

Excel的公式

[英]Formula for excel

请帮助我,找到一个excel公式,该公式将接受文本中的所有单词(例如,来自A列的文本),并给出文本中的所有单词,而无需在B列中重复。

例如,

A栏
文本

尽管简单是一种优点,但有关教学法的理论如果是黑白的,则在实践中不起作用。 说最好的教学方法只是称赞积极的行为而忽略消极的行为,就像说草莓可以减少患癌的风险,因此人们应该从饮食中切苹果,只吃草莓。 在这两种情况下,都不必选择。

B栏-文字词

虽然
简单

一种
美德,
理论
关于
教育学


工作

实践
如果
他们

黑色

白色。




最好
方式

教导

只要

赞美

行动


忽视

那些

喜欢


草莓
降低
那些
风险
对于
癌症
所以

应该

苹果



饮食

只要

草莓。


的情况下,
那里





一种
选择。

对于单个公式来说,这是一件相当复杂的事情……这是一种方法……

第1部分 :将文本拆分为单个单词:

  • A1:您的文字
  • A3: =SUBSTITUTE(A1,",","") ....删除逗号
  • A5 = =SUBSTITUTE(A3,".","") ....删除句点(对于您可能拥有的其他标点重复此步骤
  • A8:常数0
  • A9: =FIND(" ",$A$5,A8+1) ....在上面的单元格指示的位置之后,在$ A $ 5中找到第一个空格....向下复制该公式,直到获得第一个#VALUE错误
  • B9: =MID($A$5,A8+1,A9-A8-1) ....提取上一个与该空白位置之间的单词....向下复制该公式,直到出现第一个#VALUE错误

当您对拆分列表满意时,将列表复制/粘贴为值并做一些标题

在此处输入图片说明

第2部分 :查找唯一词:

您需要找到每个唯一单词一次。 严格没有VBA的方法将包括以下内容:

  • 将B列中的文本升序排列
  • 在C8中输入: =IF(B8=B7,C7+1,1)并向下复制到列表末尾...您创建了一个“运行数字,从1开始,只要单词保持不变,就继续递增
  • 自动过滤列C的值= 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM