LEN 函数:语法、示例与错误排查
更新于 2026-10-15 · 免费 · 兼容 Excel 与 Google Sheets
语法
=LEN(text)快速答案
LEN 统计单元格里的字符数:=LEN(A2) 对「jane doe」返回 8。每个字符都算——空格、标点、换行符全在内——而且 LEN 本身返回真正的数字,可以直接比较和求和。显示为日期的单元格返回的是其序列号的长度,不是你看到的日期。
语法
=LEN(text)| 参数 | 含义 |
|---|---|
| text | 要测量的单元格、字面量或表达式。必填——也是唯一参数。数字按显示的位数计;日期按底层的序列号计。 |
只有一个参数就无所谓分隔符,所以分号区域设置问题在这里不存在:=LEN(A2) 在任何语言环境下长得都一样。
LEN 是文本家族的量尺:它数每一个字符——字母、数字、空格、标点、换行符——并返回真正的数字而不是文本。这让它成为这里唯一一个结果可以直接喂给比较和算术、不需要 VALUE 的文本函数。
基本示例
=LEN(A2)基础测量:「jane doe」是 8,「AE-2026-041」是 11,「」是 0。给导入的编号加一列 LEN,太短(被截断)或太长(带填充)的行立刻现形。
=LEN(A2)-LEN(TRIM(A2))空格审计:差值就是 TRIM 会删掉的字符数。0 说明单元格干净,3 说明有三个多余空格藏在词前、词后或词间。
=LEN(A2)-LEN(SUBSTITUTE(A2, " ", ""))+1单词计数器:删掉所有空格后缩短的长度就是空格数,加 1 就是单词数。对单空格分隔的文本简单可靠。
=IF(LEN(A2)>20, "Too long", "OK")长度闸门:在描述、编码或用户名超出系统限制、还没进导入文件之前就标记出来。因为 LEN 返回数字,比较不需要任何转换。
=LEN(A2)-LEN(SUBSTITUTE(A2, CHAR(10), ""))换行符探测器:CHAR(10) 换行在屏幕上看不见但计入字符数,差值直接暴露单元格里藏了几个换行——清理之前最快的诊断。
格式为 2026/10/15 的日期 LEN 返回 5,因为 LEN 测的是底层的序列号(45945),不是显示的文本。自定义格式的数字同理——LEN 看到的是存储值,永远不是格式。
常见错误与修复方法
| 症状 | 最常见原因 | 修复 |
|---|---|---|
| 日期返回 5 而不是 10 | LEN 测的是存储的序列号(45945),不是显示的 2026/10/15。 | 测量格式化后的文本:=LEN(TEXT(A2, "yyyy/mm/dd"))。 |
| 看着为空的单元格返回 1 或 2 | 单元格不是空的——它装着一两个普通或不间断空格。 | 用 =LEN(TRIM(A2)) 验证——TRIM 后为 0 说明只有空格。 |
| 计数和看到的不一致 | 不可见字符也计数:换行符 CHAR(10) 和不间断空格 CHAR(160) 各加 1。 | 用 =LEN(A2)-LEN(SUBSTITUTE(A2, CHAR(10), "")) 探测换行,然后清理单元格。 |
| 中日韩文本长度看着不对 | LEN 按字符计,每个字符——全角在内——都是 1。按字节的系统期望每个 CJK 字符算 2。 | 用 LENB,它在 DBCS 设置下每个双字节字符计 2。 |
| 结果无法和 10 比较 | 少见——LEN 本来就返回真数字。比较失败说明那个「数字」其实是导入来的文本。 | 用 =ISNUMBER(LEN(A2)) 检查;FALSE 说明被测单元格本身是文本格式——先给源头套 VALUE。 |
不是错误但值得知道:LEN 看到的是存储值,不是格式。它分不清文本「12345」和数字 12345——两者都测得 5——它也从不四舍五入、截断或跳过空白。
LEN 与 LENB 对比
| LEN | LENB | |
|---|---|---|
| 计数单位 | 字符——每个字符都是 1,不分全半角 | 字节——单字节字符 1、双字节(CJK)字符 2 |
| 「jane doe」是 | 8 | 8 |
| 「東京都」是 | 3 | DBCS 设置下为 6 |
| 典型任务 | 长度限制、审计、西文单词计数 | 按字节的导入、遗留系统、CJK 字段校验 |
按下游系统选:现代系统和多数导入要 LEN;遗留主机或定长字节布局要 LENB。单字节区域设置下两者结果完全相同——这就是 LENB 在西方不出名的原因。
LEN 与快速填充对比
| LEN 公式 | 快速填充(Ctrl+E) | |
|---|---|---|
| 输出 | 辅助列里的活公式;源数据变化时自动重算 | 静态值,一次性写入;新行要重新填 |
| 精度 | 确定性——每次都是精确计数 | 模式猜测——结果列要抽查 |
| 适合场景 | 必须保持最新的审计、校验和报表 | 一次性提取,之后用 LEN 验证长度 |
| 可用范围 | 所有 Excel 版本和 Google Sheets | Excel 2013 及以后;Sheets 用智能填充对应 |
两者是搭档:快速填充从脏单元格里提取编码,然后一列 LEN 在你信任它之前证明每次提取长度一致。填充负责猜,LEN 负责验收。
Google Sheets 中的 LEN
- 同名同参数——上面的每条公式原样粘进 Sheets 就能用。
- Sheets 也有 LENB,对双字节文本同样按字节计数。
- 换行符探测器行为一致——Sheets 单元格同样存 CHAR(10) 换行。
- 日期同样处理:LEN 返回底层序列号的长度,不是显示格式的长度。
局限与实用技巧
- LEN 测存储值,不是格式:日期是序列号、数字是位数——「2026/10/15」显示 10 个字符但测得 5。
- 每个字符都算:CHAR(10) 换行、CHAR(160) 不间断空格、制表符各加 1——清理前用 LEN 差值让它们现形。
- LEN 返回真数字,不需要 VALUE——但被测单元格可能是文本;数字要当数值用时先给源头套 VALUE。
- 喂给按字节限制的系统之前,CJK 数据换成 LENB——每个双字节字符 2 字节——免得导入拒收文件。
- 一列搞定全部审计:=LEN(A2)-LEN(TRIM(SUBSTITUTE(A2, CHAR(10), " "))) 一次数清所有不可见字符。
把 LEN 当清洗流水线的检验卡尺:它什么也不改,只负责测量——填充、换行、截断。每道清洗工序前后各跑一遍,差值直接告诉你这道工序有没有干完活。
相关工具
相关函数
常见问题
LEN 函数在 Excel 里做什么?
数字符数:=LEN(A2) 对「jane doe」返回 8。空格、标点、换行符全算在内,结果是真正的数字,可以直接比较和求和。
为什么 LEN 对 2026/10/15 这样的日期返回 5?
日期存储为序列号——45945——而 LEN 测的是存储值,不是显示文本。要测格式化字符串用 =LEN(TEXT(A2, "yyyy/mm/dd")),返回 10。
怎么用 LEN 数单词数?
=LEN(A2)-LEN(SUBSTITUTE(A2, " ", ""))+1:删掉空格后长度每个空格缩短 1,所以差值加 1 就是单词数。对单空格分隔的文本可靠。
为什么看着为空的单元格 LEN 返回 1 或 2?
单元格里装着不可见字符——普通或不间断空格。跑一下 =LEN(TRIM(A2)):降到 0 说明里面只有空格,这正是查找一直失败的原因。
LEN 和 LENB 有什么区别?
LEN 按字符计——每个字符 1。LENB 按字节计——DBCS 设置下每个双字节字符 2,所以「東京都」对 LEN 是 3、对 LENB 是 6。接收方按字节测量就用 LENB。
LEN 能区分文本「12345」和数字 12345 吗?
不能——两者都测得 5,因为 LEN 看到的是存储字符,不是数据类型。用 ISNUMBER 单独查类型,或者在比较、求和之前先用 VALUE 转换数字文本。
LEN 在 Google Sheets 里能用吗?
能——同名同参数同结果。LENB 同样可用,换行符探测器行为一致,日期同样返回序列号长度。
准备好处理你自己的文件了吗?
打开删除 Excel 单元格换行符 — 免费