在 Excel 中的 2 列之间提取部分匹配字符串(单词)
Posted
技术标签:
【中文标题】在 Excel 中的 2 列之间提取部分匹配字符串(单词)【英文标题】:Extract partial matches string(words) between 2 columns in Excel 【发布时间】:2018-03-07 02:56:44 【问题描述】:我有两列,如下所示,我需要提取在两列之间匹配的部分单词并将其放在第三列中。
Name1 Name2
RED CURRY CHICKEN GREEN CURRY CHICKEN
BEEF WITH MINT LEAVES BEEF WITH BASIL LEAVES
SWEET AND SOUND PORK BACON AND EGG
FRIED RICE FRIED RICE
我的预期结果
Name1 Name2 Partial Matches
RED CURRY CHICKEN GREEN CURRY CHICKEN CHICKEN
BEEF WITH MINT LEAVES BEEF WITH BASIL LEAVES BEEF WITH LEAVES
SWEET AND SOUND PORK BACON AND EGG AND
FRIED RICE FRIED RICE FRIED RICE
【问题讨论】:
用公式来做这个是低效的;子过程或用户定义的函数需要 vba。 在您的第一行预期结果中,为什么 CURRY 不是部分匹配? 抱歉输入错误,是的,CURRY 应该出现在结果中 【参考方案1】:用公式来做到这一点是低效的;子过程或用户定义的函数需要 vba。
Function friedRice(str1 As String, str2 As String)
Dim w As Long, words As Variant, tmp As String
words = Split(str1, Chr(32))
For w = LBound(words) To UBound(words)
If Not IsError(Application.Match(words(w), Split(str2, Chr(32)), 0)) Then
tmp = tmp & Chr(32) & words(w)
End If
Next w
friedRice = Trim(tmp)
End Function
【讨论】:
以上是关于在 Excel 中的 2 列之间提取部分匹配字符串(单词)的主要内容,如果未能解决你的问题,请参考以下文章