Excel中多字符串单元格匹配另一表格生成Y/N结果的实现方法
Excel 批量判断多颜色单元格的Y/N结果
需求说明
第一个表格的「颜色」列单元格包含多个以逗号分隔的颜色值,需根据第二个表格的颜色对应Y/N规则生成「结果」:
- 只要该行任意颜色对应Y,「结果」为Y
- 若所有颜色均对应N,「结果」为N
初始待处理表
| 颜色 | 结果 |
|---|---|
| Blue, Green, Yellow | ? |
| Yellow, Red | ? |
| Red, Blue | ? |
| Red, Green | ? |
颜色对应规则表
| 颜色 | Y/N |
|---|---|
| Blue | Y |
| Yellow | Y |
| Red | N |
| Green | N |
预期输出结果
| 颜色 | 结果 |
|---|---|
| Blue, Green, Yellow | Y |
| Yellow, Red | Y |
| Red, Blue | Y |
| Red, Green | N |
示例说明:第一行中尽管Green对应N,但Blue和Yellow对应Y,因此结果为Y
解法(Excel公式实现)
假设待处理表的颜色列在A2:A5,颜色对应规则表的颜色列在D2:D5、Y/N列在E2:E5,根据Excel版本选择对应公式:
兼容旧版Excel(需按Ctrl+Shift+Enter确认数组公式)
=IF(SUM(--ISNUMBER(MATCH(TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",LEN(A2))),ROW(INDIRECT("1:"&LEN(A2)-LEN(SUBSTITUTE(A2,",",""))+1))*LEN(A2)-LEN(A2)+1,LEN(A2))),$D$2:$D$5,0)*($E$2:$E$5="Y"))>0,"Y","N")
Excel 365/2021及以上(动态数组公式,直接回车即可)
=IF(OR(XLOOKUP(TEXTSPLIT(A2,", "),$D$2:$D$5,$E$2:$E$5,"")="Y"),"Y","N")
内容的提问来源于stack exchange,提问作者C W
相关产品推荐
相关产品推荐

