QUOTE
在做数据的人眼中,应该能分辨什么是一张好的数据表。
一份优质的原始数据,可以节省很多清洗工作。
文中医疗场景均为通用举例,不涉及任何真实患者数据。
从 HIS 导出的表、科室报上来的表,为什么每次分析前都要先花半天清洗?问题往往不在分析本身,而在最开始的表就没搭对。下面整理一套数据处理的「地基」规范,照着做,后面做月报、做质控、做科研提取都会轻松很多。
01
KNOW YOUR TABLE
先把表的「用途」想清楚
Excel 里的表大致分三种:
清单表
也称明细表,一行一条记录,每一列是一个字段。标准的M*N表格,功能就是如实记录。这是做数据处理、分析时的「标准形态」。
功能表
用来算辅助值的小表,比如科室对照表、编码映射表。
报表
给人看的汇总结果,带格式、带图表。
很多人把三者混在一张表里:上面写标题、中间插合计行、右边再并排放个说明。他们会认为这样的表会更精致、更好看。但在数据人的眼中,恰恰相反。这样的表,后续做筛选、透视、求和、VLOOKUP 全都会遇到阻碍,实用价值非常低。请牢记:任何有存档性质的原始数据都尽量用清单表,不要在表上“搞装修”。一张干净的清单表就像一间毛坯房,它有无限的可能性,而一旦被装修了,它就只是一张展示报表。清单表最怕下面几件事,能避开就避开:
不合并单元格
合并后排序、筛选、透视全乱套。要强调就用加粗,别合并。
不留空行空列
空行会让「Ctrl+下箭头」跳转错位,汇总区域判断错误。
不要二维表
二维化就是把某个字段按列展开。例如把“月份”或“科室”摊成横向列,看着清楚但机器读不懂。每一个字段应该表示一个数据类型,类型的具体数值统一放置在该列。不要格式花哨
填充色、边框能不加就不加,它们既占体积又干扰判断。
把表交给别人前,顺手做三件事:冻结首行、取消筛选状态、回到 A1,删掉没用的空工作表。
03
CELL-LEVEL PITFALLS
单元格里的坑:小毛病最致命
表搭得再规矩,单元格里的细节也会让后续公式全军覆没:
数字带单位
写成「5人」「12例」,后面 SUM 直接报错。数字归数字,单位放表头。同时也要小心数据的格式,有时候看着是数值其实是文本,也是无法参与计算的。
不规范日期
系统导出的「20200202」「2020.2.2」不是真日期,无法按月统计。
多余空格
姓名前后的空格会让「张三」和「张三 」被当成两个人,VLOOKUP 对不上。这是数据匹配时的高频问题。
数据杂糅
一个格子里又写科室又写负责人,后面没法单独筛选。
04
DATA VALIDATION
事前设防:用数据验证堵住源头
与其每次清洗,不如在录入口就拦住错误。Excel 的「数据—数据验证」能做这些:
下拉菜单
让人从固定选项里选,避免「内科」「内 科」「内料」三种写法。

防重复录入
用公式防重复,比如同一医保号只允许出现一次。
05
CLEANING FLOW
脏表到手:一套快速收拾流程
先记住这 6 步顺序
1 备份→2 删空行→3 取消合并回填→4 拆杂糅→5 去重→6 超长数字转文本
顺序别乱:先保底(备份),再清结构(空行、合并),最后才动值(拆分、去重、格式)。
拿到乱表第一件事不是动手改,而是先留一份原样。所有清洗都在复制出来的副表上做,原表锁进文件夹,万一改错了随时能回头,不用担心把科室报上来的原始数据搞丢。
空行会让Ctrl+↓跳转错位,透视表也会把空行当成断点。用定位条件一次性选中所有空单元格,整行删掉,比手动找快得多,也不容易漏。
合并单元格是数据分析的头号杀手——排序筛选全乱。取消合并后,原来只存在于第一格的值会消失在下面几格。选中整片空区,输入对上方格的引用,再按Ctrl+Enter,一次就把整列补满。
“科室-负责人”挤在一个格子里,后面就没法单独按科室筛选、按负责人统计。用分列按分隔符拆开最省事;分隔不规则的,用LEFT/RIGHT/MID按位置取字也行。
钱七先条件格式标红确认,再‘删除重复值’;或加辅助列精准标重复重复记录会直接拉高例数、虚增人次。先用条件格式标红看一眼重复长什么样,确认无误再用“删除重复值”一键清;想更可控,加一列辅助公式=IF(COUNTIF(区域,本格)=1,1,0),标 0 的就是重复项。
医保卡号、身份证号超过 15 位,Excel 会按数字存、尾部直接变 0,一旦变成0,数据精度永久丢失,无法恢复,后续匹配全对不上。应该在上游数据导出时就把这一列设成文本格式;已经进表的,在单元格前加个英文单引号,让它当文本对待。
六步走完,脏表就干净了。备份打底、空行合并清结构、拆分去重动值、超长数字转文本——顺序对了,后面做月报、质控、科研提取都顺。
函数别贪多,下面这几类覆盖了八成日常。
数值类:ROUND 控制小数位、SUM 求和、RANK 排名。医疗排名常遇到「并列不占名次」的中式排名,公式长这样:
=SUM(1/COUNTIF(排名区域,排名区域))
文本类:LEFT/RIGHT/MID 按位置取字,TRIM 去首尾空格,SUBSTITUTE 批量替换。
日期类:YEAR/MONTH/DAY 取年月日,DATEDIF 算间隔天数,比如住院天数、随访间隔。不规范日期先用 TEXT 或分列转成真日期,才能参与运算。
这是最常用也最容易出错的一环:
VLOOKUP 精确匹配
用患者 ID 去维表查科室、查诊断。
反向查找
VLOOKUP 只能往右找,INDEX+MATCH 不受方向限制。
多条件匹配
把两个条件用 & 拼成一列再查,或用 LOOKUP(1,0/((条件1)*(条件2)),返回值)。
一对多
一个科室对应多名医生,用 SMALL 函数把结果逐行拉出来。
注:反向查找和多条件匹配比较依赖电脑性能,有概率卡死进程或程序崩溃,本人几乎没有使用过。巧妙把复杂问题简化,比如需要反向查找时,先手动把目标列调换顺序,仅使用vlookup就行了。很多人觉得「规范」是给完美主义者准备的。其实反过来——越是数据杂、时间紧的科室,越需要一张干净的清单表打底。前期多花十分钟搭规矩,后面每次月报、每次质控、每次科研提取都能少熬几个钟头。
如果你觉得今天这篇有用,欢迎点赞、在看、转发三连,我们下篇见。