分享

改了 Excel 中的数据以为我不知道?我有修改跟踪记录

 haoshj0531 2020-03-31

对于不能随意让人更改的重要数据,通常可以保护工作表不让人修改。但是工作中很多情形是:数据表由多人维护更新,数据量又非常庞大,每次收到更新的表格后需要准确知道哪些地方有改动。

Word 中可以追踪修改记录,Excel 中有没有类似的替代功能呢?

其实一点也不难,只要稍微设置一下,就能在 Excel 中达到近似的效果。

案例:

下图的数据表,出于工作需要由多人维护,为了方便知道其他人每次修改记录,需要在原始表格上高亮显示新表格的不同之处,要求如下:

1) 人员奖金如有变动,整行高亮显示;

2) 查找不到某人的记录,整行高亮显示;

3) 新增奖金记录,全表高亮显示。

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

解决方案:

1. 将整个数据表复制粘贴到 Sheet2 中,Sheet2 作为原始版本仅供自己查看,用于核对新版本的差异之处。

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

2. 选中 Sheet2 中的 A2: B24 区域 --> 选择菜单栏的“开始”-->“条件格式”-->“新建规则”

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

3. 在弹出的对话框中选择“使用公式确定要设置格式的单元格”--> 在公示栏中输入以下公式 --> 点击“格式”按钮设置背景色 --> 点击“确定”:

=OR(COUNTA($B:$B)<COUNTA(Sheet1!$B:$B),IFERROR(VLOOKUP($A2,Sheet1!$A:$B,2,0),'')<>$B2)

公式释义:

  • COUNTA($B:$B)<COUNTA(Sheet1!$B:$B):当 B 列的非空单元格数小于 Sheet1 中的 B 列非空单元格数,即表示其他人新增了奖金记录
  • IFERROR(VLOOKUP($A2,Sheet1!$A:$B,2,0),''):用 Sheet2 的姓名在 Sheet1 中查找对应的奖金数,如果找到就返回奖金数,找不到则留空
  • ...<>$B2:将返回的记录与 Sheet2 中的奖金数做对比,如果不同,就高亮显示整行
  • OR(...):上述两个条件满足其一就高亮显示

* 请注意:为什么不直接用 vlookup 的结果与 $B2 比较,而是外面还要套用一个 iferror 函数呢?

因为如果某个人名没有查找到的话,vlookup 会返回一个错误值 #N/A,而这个错误值是无法与数据进行比较的,这就会导致姓名查找不到的情况无法高亮显示。

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

现在已经完全设置好了,从以下动图演示可以看到,只要在 Sheet1 中修改任何记录,Sheet2 中的对应行都会高亮显示;如果在 Sheet1 中新增了奖金,Sheet2 中因为没有对应的记录,所以就会全数据表高亮显示。

最后,把 Sheet2 隐藏起来只给自己看就可以了。

有关隐藏工作表的多种方法,请参阅 Excel实用tips(12) – 批量隐藏工作表

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

改了 Excel  中的数据以为我不知道?我有修改跟踪记录

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多