ZetCode

Excel CHAR 和 CODE 函数

最后修改于 2025 年 4 月 4 日

CHARCODE 函数是 Excel 中必不可少的文本函数,用于处理字符编码。CHAR 根据给定的 ASCII 码返回字符,而 CODE 则执行相反的操作。本教程提供了使用这些函数的全面指南,并附有详细示例。您将学习它们的语法、实际应用和高级技巧。

CHAR 和 CODE 函数基础

CHAR 函数返回 ASCII 字符集中由数字指定的字符。CODE 函数返回文本字符串第一个字符的数字 ASCII 码。

函数 描述 语法
CHAR 返回 ASCII 码对应的字符 =CHAR(number)
CODE 返回字符对应的 ASCII 码 =CODE(text)

此表显示了两个函数的基本特性。CHAR 接受一个数字 (1-255) 并返回相应的字符。CODE 接受一个文本字符串并返回其第一个字符的代码。

CHAR 函数基本示例

此示例演示了 CHAR 函数最简单的用法,即返回常用字符。

CHAR 函数基本公式
=CHAR(65)

此公式返回大写字母 "A",其 ASCII 码为 65。当您知道 ASCII 码时,CHAR 函数对于生成特定字符非常有用。

CODE 函数基本示例

此示例展示了如何使用 CODE 函数查找字符的 ASCII 码。

CODE 函数基本公式
=CODE("A")

此公式返回 65,即大写字母 "A" 的 ASCII 码。CODE 只查看输入字符串的第一个字符,这使得它在分析单个字符时很有用。

生成特殊字符

CHAR 通常用于插入键盘上不易获得的特殊字符。此示例演示如何在单元格中创建换行符。

A B
第一行
第二行
=A1 & CHAR(10) & A2

该表演示了如何将文本与 CHAR(10) 结合使用来创建换行符。请注意,必须启用单元格的“自动换行”才能正确显示。

使用 CHAR 创建换行符
="Line 1" & CHAR(10) & "Line 2"

此公式将两个文本字符串组合起来,并在它们之间插入换行符(ASCII 码 10)。启用自动换行后,结果将显示在一个单元格中的两行。

分析字符代码

CODE 可以帮助分析和比较字符。此示例演示了如何检查字符是否为大写。

A B
M
m
=CODE(A1) & " vs " & CODE(A2)

该表比较了大写和小写字母 "M" 的 ASCII 码。这展示了 CODE 如何揭示字符的大小写差异。

比较字符代码
=IF(AND(CODE(A1)>=65, CODE(A1)<=90), "Uppercase", "Not uppercase")

此公式通过验证字符在 A1 中的 ASCII 码是否在 65 (A) 和 90 (Z) 之间来检查该字符是否为大写。如果为真,它将返回“大写”。

创建自定义格式

CHAR 可以通过插入特殊字符来帮助创建自定义文本格式。此示例演示了如何添加项目符号。

A B
项目 1
项目 2
=CHAR(149) & " " & A1 & CHAR(10) & CHAR(149) & " " & A2

该表演示了如何使用 CHAR(149) 作为项目符号,以及使用 CHAR(10) 在项目之间创建换行符来生成项目符号列表。

使用 CHAR 创建项目符号
=CHAR(149) & " First item" & CHAR(10) & CHAR(149) & " Second item"

此公式在一个单元格中创建了一个包含两项的项目符号列表。CHAR(149) 生成项目符号,CHAR(10) 在项目之间添加换行符。必须启用自动换行。

生成字母序列

CHAR 可以使用 A-Z (65-90) 和 a-z (97-122) 的代码生成字母序列。此示例创建了一个大写字母序列。

A B
1
2
3
=CHAR(64+A1) & "-" & CHAR(64+A2) & "-" & CHAR(64+A3)

该表显示了如何通过加 64(A-Z 的 ASCII 偏移量)并使用 CHAR 将数字转换为相应的字母。这会根据数字生成字母序列。

从数字生成字母
=CHAR(64+ROW())

此公式生成与行号对应的字母(第 1 行的 A,第 2 行的 B 等)。这对于创建动态列标题或标签很有用。

清理不可打印字符

CODE 可以帮助识别和清理导入数据中的不可打印字符。此示例演示了如何检测它们。

A B
Data�
=CODE(RIGHT(A1,1))

该表演示了如何使用 CODE 识别字符串末尾的不可打印字符。该公式返回最后一个字符的 ASCII 码。

识别不可打印字符
=IF(CODE(RIGHT(A1,1))<32, "Contains control character", "Clean")

此公式检查 A1 中最后一个字符的 ASCII 码是否小于 32(不可打印)。如果检测到控制字符,它将返回一条消息。

创建密码复杂度检查

CODE 可以通过检查字符类型的混合来帮助强制执行密码复杂度。此示例验证大写字母。

A B
PassWord1
=SUMPRODUCT(--(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=65, --(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=90))>0

该表显示了一个复杂的公式,该公式通过检查每个字符的 ASCII 码来验证密码是否至少包含一个大写字母。

检查大写字母
=SUMPRODUCT(--(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=65),
 --(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=90))>0

如果 A1 中的文本至少包含一个大写字母(ASCII 码 65-90),则此数组公式返回 TRUE。它演示了 CODE 在文本分析中的高级用法。

CHARCODE 函数是 Excel 中处理字符数据的强大工具。从生成特殊字符到分析文本组成,它们能够实现精确的字符级操作。掌握这些函数将提高您有效清理、格式化和分析文本数据的能力。

作者

我的名字是 Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。至今,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有超过十年的经验。

列出 所有 Excel 公式