excel嵌套if出问题,先分清楚是公式输不进去、弹出错误值,还是算出来的结果不符合预期规则。输不进去先查括号和分隔符,出#name?就查函数名和文本的引号,分档结果不对再核对条件顺序和原始数据类型。这次从没加引号的文本结果入手,再用高分被低档条件拦截的反例排查,先在副本里改一个单元格验证,没问题了再批量填充,别直接套iferror把真错误全改成空白藏起来。
出现 #NAME?,先检查文本有没有引号
C2写成 =IF(B2>=60,通过,重修),B2为65时返回#NAME?,因为“通过”没作为文本加双引号,会被系统当成未定义名称。先核对函数拼写与名称,别一看到报错就乱改条件阈值,这里的通过、重修都是要输出的文字结果。

先修成完整IF,再向内检查每层括号
C2改成 =IF(B2>=60,"通过","重修"),就能正常得到“通过”结果。要是公式根本输不进去,就检查每个IF是不是都写全了条件、成立结果、不成立结果,英文半角引号和分隔符有没有配对,这里用逗号做分隔符,实际分隔符也受系统区域设置影响,别直接把中文标点粘进去。

结果不对也可能没有报错,先查顺序
拿高分场景举例,B2为92,C2如果输入 =IF(B2>=60,"合格",IF(B2>=90,"优秀","待提升")),最后会返回合格。第一层大于等于60的条件已经触发成立,后面大于等于90的条件根本不会处理这条记录的分档,这不是括号写错,也不是软件算错,得把高分档的判断放在前面。
把记录数组导出为带样式的 Excel(xlsx) 或带 BOM 的 CSV。支持列配置(表头/宽度/顺序)、表头冻结首行、斑马纹、布尔值转「是/否」、数组换行、CSV 中文防乱码。零依赖。触发词:导出 Excel、导出 CSV、记录转表格、列配置导出、数据导出、表格美化、JSON 转表格。

类型用ISNUMBER检查,别只改显示格式
遇到看起来是数字但判断结果异常的情况,D2输入 =ISNUMBER(B2)。B2里的92实际存为文本格式,返回结果是FALSE,先保留原始值,在辅助E2用 =VALUE(B2)尝试转成数值,转换成功且数值含义正确后再粘贴为值。带多余单位、空格或无效内容的先清理干净,别把转换失败的结果强行改成0。

按正确顺序重算,再核对临界值
确认B列已为有效数值,C2输入 =IF(B2>=90,"优秀",IF(B2>=60,"合格","待提升")),92返回优秀,60返回合格,59返回待提升。向下填充后核对行引用随对应记录正常变化,保留正常的错误提示方便后续继续排查,别把公式报错和业务未达标混为一类,最后保存IF排错.xlsx即可。










