比较两个列表并在Google电子表格中显示缺失的项目


9

我正在尝试找到一种解决方案,比较两个单独的列表(邀请-出席)并创建第三个列表(不存在)。

该功能必须查看“与会者列表(D,E,F)”中的键,并将其与“邀请列表(A,B,C)”中的键进行比较,然后在“缺席列表(G,H)中显示缺失值,一世)”。

关于数据

  • 密钥是分配给每个受邀人员的“唯一值”。
  • “邀请列表(A,B,C)”中的数据由QUERY数据组成。
  • “参与者列表(D,E,F)”中的数据将在单元格中复制/粘贴值。

预期结果示例

Invitded List (A,B,C)      Attended List (D,E,F)       Absent List (G,H,I)
 A      B       C            D      E       F            G      H        I
Key | Fname | Lname       | Key | Fname | Lname       | Key  | Fname | Lname
------------------------------------------------------------------- 
001   Tim     Smith         002  Mike     Jones         001    Tim     Smith
002   Mike    Jones         004  Jenny    Johnson       003    Amy     Wilson
003   Amy     Wilson
004   Jenny   Johnson

非常感谢您的协助。


vlookup为什么不为您完成这项工作?
rahi

@rahi谢谢您的关注。vlookup可能有效,请给我一些指导吗?
B先生

Answers:


3

您可以尝试这样的事情:

=if(countif(D:D,A2)=0,A2,"")  

然后反复复制以适合。

COUNTIF


这将作为部分结果,因为它将返回空字符串,应将其删除以获取所需的最终结果。
鲁本

6

=ArrayFormula(FILTER(A4:C7,ISERROR(match(A4:A7,D4:D5,0))))

说明

如果被邀请者未出现在与会者列表中,则MATCH返回错误。ISERROR将错误转换为TRUE,将值转换为FALSE。此结果用作过滤条件。结果是缺席列表:

|   001 |Tim       |Smith
|   003 |Amy       |Wilson

只需在公式上方添加适当的标题


0

VLOOKUP是获得所需答案的另一种方法,但是我不确定它是否以您想要的方式显示。

在Google表格帮助文章VLOOKUP中,

在范围的第一列中向下搜索键,并在找到的行中返回指定单元格的值。

因此,如果您Status在与会者列表上添加一列,则可以VLOOKUP在受邀列表上运行,要求其返回Attended状态。

您的数据可能如下所示:

在VLOOKUP之前

在单元格D2中,您的VLOOKUP公式如下所示:

=VLOOKUP(A2, E:H, 4, FALSE)

  • A2 是关键
  • E:H 是范围(与会者列表)
  • 4指的是您要返回的值范围内的列号
  • FALSE 表示您正在寻找钥匙上的完全匹配

当您将公式从单元格D2填充到D5时,最终得到的数据如下所示:

在VLOOKUP之后

如果存在匹配项,则Status值将被拉出。在没有匹配项的地方,您会看到一个#N/A


这将作为部分结果,因为它将返回错误,这些错误可用于以后过滤邀请列表以获取所需的最终结果。
鲁本

0

一单元解决方案:

FILTER功能与COUNTIF功能结合使用可为您提供所需的列表:

=FILTER(A:C,COUNTIF(D:D,A:A)=0))

在此示例中,我将键用作匹配字段,将列A与D中的匹配进行比较,但它也与其他列一起使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.