俗话说:工欲善其事,必先利其器,Excel 做表也一样。

经常有人说要耗时很久做表格,还各种出错,其实往往是因为原始数据格式不标准规范,就是我们常说的 dirty data。

大多数情况可以用格式刷来解决,但也有些例外情况,这里给出一些 tips。

我用的版本是 Excel 2016,其他版本的界面可能略有不同。

1. 下图 A、B 列为原始数据,D、E 列为数据透视表,为什么会出现两行“test” 呢?

excel数据透视表空白列不显示(数据透视表总出错)(1)

原因:

经仔细核对,发现原因是数据透视表中第 2 行 test 后面多了一个空格,也就是说,原数据中某一个 test 后面多了一个空格。我们肉眼虽然看不见,但是机器会读到这个空格,会将其视为另一个数据字段。

解决方案:

数据量少的情况下,可以在原始数据中通过 copy paste, 或拖动来解决。如果有海量数据,就不能这么干。

这里推荐一个去处空格的函数 trim(A)。

* 请注意:该函数只能处理英文数据。

1) 找一个空列,输入 trim(A2), 复制整列公式

excel数据透视表空白列不显示(数据透视表总出错)(2)

excel数据透视表空白列不显示(数据透视表总出错)(3)

2) 复制 C 列中的数据,Paste Special --> Values 到 A 列的原数据

excel数据透视表空白列不显示(数据透视表总出错)(4)

excel数据透视表空白列不显示(数据透视表总出错)(5)

3) 现在刷新一下数据透视表区域,发现只有一行 “test”了,这表示多余空格已经成功去除了

excel数据透视表空白列不显示(数据透视表总出错)(6)

2. 下图的数据透视表,为什么会出现一行 blank 呢?

excel数据透视表空白列不显示(数据透视表总出错)(7)

原因:

原始数据中有多余的空行,虽然空行中没有数据,我们肉眼看不到,但它在机器中占据字节空间,会被读到数据透视表中。

解决方案:

数据量少的情况下,可以在原始数据中任意选一些空白行,delete。如果有海量数据,就不能这么干。

1) 选中A、B列 --> Ctrl G --> Special --> Blanks --> OK

excel数据透视表空白列不显示(数据透视表总出错)(8)

excel数据透视表空白列不显示(数据透视表总出错)(9)

2) 可以看到空行已经被选中了

excel数据透视表空白列不显示(数据透视表总出错)(10)

3) 右键单击 --> Delete --> Entire row --> OK,就把空白行删除了

excel数据透视表空白列不显示(数据透视表总出错)(11)

excel数据透视表空白列不显示(数据透视表总出错)(12)

4) 现在刷新一下数据透视表区域,发现 “blank”行已经不见了,这表示多余空行已经成功删除

excel数据透视表空白列不显示(数据透视表总出错)(13)

,