比较两个excel的两列并返回第三列

Posted

技术标签:

【中文标题】比较两个excel的两列并返回第三列【英文标题】:Compare two columns of two excels and return 3rd column 【发布时间】:2016-11-16 13:52:01 【问题描述】:

我想比较两个不同 Excel 工作表的两列,并在第一个 Excel 工作表的相应匹配行前面返回第二个 Excel 工作表对应的第 3 列值。

假设 Excel 1 包含跟随值

Sl.No   Count
-------------------------------
105       1  
106       2  
107       3  
108       4  
109       5  
110       6  

Excel 2 包含

Sl.No   Count   Grade
-----------------------
108       4       A  
109       5       B  
110       6       C  
111       1       D  

预期结果

Sl.No   Count   Grade
-------------------------
105       1  
106       2 
107       3 
108       4       A  
109       5       B  
110       6       C  

请建议,我应该使用什么功能。

提前致谢。

【问题讨论】:

【参考方案1】:

使用这个公式:

=IFERROR(IF(VLOOKUP(A2,'Excel 2'!$A$2:$B$1000,2,FALSE)=B2,VLOOKUP(A2,'Excel 2'!$A$2:$C$1000,3, FALSE),""),"")

将其放入第一张表格的单元格 C2 中并填写。

【讨论】:

嗨,Bzimoir,感谢您的快速回复,您能否解释一下这个函数,因为我试图用这个公式得到结果,但没有看到任何结果。 这是我的示例工作簿,请查看:drive.google.com/open?id=0B2x_I7I1nAg1SUd1Zjg1WkFwTVU【参考方案2】:

下面是另一个公式选项。稍微干净一些,但它是一个数组公式,因此处理大型数据集可能会更慢。

=IFERROR(INDEX(Sheet2!C:C,MATCH(A1&B1,Sheet2!A:A&Sheet2!B:B,0)),"")

这是一个数组公式,所以退出编辑模式时一定要按Ctrl + Shift + Enter。如果操作正确,excel 将在公式周围加上大括号。

【讨论】:

嗨,斯科特,感谢您的快速回复。我尝试了你提到的上述公式,没有得到预期的结果,请你解释一下。 @AkshayKumar - 基本上,它将 sheet1 的 A 和 B 列与工作表 2 的 A 和 B 列进行匹配,并返回工作表 2 的 C 列中的相应值,其中 sheet2 的 A 和 B 列匹配 sheet1 A 和B(全部用于 sheet1 中的每一行)。

以上是关于比较两个excel的两列并返回第三列的主要内容,如果未能解决你的问题,请参考以下文章

使用python返回excel中两个不同文件中两列之间的差异

如何从字符串中提取文本并将其保存为两列并在第三列的末尾添加字符

Pandas - 匹配来自两个数据帧的两列并在 df1 中创建新列

如何将所有行的两列总和为第三列

Pandas:将依赖于第三列的相同数据框的两列相乘

SQL:包含 NULLS 的两列的总和?