让 ChatGPT 写公式,先给它准确的表格结构
想让 ChatGPT 帮你写 Excel 公式,先说明列名、数据起止单元格、条件和结果放在哪里。只说“统计完成数量”,模型可能把整列、表头或别的状态也算进去,公式看起来能运行却回答了另一个问题。
本文只演示单条件计数COUNTIF,不需要把真实文件上传。任务记录为本站自拟,参考公式与逐行计数由编辑人工核对;本文没有在Excel客户端实际执行,也不是模型实测截图。不同语言和地区设置下,参数分隔符可能需要按本机调整。

准备五条能手工数清楚的记录
A1为任务名称,B1为状态;本例范围是B2:B6,结果放D2。数据为:A2资料整理,B2已完成;A3校对通知,B3待处理;A4核对清单,B4已完成;A5确认场地,B5为空白;A6准备样稿,B6处理中。
需求是“状态等于已完成的单元格有几个”,不是总任务数、完成百分比或包含“完成”二字的任何文本。五行中只有B2与B4符合,所以人工参考结果是2。
表头不参与计数,空白没有被假定为待处理。这些约定需要一起告诉模型;以后改变口径时,应先改需求,再改公式。
给一条包含输入与输出位置的提示词
可以这样提问:“我用Excel,B1是状态表头,数据在B2:B6。请给出放入D2的公式,只计数文本等于‘已完成’的单元格。先解释参数,再给我人工核对方式,不用宏或脚本。”下方模板已包含完整练习材料。
如果不知道自己使用的是Excel还是其他表格软件,先确认应用。不要把另一个工具的函数用法直接照抄,也不要让模型为缺失的列名和数据范围猜答案。
参考公式与两个参数
本例参考公式为 =COUNTIF(B2:B6,"已完成") 。B2:B6是需要检查的范围;引号中的文本是条件。把它写入D2时,D2不在被统计的范围中。
微软官方文档将COUNTIF用于按一个条件统计单元格;多个条件需要另查适合的函数与范围规则。本文只处理当前这个明确条件,不把不同任务的需求混成一条公式。
如果回答给出 =COUNTIF(B:B,"已完成") ,它统计整列,可能包含你以后添加的记录。并非任何情况下都不能用整列,但它与本例“只统计B2:B6”的约定不同,应要求回到指定范围。
用逐行核对验证结果
拿到公式后先手工检查五个单元格:B2符合,B3不符合,B4符合,B5空白不符合,B6不符合,因此参考结果2。再在你自己的Excel里输入公式,比较实际显示是否一致。
如果结果不同,先检查实际单元格是否真在B2:B6,是否把参考数据复制到了别的列,以及条件文本是否与数据一致。不要直接认定模型公式错误,也不要仅因显示一个数字就认定统计正确。
空格、别名和新行都可能改变口径
真实数据可能有“完成”“已完成 ”或其他标签。它们是否应算同一状态,是数据规则问题。微软文档提示前后空格等问题可能导致文本条件统计出现意外结果;应先查看并按约定清理,不能为了让结果等于预期而随意放宽条件。
如果使用星号条件来匹配包含某个词的文本,统计规则也会改变。比如“未完成”同样含有“完成”,不能在未确认含义时把包含匹配当成完成状态判断。
新增第7行以后,B2:B6不会包含它。若今后需要自动扩展统计范围,可以另外了解表格和结构化引用;当前先显式调整范围并重新核对,不把原公式当作永远适用。
需求变化时重新说明,而不是只改一个词
想统计“已完成且负责人是小林”,已经变成多个条件,不应期待当前单条件公式直接解决。先告诉模型负责人在哪列、两个范围的起止位置和条件关系,再核对新的函数说明。
想计算完成比例,则要先说明分母是所有任务、非空状态还是已分配任务。B5空白是否计入分母会影响结果。本文的2只是符合条件的数量,不能直接写成2%的完成率。
报错和异常结果要分开处理
公式报错时,提供错误代码、公式文本、应用名称与本机分隔符情况;不要提供不必要的业务数据。公式没有报错但数字不对时,优先提供去敏后的几行样例和人工预期结果,让模型解释是哪条记录被计入或排除。
不要照着回答启用未知宏、运行脚本或更改整份原始表。本例只需要普通单元格公式;先在副本或小样本中验证,再用于实际统计。核心检查顺序是范围正确、条件正确、结果与逐行核对一致。
