Excel 在一个单元格中搜索多个单词

Excel 在一个单元格中搜索多个单词,excel,search,full-text-search,multiple-columns,Excel,Search,Full Text Search,Multiple Columns,我有一份患者名单,上面列出了他们进行的所有手术的代码,例如K567,H765,Y234。我想在程序列(J)中的所有单元格中同时搜索两个不同的程序。因此,对于上面的示例,如果它同时具有K567和H765,我希望将整行复制到另一个电子表格中。乙二醇 patient number- admission date- diagnosis- procedure code 1- 1/1/14- K47- K567,H763,Y239,Y876

我有一份患者名单,上面列出了他们进行的所有手术的代码,例如
K567
H765
Y234
。我想在程序列(J)中的所有单元格中同时搜索两个不同的程序。因此,对于上面的示例,如果它同时具有
K567
H765
,我希望将整行复制到另一个电子表格中。乙二醇

patient number- admission date- diagnosis- procedure code 1- 1/1/14- K47- K567,H763,Y239,Y876 2- 1/1/14- K47- K567,H769,Y233,Y874 3- 1/1/14- K47- K567,H761,Y231,Y874 4- 1/1/14- K47- K567,H765,Y239,Y876 5- 1/1/14- K47- K567,H765,Y233,Y876 我有4000个病人要处理

使事情复杂化的是,我有一系列代码,所以我不想要
Y874
K567
,而是想要
Y871
Y872
Y873
Y874
Y875
Y876
K567


如果这是不可能的,任何变化,使我的生活更容易将不胜感激

看这张图片,为了清晰起见,我在同一张工作表中做了

要查找的程序代码位于F1:F2中

在G2中写入数组公式(Ctrl-Shift-Enter输入此公式):

把这个公式复制下来,直到你确定它能覆盖尽可能多的匹配

现在在H2中写出公式:

=IF($G2="";"";INDEX(A$2:A$6;$G2))
将配方复制到K2,然后随意向下(就像第一个配方一样)


根据您的区域设置,您可能需要替换字段分隔符“;”by“,”

使用正则表达式(Regex)的Vba用户定义函数将允许您执行此操作,只需将Regex模式设置为类似于字母数字。然后你可以寻找匹配的。计数>1

编辑——否决这一回应的人——你愿意解释一下原因吗?没有解释的简单的否决投票无助于找到问题的最佳解决方案

=IFERROR(SMALL(IF(ISNUMBER(SEARCH($F$1;$D$2:$D$6))+ISNUMBER(SEARCH($F$2;$D$2:$D$6))>1;ROW($A$2:$A$6)-ROW($A$2)+1;"");ROWS($A$2:A2));"")
=IF($G2="";"";INDEX(A$2:A$6;$G2))