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))