CODE 是 Excel 中用来返回文本字符串第一个字符对应的 ANSI(Windows 代码页)数值的内置函数。
• 对于英文字母、数字和常见符号, CODE返回的数值与其 ASCII 码 完全相同。• 对于中文、日文等多字节字符(DBCS), CODE会返回 双字节编码的数值(范围 256‑65535),在中文简体环境下对应 GBK 代码页 936。• 该函数常被用于 字符‑数字互转、字符分类、统计字符出现规律 等场景,尤其在需要快速获取“首字符编码”时十分便捷。
语法
=CODE(text)| text |
• 返回类型:数值(整数)。 • 异常:若 text为空或非文本类型,函数返回#VALUE!错误。
示例(均基于提供的 20 行业务数据)
为方便演示,假设 D 列 为“月份”列,示例中的单元格位置均对应 Excel 工作表中的实际行号。
示例 1:提取月份首字符的 ANSI 代码
=CODE(D2)• 结果:对于第 2 行( 1月),CODE返回 49,即字符"1"的 ASCII 码。• 说明:因为月份采用“数字 + ‘月’”的形式, CODE能够直接捕获前面的数字字符。此时 49 代表“1”,50 代表“2”,51 代表“3”,52 代表“4”。• 扩展:可以在公式栏直接拖动,查看每行的代码值:

示例 2:将代码转换为实际月份数字并计算季度
2.1 获得月份数值
=CODE(D2)-48• 原理:ASCII 码中 "0"为 48,故CODE结果减去 48 即得到对应的数字。• 结果:第 2 行得到 1(1月),第 3 行得到 2(2月),以此类推。
2.2 根据月份数值划分季度
=INT((CODE(D2)-48-1)/3)+1• 逻辑:季度 = INT((月份-1)/3)+1。

该公式结合了
CODE、INT与算术运算,展示了 字符 → 数字 → 业务指标 的完整链条。
示例 3:统计各月份出现次数(利用 CODE 过滤)
=SUMPRODUCT((CODE(D$2:D$21)=49)*1)• 功能:统计“月份”列中首字符代码为 49(即“1 月”)的行数。 • 结果:在示例数据中,1 月出现 6 次。 • 扩展:只需将代码 49 改为 50、51、52,即可得到 2 月、3 月、4 月的出现次数:
若希望用
COUNTIF完成相同统计,可直接使用=COUNTIF(D:D,"1月"),但SUMPRODUCT+CODE的组合在需要 基于字符编码进行复杂过滤 时更为灵活。
小技巧:代码映射回月份文字
=VLOOKUP(CODE(D2),{49,"1月";50,"2月";51,"3月";52,"4月"},2,TRUE)• 作用:把 CODE 计算得到的数值再映射回对应的中文月份。 • 适用场景:当数据源只保留编码,而需要在报表中显示文字时,可直接使用此数组公式。
常见错误
#VALUE! | text | TEXT() 将数值转为文本。 |
#REF! | CODE 用在 数组公式 的错误范围 | $)时范围完整。 |
| 结果与预期不符 | UNICODE 函数)再进行比较。 |
小结
• CODE是 “字符 → 数字” 的桥梁,能够快速获取任意文本首字符的 ANSI/GBK 编码。• 结合 算术运算(如 -48)或 逻辑函数(IF、SUMPRODUCT),可以在 数据清洗、月份归类、统计计数 等实际业务场景中发挥巨大作用。• 需注意 空值 与 多字节字符在不同代码页下的差异,以免出现 #VALUE!或结果偏差。• CODE与CHAR(逆函数)常成对使用,实现 字符 ↔︎ 代码 的互相转换,是 Excel 文本处理的利器。
📚 配套学习资料免费领评论回复:CODE点击公众号菜单「函数教程」,获取教程。
夜雨聆风