![在 EXCEL 中比较两组数据并返回其应有的值](https://linux22.com/image/1496733/%E5%9C%A8%20EXCEL%20%E4%B8%AD%E6%AF%94%E8%BE%83%E4%B8%A4%E7%BB%84%E6%95%B0%E6%8D%AE%E5%B9%B6%E8%BF%94%E5%9B%9E%E5%85%B6%E5%BA%94%E6%9C%89%E7%9A%84%E5%80%BC.png)
我需要一些帮助来比较 Excel 中的两组数据(见下面的屏幕截图)。
如您所见,我有来自 2 个来源的数据。来源 1 是正确的数据。来源 2 在某些时候可能是正确的,但它不是最新的。我希望能够查看数据源 2 中的帐号和人员,看看它是否与数据源 1 中的帐号和人员相匹配。
- 如果匹配,那么我希望 I 列相邻的单元格保持空白。
- 如果不匹配,那么我想将数据源 1 中的人员放入 I 列相邻的单元格中
供参考
- 数据从第 7 行开始,可能有多达 5000 个帐号
- 如果来源 2 中的帐号不在来源 1 中的帐号列表中,那么我希望将单词 CHECK 插入到第 I 列相邻的单元格中。
- 我使用 Excel 2013
请参阅以下电子表格副本的链接(托管在 Google Drive 上): https://drive.google.com/file/d/0B0FUMX_fxi4GelBxS0cxTE00eHM/view?usp=sharing
我尝试使用“COUNTIFS”,它在一定程度上有效;它比较它们是否匹配,但我不知道如何完成我需要的所有上述操作。我假设需要一个宏,但我不知道从哪里开始创建一个宏来执行上述操作。
答案1
您可以使用 Vlookup,$B$7:$C$500 是源 1、帐号和人员中的范围,使用绝对引用以便在将公式拖到列下方时保持固定,2 是第二列(人员)用于与源 2 中的人员进行比较,False 表示完全匹配,在 I7 中写入以下内容并将其向下拖动:
=IF(ISERROR(VLOOKUP(F7,$B$7:$C$500,2,FALSE)),"检查",IF(VLOOKUP(F7,$B$7:$C$500,2,FALSE)=G7,"",VLOOKUP(F7,$B$7:$C$500,2,FALSE)))
一旦出现错误,公式将在 I 列中写入 Check,这意味着 F 中的帐号在源 1 中不存在,如果存在并且相应的人员在源 1 和源 2 中相同,它将返回空白“”,否则它将返回源 1 中的正确人员。