用表格管理家庭藏书:最小可用的 9 个字段,以及它撑到几百本会散架

· 约 4 分钟 📊 Excel 在线编辑

家里书一过百,「这本我是不是买过」就开始变成真金白银的问题。建一份书目是对的,但大多数人的藏书表活不过两百本——不是因为设计得不好,是因为设计得太好:字段太多,录一本要一分钟,很快就放弃了。

这篇给的是最小可用的一套,以及它会在哪里散架。

九个字段,一个不多

类型为什么要
ISBN文本唯一键,查重和补全全靠它
书名文本人眼检索
作者文本同名书太多,作者是第二区分度
出版社文本判断版本的关键
出版年数字区分再版
位置下拉找得到书
状态下拉还算不算我的
购入日期日期唯一补不回来的痕迹
借出人文本状态为借出时才填

前五列回答**「这是哪本书」,中间两列回答「它现在什么处境」**,最后两列是痕迹。

明确不建议一开始就加的:评分、读后感、页数、封面图、豆瓣链接。它们的共同点是录入成本高、查询频率极低。想加的时候问自己一句:过去半年,我有几次真的需要按这个字段查东西?

一个可以当红线用的经验值:录一本书超过 20 秒,这份表活不过两百本。

ISBN 列:两个必须先做对的设置

第一,整列设成文本格式,在敲第一行之前就设。

978 开头的 13 位数字,被表格当成数值处理会变成 9.78712E+12,前导零的书号还会被吃掉零。这个坑的恶劣之处在于它不会报错,等你录到一百多本才发现,返工没有捷径。

第二,统一成 13 位、不带连字符。

978-7-115-42802-89787115428028 在机器眼里是两个不同的值。10 位老书号也要先换算成 13 位再录——长短混存,查重必漏。

顺带一提,ISBN 放第一列不是审美问题:扫码出来就是一串数字,光标停在第一列直接粘,是最快的录入姿势。

位置:编码,不要写句子

「爸妈家那个柜子里」这种写法,第二次写就变成「老家柜子」,排序和筛选立刻失效。

推荐房间-书架-层的三段式:

  • 书房-A-3
  • 客厅-左-顶
  • 储藏室-箱2
  • 待归位

两条设计建议:

  1. 粒度到层为止。 精确到「第几本」听起来很爽,实际上书是会动的,维护成本会反过来吃掉你。
  2. 给临时状态留位置。 允许 待归位床头 这类值存在,比强迫每本书都有精确位置更接近现实——后者的结局是你干脆不填。

验证方法很简单:随机抽十本,只看表里的位置去找。找不到的那几条,说明编码粒度不够。

状态:六个值,而且不删行

建议的取值:在架 / 借出 / 在读 / 已送人 / 已售出 / 已丢失,用数据验证做成下拉。

手打的结局一定是「借出」「已借出」「借给老王了」三种写法并存,然后筛选彻底失效。

这里有一个反直觉但很关键的设计:后三种是终态,但不要删行。

书送人了、卖了、丢了,把行删掉看着干净。代价是——你再也不知道自己曾经有过这本书。下次在书店看到,你还是会买一次。

保留记录并让它继续参与查重,是这份表最省钱的地方。想知道「我现在有多少本」,按状态筛一下就行,不影响统计。

查重公式

ISBN 在 A 列,条件格式里选中整列,用公式:

=COUNTIF($A:$A,$A2)>1

命中标红,录入时当场可见。

想同时抓「换了版本重买」的情况,可以再加一条基于书名加作者的:

=COUNTIFS($B:$B,$B2,$C:$C,$C2)>1

但要有心理准备:书名的繁简、副标题带不带、空格多一个少一个,都会让它既漏报又误报。这条公式只能当提示,不能当判定。

前面提过的坑再说一次:ISBN 列不是文本格式时,COUNTIF 会把「文本的 9787…」和「数字的 9787…」当成两个值,明明重了却查不出来。查重失灵九成是这个原因。

天花板在哪:三个信号

表格方案不是不好,是有明确的适用边界。三百本以内、单人管理、买书不频繁,表格完全够用,别折腾。

以下任意一个信号出现,继续用表格的成本就超过收益了。

信号一:录入开始拖延

在手机上填表格是反人类的。一次买回来五本,要坐到电脑前敲二十分钟——第三次你就不填了。表格死于录入成本,不是死于功能不足。

信号二:查重发生在错误的时间

这是最致命的一条。你真正需要查重的时刻,是站在书店书架前,不是回家打开电脑之后。

而在手机上翻几百行表格找一本书,实际操作里几乎没人做得到。一个只能在书房里用的查重方案,防不住在书店里发生的重复购买。

信号三:家里第二个人也要用

共享一份云端表格,很快会遇到同时编辑冲突、格式被改乱、谁也不敢删行。表格没有权限概念,也没有操作留痕。

无论如何,先导出留底

换任何方案之前,把表格导出一份放好。字段设计本身是可以带走的资产——ISBN 做主键、位置用层级编码、终态不删行,这三条在任何方案里都成立。

❓ 常见问题

一份家庭藏书表最少需要哪些列?

九列:ISBN、书名、作者、出版社、出版年、位置、状态、购入日期、借出人为什么是这九个:(1) 前五列是书的身份,决定「这是哪本书」;(2) 位置和状态是这一册的处境,决定「它现在在哪、还算不算我的」;(3) 购入日期和借出人是痕迹,用得不多但丢了就再也补不回来。明确不建议一开始就加的:评分、读后感、页数、豆瓣链接、封面图——这些字段的共同点是录入成本高而查询频率极低,加进去的直接后果是你录到第三十本就放弃了。扩展的时机:等你确实因为缺某个字段而查不到东西时再加,不要提前设计。一个经验值:录入一本书的操作如果超过 20 秒,这份表活不过两百本。

为什么 ISBN 必须单独一列,而且要放第一列?

因为它是这份表里唯一可靠的唯一键,所有自动化都得靠它它能干什么:(1) 查重——书名会有繁简、副标题、空格的写法差异,作者会有译名差异,只有书号是死的;(2) 合并——将来换工具、导入导出、和别人的书目对账,靠书号才能对上;(3) 补全——有了书号,书名作者出版社都能从书目库里带出来,反过来不行。放第一列的理由:扫码枪或手机扫出来就是一串数字,光标停在第一列直接粘,是录入最快的姿势。必须统一格式:(1) 一律存 13 位,10 位老书号先换算,长短混存查重必漏;(2) 存成文本格式,否则表格会把前导的 978 当数字处理、把长数字转成科学计数法,这是最常见的翻车点;(3) 不要加连字符——978-7-115-42802-89787115428028 在机器眼里是两个值。

位置这一列该怎么写才真的找得到书?

用固定层级的编码,不要写自然语言推荐三段式:房间-书架-层,例如 书房-A-3客厅-左-顶储藏室-箱2为什么不能写「爸妈家那个柜子里」:(1) 同一个位置每次写法都不一样,排序和筛选立刻失效;(2) 你没法一眼看出「A 架第 3 层现在放了多少本」;(3) 搬一次家要逐条改。编码规则的两条建议:(1) 粒度到层为止,不要精确到第几本——书是会动的,维护成本会吃掉你;(2) 给临时状态留位置,比如 待归位床头,允许一部分书暂时不在架上,比强迫每本都有精确位置更接近现实。验证方法:随机挑十本书,只看表里的位置去找,找不到的那几条说明编码不够。

状态列为什么不能自由填写?

因为状态是要拿来筛选和统计的,自由文本一乱,筛选就废了建议的固定取值:在架、借出、在读、已送人、已售出、已丢失。关键设计后三种是终态但不删行。(1) 书送人了、卖了、丢了,把行删掉看似干净,代价是你再也不知道自己曾经有过这本书——下次在书店看到,还是会重新买一次;(2) 保留记录并继续参与查重,才是这份表真正省钱的地方;(3) 统计「我现在有多少本」时按状态过滤即可,不影响数字。实现方式:用数据验证做成下拉列表,别靠手打。手打的结果一定是「借出」「已借出」「借给老王」三种写法并存。一个补充列:状态是「借出」时,借出人和借出日期才有意义,平时留空。

查重公式怎么写?

用 COUNTIF 对 ISBN 列做计数,大于 1 就是重复基础写法:假设 ISBN 在 A 列,在空白列写 =COUNTIF(A:A,A2)>1,返回 TRUE 的就是重了。配合条件格式更直观:选中 A 列,条件格式用公式 =COUNTIF($A:$A,$A2)>1,命中标红,录入时当场就能看见。两个必须知道的坑:(1) ISBN 列必须是文本格式,混着数字格式时 COUNTIF 会把两者当成不同值,明明重复却查不出来;(2) 这只能查出书号完全相同的重复,换版本重买它抓不到——那种情况要另写一条基于书名加作者的公式,比如 =COUNTIFS(B:B,B2,C:C,C2)>1,但书名的写法差异会让它既漏报又误报。根本局限:公式只在你打开表格的时候有用,而买重是在书店里发生的

表格方案什么时候就不够用了?

三个信号出现任意一个,就该换方案了信号一:录入开始拖延。手机上填表格是反人类的,一次买回五本,坐下来敲二十分钟,第三次你就不填了。表格死于录入成本,不是死于功能不足信号二:查重发生在错误的时间。你需要的是站在书店里知道这本有没有买过,而不是回家打开电脑才发现。手机上翻几百行表格找一本书,实际操作里没人做得到。信号三:家里第二个人也要用。共享一个云端表格,很快会遇到同时编辑、格式被改乱、谁也不敢删行的问题。判断标准:(1) 三百本以内、单人管理、买书频率低——表格完全够用,别折腾;(2) 超过这个规模,或者上述任一信号出现,继续用表格的成本会超过收益。换之前记得导出留底,字段设计本身是可以带走的。

📊 打开 Excel 在线编辑 浏览器打开 xlsx/csv·像 Excel 一样编辑+公式·导出 xlsx/csv·本地不上传
家书馆微信小程序码

微信小程序 家书馆 · 家庭藏书管理

买书前先查一下,别再买重。扫一下书背后的条码就登记进家里的书库, 记得清放在哪一格、借给了谁,全家人共用同一个库。

📷 微信「扫一扫」左侧小程序码即可打开

👆 长按上方小程序码,识别打开「家书馆」

看看它能做什么 →

📖 同一工具的其他教程

🔗 相关阅读

全部教程 →