Excel:对于单元格,计算使用单词的列中使用的单词数

时间:2015-05-27 16:54:26

标签: excel vlookup

目标:搜索带有句子

的单元格中是否存在来自列(带有列表或单词)的单词

说明的: 我有两列,说A每个单元格包含一个句子。 B列包含每个单元格一个字的列表。对于A列中的每个单元格,我想知道列B中列表中是否使用了单词。

我想要两种不同的输出:

1)在C栏中,返回A栏中单元格中句子中B列使用的单词数。比如,在单元格C2中,返回B列中使用的单词数在单元格A2的句子中。

例如,如果B列中的单词列表包含:

B2:猴子

B3:驴

B4:长颈鹿

B5:大象

细胞A2中的句子说:“猴子和大象都在行走”然后我想在C2单元格中返回数字“2”。

2)在D列中直到Z?我想返回使用的单词。因此,在上述示例的情况下,我想在单元格中返回:

D2:猴子

E2:大象

希望有人可以帮助我!

1 个答案:

答案 0 :(得分:0)

这是第一部分:

试试这个小 UDF()

Public Function WordCount(r1 As Range, r2 As Range) As Long
   ary = Split(r1.Text, " ")
   bry = r2.Value
   For Each a In ary
      For Each b In bry
         If a = b Then WordCount = WordCount + 1
      Next b
   Next a
End Function

enter image description here

用户定义函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开了一个新模块
  3. 粘贴内容并关闭VBE窗口
  4. 如果保存工作簿,UDF将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除UDF:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 从Excel使用UDF:

      = myfunction的(A1)

      要了解有关宏的更多信息,请参阅:

      http://www.mvps.org/dmcritchie/excel/getstarted.htm

      http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

      有关UDF的详细信息,请参阅:

      http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

      必须启用宏才能使其生效!