对A列进行查找,条件为B列,如果单元格中含B列内容,则C列返回B列内容,而不是A列内容,重复内容都返回?

A列为导出的医嘱内容,B列为高危药品,对A列进行查找,只要含有高危药品(B列)就在C列中返回该高危药品名称,A列每个单元格含多个药品,每个高危药品都需要返回到C列。 如图所示:

对A列进行查找,条件为B列,如果单元格中含B列内容,则C列返回B列内容,而不是A列内容。

如果B2单元格在A2单元格有则返回B2单元格,否则返回空值,那么公式如下:

=IF(IFERROR(FIND(B2,A2),0)>0,B2,"")

公式及效果图

注:建议在截图中把最终结果也一并标记出来。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-01

用公式的话,Excel的版本需要2019或Office365,如图,只模拟了3行数据(加标题行共4行),请自己根据实际数据修改公式。

C2==TEXTJOIN(CHAR(10),,IF(ISNUMBER(FIND(B$2:B$4,A2)),B$2:B$4,""))

同时按Ctrl+Shift+Enter三键 输入数组公式,下拉

追问

有没有适合低版本office的公式?

追答

非常遗憾,低版本貌似没有直接得到结果的公式。只有在右侧多列中得出可能 的数据后,再合并这些列。

第2个回答  2020-09-02
C2公式为:
=LOOKUP(1,0/ISNUMBER(FIND(B$2:B$30)),B$2:B$30)
复制并下拉即可。
公式中举例B列数据是到30行的,你可以根据实际调整这个30。若A列中同时包含B列多个词,以后面的词优先提取的
第3个回答  2020-09-02
在C2中输入或复制粘贴下列公式
=IFERROR(LOOKUP(1,0/FIND(B$2:B$100,A2),B$2:B$100),"")
下拉填充

公式假设高危药品在B2:B100,可根据实际情况调整其范围。
相似回答