?Excel跨表求和总是0?照着这4步做,保证解决
? 你的问题
两张表,想根据姓名把金额加起来,但公式写了结果要么是0,要么数字不对。
✅ 直接照做(不用管为什么)
第1步:先写公式
在要放结果的格子写:
<code>=SUMIF(表2的姓名列, 表1的姓名格子, 表2的金额列)</code>
举例:表2姓名在A列,表1姓名在C2,表2金额在L列
→ =SUMIF(表2!A:A, C2, 表2!L:L)
第2步:验证问题在哪
✅ 验证1:能不能对上人?
<code>=COUNTIF(表2的姓名列, 表1的姓名格子)</code>
返回1、2、3… → 能对上,继续
返回0 → 看第4步清理格式
✅ 验证2:金额是不是真数字?
<code>=ISNUMBER(表2的金额格子)</code>
返回TRUE → 是真数字
返回FALSE → 选中金额列 → 数据 → 分列 → 完成
第3步:用公式求和
做完上面的验证后,再看第1步的公式,结果应该就对了。
如果还是不对,做第4步。
第4步:清理格式(终极解决)
① 清理姓名列:选中表2姓名列 → 数据 → 分列 → 完成
② 清理金额列:选中表2金额列 → 数据 → 分列 → 完成
③ 取消合并单元格:选中姓名列 → 点“合并后居中”取消合并 → Ctrl+G → 定位条件 → 空值 → 确定 → 输入 = 再点上面有名字的格子 → Ctrl+Enter
④ 清空格:选中姓名列 → Ctrl+H → 查找内容敲一个空格 → 替换为留空 → 全部替换
做完再回头看第1步的公式,结果一定对。
? 一句话记住
COUNTIF看人,ISNUMBER看钱。不对就分列,合并要取消。
? 评论区直接复制
<code>=SUMIF(表2的姓名列, 表1的姓名格子, 表2的金额列)</code>
结果不对就做两件事:
- 表2的金额列点一下“分列”
- 表2的姓名列点一下“分列”
还不对就取消合并单元格 + 清空格
图1文本格式的单元格
图2设置单元格格式
图3数字常规显示
图4分列
图5文本分列向导



















