如何根据F列值为G列匹配赋值?(A=Yes、B=No、C=Maybe)
嘿,这个需求其实挺常见的,我给你几个简单好用的实现方法,挑你顺手的来就行:
方法1:嵌套IF函数(兼容所有Excel版本)
如果你用的是比较旧的Excel版本,嵌套IF是最稳妥的选择,兼容性拉满。在G1单元格输入下面的公式,然后下拉填充到整列就行:
=IF(F1="A","Yes",IF(F1="B","No",IF(F1="C","Maybe","")))
- 逻辑很直白:先判断F1是否等于"A",是的话输出"Yes";
- 如果不是,继续判断是否等于"B",输出"No";
- 再不是的话判断是否等于"C",输出"Maybe";
- 最后的
""是当F列出现A/B/C之外的值时的默认输出,你可以改成"未匹配"这类自定义文本。
方法2:SWITCH函数(适合Excel 2019及以后/365)
要是你用的是新版Excel,SWITCH函数会让公式更简洁易读,不用一层层嵌套IF。公式如下:
=SWITCH(F1,"A","Yes","B","No","C","Maybe","")
- SWITCH的语法是
=SWITCH(要判断的单元格, 匹配值1, 结果1, 匹配值2, 结果2, ..., 默认值) - 这个写法比嵌套IF清爽太多,后期维护起来也方便,一眼就能看懂对应关系。
方法3:对照表+查找函数(适合需频繁修改规则的场景)
如果以后你可能经常调整A/B/C对应的输出值,或者需要匹配的规则越来越多,建议用对照表+查找函数的方式:
- 先在表格的空白区域(比如I1:J3)做一个匹配对照表:
I列 J列 A Yes B No C Maybe - 然后在G1单元格用VLOOKUP:
或者用INDEX+MATCH(很多人觉得这个组合比VLOOKUP更灵活):=VLOOKUP(F1,$I$1:$J$3,2,FALSE)=INDEX($J$1:$J$3,MATCH(F1,$I$1:$I$3,0))
- 好处是以后要改规则,直接修改对照表的内容就行,不用动G列的公式,特别适合数据量大的情况。
内容的提问来源于stack exchange,提问作者Abdul aziz
相关产品推荐
相关产品推荐

