目标:搜索带有句子
的单元格中是否存在来自列(带有列表或单词)的单词说明的: 我有两列,说A每个单元格包含一个句子。 B列包含每个单元格一个字的列表。对于A列中的每个单元格,我想知道列B中列表中是否使用了单词。
我想要两种不同的输出:
1)在C栏中,返回A栏中单元格中句子中B列使用的单词数。比如,在单元格C2中,返回B列中使用的单词数在单元格A2的句子中。
例如,如果B列中的单词列表包含:
B2:猴子
B3:驴
B4:长颈鹿
B5:大象
细胞A2中的句子说:“猴子和大象都在行走”然后我想在C2单元格中返回数字“2”。
2)在D列中直到Z?我想返回使用的单词。因此,在上述示例的情况下,我想在单元格中返回:
D2:猴子
E2:大象
希望有人可以帮助我!
答案 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
用户定义函数(UDF)非常易于安装和使用:
如果保存工作簿,UDF将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx
删除UDF:
从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
必须启用宏才能使其生效!