前两章练的是“怎么问”,这一章开始进入具体的报错。五个案例全部来自 Excel 的格式层,它们的共同点是操作本身没有错,错在 Excel 对输入内容做了你不知道的处理,或者你给 Excel 下的指令与你的本意有出入。这类问题最适合交给 AI 诊断,因为现象容易描述、证据容易采集,把“看到了什么”原样转述出去,多数时候一轮对话就能拿到答案。本章按问题发生的位置排序,前两个案例出在数据进入表格的瞬间,后三个出在对已有数据下指令的环节。
录入库位编码“1-2”,回车后变成“1月2日”。
粘贴 18 位身份证号,整列显示“4.40103E+17”。
“库存低于 20 整行标红”的条件格式,一个美元符号写错位置就整列误报。
5000 行订单流水里夹着 180 个空行,透视表做不了。
每天在 30 个单元格里填同样的两个字,重复了三个月。
练习文件的五个工作表与五个案例一一对应,工作表名依次是“库位编码录入区”“证件号修复现场”“库存表”“订单流水”“考勤核对区”,正文里出现的每一个数字都能在文件里复算。
模板下载:第三章格式难题练习文件
本章提示词延续第一章的四要素模板,全部以“我在用Office LTSC专业增强版2024”开头,表格结构按第二章的列名加类型写法转写,正文不再逐次说明。
仓库要给 12 种物料登记库位,编码规则是“排-层”,第 1 排第 2 层写作 1-2。打开练习文件的“库位编码录入区”,C 列空着待录。在 C2 输入 1-2,回车,单元格显示“1月2日”。这不是显示花样,点回 C2 看编辑栏,内容是 2026/1/2,单元格里的东西已经不是输入的那三个字符了。再看一个细节,“1月2日”在单元格里靠右对齐,Excel 的文本默认靠左、数值和日期默认靠右,对齐方向说明它现在存的是一个日期值。

提问把三条证据全部带上,输入的原文、变成的样子、编辑栏里的内容。格式类问题的提问质量几乎就取决于证据抄得全不全。
我在用Office LTSC专业增强版2024。在Excel里给物料表录库位编码,
编码规则是"排-层",比如1-2表示第1排第2层。在C2输入1-2回车后,
单元格显示成了"1月2日",编辑栏里是2026/1/2,内容靠右对齐。
我要的就是1-2这三个字符。为什么会被改掉,怎么阻止?
AI 的回复如下。
这是 Excel 的自动类型识别在起作用。"1-2"符合"数字-数字"的形态,
Excel 判定你想输入日期,把它转换成当前年份的1月2日,单元格里
实际存储的是日期值 2026/1/2。靠右对齐正说明它已经是日期
(日期本质是数字),不再是文本。
阻止转换有三种办法:
方法一:先设格式,再输入
选中C列 → "开始"选项卡 → "数字"组的格式下拉框选"文本" → 再输入。
设为文本后 Excel 会原样保留任何输入。
方法二:输入时加前缀
在内容前加一个英文单引号,输入 '1-2。单引号告诉 Excel 后面的
内容按文本处理,它本身不显示也不打印。
方法三:粘贴导入时指定列格式
如果编码是从别的系统复制来的,用"数据"→"分列",在向导第3步把
该列的"列数据格式"选为"文本"。
注意:已经变成日期的单元格,事后改格式救不回来,只能删了重录。
三种办法都能阻断转换,但快慢差别大,取决于录入方式。本例是 12 个编码连续手工录入,逐一试过之后的结果如下。
本例的答案是方案一,一次设置管住整列,之后想输什么是什么。方案二适合在别人的表里临时补一两个编码,不动人家的列格式。方案三在手工录入时没有用武之地,它属于成批粘贴的场景,而下一个案例的事故恰恰就发生在粘贴环节。
“库位编码录入区”的 C2 还留着那个“1月2日”,按 AI 的提醒验证一下它到底能不能救。选中 C2,把格式改成文本,单元格显示 46024。这不是乱码,Excel 的日期在底层是流水号,1900 年 1 月 1 日记作 1,往后每天加 1,2026 年 1 月 2 日排在第 46024 天。改成文本格式,只是让这个流水号以本来面目示人。输入的“1-2”在回车那一瞬间就被日期值覆盖了,文件里没有留底,唯一的处理办法是删掉这个单元格,按方案一设好文本格式后重录。

格式设置改的是“怎么显示”,改不了“存了什么”。输入瞬间被转换的内容,转换前的原文不会保留。这条规律在下一个案例里还要再付一次代价,而且那次丢的不是三个字符。
行政用在线收集表收齐了 200 名员工的身份证号,导出后整列复制,粘贴进 Excel 准备核对,B 列齐刷刷变成“4.40103E+17”。练习文件的“证件号修复现场”工作表截取了其中 12 行,人物与号码全部虚构,B 列保留粘贴后的受损状态,C 列存放原始登记文本用于对照。仔细看 B 列会发现一个例外,员工 12 那一格不是科学计数法,显示的是完整的 18 位并且靠左对齐,这个例外先记下,它在后面的对话里会成为关键证据。
第一次提问只描述了看到的现象。
我在用Office LTSC专业增强版2024。我把200个员工的身份证号从
在线收集表复制粘贴到Excel的B列,现在整列显示成4.40103E+17
这种样子。怎么让它显示完整的18位号码?
AI 的回复如下。
这是科学计数法显示。身份证号有18位,超过了 Excel 对长数字的
默认显示方式,改成文本格式就能完整显示:
1. 选中B列 → Ctrl+1 打开"设置单元格格式"
2. "数字"选项卡选"文本" → 确定
或者选"自定义",在类型框输入 0,也能让数字完整展开显示。
选中 B 列改成文本,科学计数法确实消失了,B2 显示 440103199205110000。第一眼像是修好了,拿 C 列的原始文本一对照,问题出来了。C2 是 440103199205110537,B2 的末三位是 000,尾号 537 没了。往下逐行对照,11 个纯数字号码的末三位全部是 000。自定义格式 0 的结果一模一样。唯一完好的是员工 12,他的号码尾号是 X。

把对照结果原样发回去追问。
我按你说的把B列改成了文本格式,现在显示440103199205110000,
但原始号码是440103199205110537,最后三位变成了0,整列的纯数字
号码全是这样。只有一个尾号是X的号码完好,还靠左对齐。
丢掉的三位怎么找回来?
AI 的修正回复如下。
抱歉,我上一个回答只处理了显示问题,漏掉了更重要的存储问题。
你的数据在粘贴的那一刻就已经受损了。
Excel 的数值精度上限是15位有效数字。18位号码被当作数值接收时,
第16位起的数字会被替换成0,这个替换发生在存储层。你后来改的
文本格式只是换一种方式显示这个已经受损的数值,被替换掉的三位
在文件里不存在,任何格式设置都恢复不了。
尾号X的那个号码完好,恰好印证了这个机制:含X的内容不是纯数字,
Excel 无法把它转成数值,只能按文本原样保留,所以一位没丢,
文本靠左对齐也对得上。
丢失的部分只能回到原始来源重新粘贴,正确的顺序是:
1. 先选中目标列,Ctrl+1 设为"文本"
2. 再回到来源复制
3. 粘贴到目标列,如果用右键粘贴,选"匹配目标格式"
先设文本再粘贴,18位会原样进入单元格。顺序不能反,先粘贴
再设文本就回到你现在的处境。
练习文件里用 C 列的原始文本模拟数据来源。在 D 列演练正确顺序,先选中 D2:D13 设为文本格式,再复制 C2:C13 粘贴过来,D 列 12 个号码全部完整,靠左对齐,与 C 列逐位一致,含 X 的号码也原样进入。受损的 B 列没有修复价值,整列删除。回头算这笔账,出错的根源是粘贴时目标列还是常规格式,Excel 拿到 18 位数字串自作主张转成了数值,一步顺序错,200 个号码全部要重新粘贴一遍。
判断长号码有没有被截断,先看末尾是不是连续的 0,再看对齐方向。数值靠右、文本靠左,粘贴完先扫一眼对齐方向再开始干活,这两条线索比任何工具都快。
真实的身份证号是可以定位到个人的敏感信息,发给 AI 前必须按第二章的规则脱敏,保留参与判断的位段、替换指向个人的部分。本节练习文件里的号码全部是虚构的,可以放心用于提问练习。
前两个案例的麻烦发生在数据进表的瞬间,从这里开始,数据本身没有问题,问题出在人给 Excel 下的指令上。练习文件的“库存表”有 50 行商品,A 列到 E 列依次是货号、品名、类别、单价、库存量,仓管想要的效果是库存量低于 20 的商品整行标红,补货时一眼扫到。先立手工基准,按 E 列从头数到尾,低于 20 的有 13 行,最紧张的是 A0015 硬盘盒,只剩 3 件。
表格结构按第二章的写法转写,需求里专门强调“整行”,这两个字决定 AI 给的是普通条件格式还是公式规则。
我在用Office LTSC专业增强版2024。有一张库存表,结构如下:
A列 货号(文本)
B列 品名(文本)
C列 类别(文本)
D列 单价(数值)
E列 库存量(数值)
数据在第2行到第51行。示例行:
A0001 无线鼠标 外设 79 8
A0002 机械键盘 外设 329 45
我想让库存量低于20的行整行标红,是A到E五个单元格一起变红,
不是只有库存量那一格。请给出设置方法。
AI 的回复如下。
整行变色要用"使用公式确定要设置格式的单元格",步骤:
1. 选中 A2:E51(从A2开始选,不要把标题行选进去)
2. "开始"→"条件格式"→"新建规则"
3. 选最后一项"使用公式确定要设置格式的单元格"
4. 公式框输入:=$E2<20
5. 点"格式"→"填充"选项卡选红色 → 确定 → 确定
公式 $E2 的写法是整个设置的关键:
- E 前面有 $,列被锁定,同一行的A2到E2判断的都是E列的值,
所以五个格子一起变色
- 2 前面没有 $,行不锁定,规则到第3行自动判断E3,到第4行
判断E4,逐行各管各的
写成 E2(都不锁)会导致每一列去判断错位的列;写成 $E$2
(都锁)会让全部50行只看E2一个值。
照步骤落地。
选中 A2:E51,注意从 A2 起选,选区左上角是哪一格,公式就按哪一格书写。
打开“开始”选项卡的“条件格式”,点“新建规则”,选中“使用公式确定要设置格式的单元格”。
公式框输入 =$E2<20,点“格式”进入“填充”选项卡选红色,两次确定退出。
用 =COUNTIF(E2:E51,"<20") 复核,返回 13,和表里的红色行数一致,抽查 A0015 硬盘盒整行红、A0002 机械键盘无色,规则生效。

隔天在另一张表重建这条规则时手滑了,公式敲成 =E$2<20,美元符号从 E 前面挪到了 2 前面。效果非常怪,E 列从第 2 行到第 51 行整列全红,库存 90 的行也红着,A 到 D 四列一格都不红。把现象连同错误公式一起发给 AI 诊断。
我把条件格式的公式写成了=E$2<20,现在E列整列全是红的,
库存90的行也红,其他四列一格都不红。为什么是这个效果?
AI 的回复如下。
=E$2 锁的是行不是列,规则的判断对象整个换掉了:
- 行号2被$锁死,所有行的规则都去看第2行,不再逐行下移
- 列号E没锁,规则随所在列漂移:A列的格子判断A$2,B列判断B$2,
以此类推
逐列拆开看你的表:
A$2是文本"A0001",文本和数字比较,Excel 判定文本永远大于数字,
"A0001"<20 为 FALSE,所以A列全列不红;B、C两列同理;
D$2是单价79,79<20 为 FALSE,D列不红;
E$2是库存8,8<20 为 TRUE,于是E列从上到下每一格的条件都成立,
整列红,和各行自己的库存量再无关系。
修复:“条件格式”→“管理规则”→ 选中这条规则 →“编辑规则”,
把公式改回 =$E2<20 即可,不用删除重建。

按回复进规则管理器把公式改回 =$E2<20,红色竖条消失,13 行整行红回来了。整行红与整列红的两张截图放在一起,混合引用的原理就钉死了,同一个美元符号,贴在列号前是“整行盯着库存列”,贴在行号前是“整列盯着第 2 行”。
美元符号贴着谁,谁在规则逐格推算时就不动。条件格式的公式永远按选区左上角那一格书写,其余单元格照引用规则自行推移,写完公式先在心里挑两个远处的格子推一遍,再点确定。
条件格式一次设置管住 50 行,这一节的对象扩大一百倍。业务系统导出的订单流水贴在“订单流水”工作表里,A 列到 E 列是订单编号、下单日期、商品名称、数量、金额,数据占第 2 行到第 5001 行。系统导出时按客户分组,组和组之间留了空行,直接做透视表,数据会被空行切碎。先立基准,在空白格输入 =COUNTA(A2:A5001),返回 4820,也就是 5000 行的区间里有 180 个空行。靠滚轮翻找 180 个空行不现实,这正是要交给 AI 的问题。
这次提问的重点不在需求,在现状。有三件事必须写清,数据的规模、空行的形态、哪一列在数据行必有值。第三件事最容易被略过,它直接决定 AI 给的方案能不能安全执行。
我在用Office LTSC专业增强版2024。一张订单流水表,A列订单编号、
B列下单日期、C列商品名称、D列数量、E列金额,数据在第2行到
第5001行。里面夹着大约180个空行,都是整行五列全空,不存在
只空某几列的行。A列在每个有数据的行都有订单编号。我想把
空行全部删掉,数据量太大,不想一行一行找。
AI 的回复如下。
用"定位条件"一次选中所有空单元格,再整行删除,全程不到半分钟:
1. 选中 A2:A5001(只选A列这一段,原因见后)
2. 按 Ctrl+G(或F5)打开"定位",点左下角"定位条件"
3. 选"空值"→ 确定,A列所有空单元格同时处于选中状态
4. 在任意一个被选中的单元格上右键 →"删除"
5. 弹窗选"整行"→ 确定
第1步只选A列是安全做法。你确认过A列在数据行必有值,A列为空
就等价于整行为空。如果选中五列一起定位空值,遇到"只空了
某一列"的行也会被连带删掉。你的表没有这种行,但按关键列定位
是通用习惯,换一张表也不会出事。
删完用 =COUNTA(A:A) 核对剩余行数是否等于预期。
点 A2 后按 Ctrl+Shift+向下键快速选到 A5001,按 Ctrl+G 打开定位框,点“定位条件”。
选“空值”后确定,A 列里 180 个空单元格全部变成选中状态,散布在整个区间里。
在任意一个选中的空单元格上右键,点“删除”,弹窗里选“整行”,确定。5000 行数据向上收拢,全程约二十秒。
核对三个数,数据尾行从第 5001 行变成第 4821 行;=COUNTA(A2:A4821) 返回 4820,与删除前的基准一致,一行没有误删;=COUNTBLANK(A2:A4821) 返回 0,空行清零。

“删除整行”删的是工作表的一整行,同一行里数据区之外的内容会一起消失。这张练习表右侧没有别的东西,真实工作中动手前先往右翻一屏,确认同行没有别人放的备注或临时计算。
删空行用的“定位条件”还有另一半用途,这一节把它补完。考勤专员每天在“考勤核对区”的 C 列给核对完的员工填“已核对”,30 个格子,点一格、打字、回车,再点下一格,同一套动作重复了三个月。这类问题的提问要点和前面都不同,没有报错、没有异常,要描述的是动作本身。不需要知道任何功能的名字,把手上正在重复的事说清楚,找功能名是 AI 的活。
我在用Office LTSC专业增强版2024。每天要在考勤表的C列给30个
单元格填同样的两个字"已核对",现在是点一格、打字、回车,
再点下一格,重复30次。这30个格子有时候连成一片,有时候
是分散的。有没有办法一次填完?
AI 的回复如下。
用 Ctrl+Enter 批量填充,两种选格方式对应你的两种情况:
连成一片时:拖选整个区域 → 直接输入"已核对" → 按 Ctrl+Enter,
选中的每一格同时填入。
分散时:点第一个格子,按住 Ctrl 逐个点选其余格子 → 输入 →
Ctrl+Enter。
关键是最后按 Ctrl+Enter 而不是 Enter。Enter 只把内容交给当前
一格然后跳走,Ctrl+Enter 把同一内容同时写进所有选中的单元格。
另外,如果要填的格子共同特征是"空白",可以不用手点:
选中 C2:C31 → Ctrl+G → "定位条件" → "空值" → 确定,
空格子全部被选中,输入后 Ctrl+Enter 一次填完。
第一种,拖选 C2:C31,直接输入“已核对”,此时内容只出现在活动单元格里,按下 Ctrl+Enter,30 个格子同时填入,前后不到十秒,替代了原来的 30 次回车。第二种,清空后模拟分散场景,按住 Ctrl 点选 10 个不相邻的格子,输入后 Ctrl+Enter,10 格同时填入,中间隔着的格子不受影响。第三种,再次清空,选中 C2:C31 后用定位条件选“空值”,30 个空格被一次选中,输入加 Ctrl+Enter 收尾。这个对话框正是上一个案例删空行用的那个,同一个入口,选中空行是为了删,选中空格是为了填。

Ctrl+Enter 的适用条件是多个单元格填同一内容。如果 30 个格子要填的内容各不相同,它帮不上忙,那类需求要靠公式按规则生成内容,正是下一章的主题。
五个案例的提问归成两类,一类是格式出了异常要诊断,一类是重复操作要提效,各自的必备信息和验证动作汇总如下。
两类问题的空白模板如下,方括号内容替换成实际情况。
【格式异常诊断】
我在用Office LTSC专业增强版2024。[哪个区域]在[什么操作]之后,
显示变成了[看到的样子],编辑栏里是[编辑栏内容],内容[左/右]对齐。
我要的是[期望的结果]。为什么会这样,怎么改?
【重复操作提效】
我在用Office LTSC专业增强版2024。我现在每[频率]要[重复动作的
原文描述],对象是[多少行/多少个单元格,连续还是分散]。
有没有一次完成的办法?
诊断类模板里的编辑栏内容和对齐方向是本章反复用到的两条证据线,它们分别回答“单元格里存的是什么”和“Excel 把它当成什么类型”,写进提问,AI 不用猜测就能判断问题出在存储层还是显示层。