如何在Excel中从单元格区域的酒名列表提取指定葡萄酒品种
提取葡萄酒品种的Excel解决方案
适用Excel 365/2021及以上版本:XLOOKUP组合公式
- 先把8种目标葡萄酒品种(shiraz、rosé、chardonnay等)整理到一个固定区域,比如
$G$2:$G$9(G列第2到第9行) - 在需要返回品种的单元格(比如对应A2酒名的B2)输入以下公式,下拉填充即可:
=XLOOKUP(TRUE,ISNUMBER(SEARCH($G$2:$G$9,A2)),$G$2:$G$9,"无匹配品种") - 逻辑说明:
SEARCH($G$2:$G$9,A2):逐个检查品种列表里的关键词是否出现在酒名中,返回匹配位置或错误值ISNUMBER(...):将匹配结果转换为布尔值(匹配为TRUE,不匹配为FALSE)XLOOKUP:定位第一个TRUE对应的品种并返回,无匹配时显示“无匹配品种”
兼容旧版Excel:INDEX+MATCH数组公式
如果你的Excel版本不支持XLOOKUP,用这个替代方案:
=IFERROR(INDEX($G$2:$G$9,MATCH(TRUE,ISNUMBER(SEARCH($G$2:$G$9,A2)),0)),"无匹配品种")
- 注意:旧版Excel输入后需按
Ctrl+Shift+Enter触发数组运算,新版Excel直接回车即可
进阶需求:提取多个匹配品种
如果部分酒名包含多个目标品种(比如“Shiraz Cabernet”),用以下公式返回所有匹配品种(用逗号分隔):
=TEXTJOIN(", ",TRUE,IF(ISNUMBER(SEARCH($G$2:$G$9,A2)),$G$2:$G$9,""))
注意事项
- 确保品种列表的拼写完全准确,包括特殊字符(比如
rosé的重音符号) SEARCH函数不区分大小写,能匹配Shiraz、SHIRAZ等不同大小写的写法;若需要严格区分大小写,替换为FIND函数
内容的提问来源于stack exchange,提问作者Russell Manning
相关产品推荐
相关产品推荐

