Excel 中的深度匹配

Excel 中的深度匹配

在 Excel 中对公式进行了一番折腾之后,我决定直接提出这个问题。我遇到了一个相当特殊的情况,坦率地说,我不确定 Excel 是否真的能够处理。

我在同一个工作簿中有两个单独的工作表。

第一张表看起来像这样:

| id | Description |
|----|-------------|
| 1  | Apple       | 
| 2  | Apple       | 
| 3  | Banana      | 
| 3  | Grapes      |
| 4  | Apple       |
| 4  | Grapes      | 
| 4  | Banana      | 
| 4  | Lemons      | 

第二张是这样的。请注意,第二张表的每个 ID 只有一个条目:

| id | Name        |
|----|-------------|
| 1  | John        | 
| 2  | Fred        | 
| 3  | Barney      | 
| 4  | Sarah       |
| 5  | Jane        |
| 6  | Rachel      | 
| 7  | Carson      | 
| 8  | Richard     | 

我一直在尝试拼凑一个 excel 公式来测试描述是否匹配 ID 号。例如,我希望在第二张工作表上有一列,其中将打印“是”用于描述香蕉的任何 ID。在这种情况下,Barney 和 Sarah 的行中都会有“是”,但其他行中没有。我尝试过 Vlookup 和随机 If 嵌套,但似乎都不喜欢工作表 1 可以有多个具有相同 ID 号的行。

这种公式可能吗?

答案1

使用 COUNTIFS() 返回满足两个条件(ID、Description)的计数。

=IF(COUNTIFS(Sheet1!A:A,A2,Sheet1!B:B,"Banana"),"Yes","no")

如果两个条件都满足,则返回一个正数,IF 会将其视为真。如果只有一个条件或一个条件都不满足,则返回正数,0IF 会将其视为假。

在此处输入图片描述

答案2

传统方法(在COUNTIFS()发明之前)是使用数组公式,它也可以完成这项工作。

=SUM(($A$2:$A$9=$D2)*($B$2:$B$9=F$1))

说明:尽管例如A2=D2呈现TRUE或,但是当放入计算中时,FALSE它们会转换为1和,这在乘以两个或多个条件表达式时非常有用。0

截屏

如果你想要“是”或“否”,你可以这样说:

=IF(SUM(($A$2:$A$9=$D2)*($B$2:$B$9=F$1)),"yes","no")

相关内容