Excel - 比较两列以获得差异计数

时间:2016-04-25 16:34:14

标签: excel-formula excel-2010

情景:

Excel工作簿有3张。 Sheet1有一个“原始”用户列表,它不会改变,Sheet2有一个“当前”用户列表,它确实发生了变化,Sheet3有一些总计信息,比如Sheet1上仍然在Sheet2上的用户总数。

问题:

我可以标记和计算Sheet1上不再属于Sheet2的那些,并提供Sheet3的总计数 - 这使用Sheet1上的另一列和IF语句 - 但我不能对Sheet2上的那些人这样做不是在Sheet1上(有人添加,比如说),因为Sheet1信息每周都会被手动过程覆盖。

问题:

当我无法向Sheet2添加列时,如何在Sheet3和Sheet3上显示Sheet2上不在Sheet1上的用户总数?

非常感谢您对此问题的考虑 - NigeH

进一步信息:

Sheet1 ColumnA第1-10行 - 输入您想要的任何10个名字。 Sheet2 ColumnA第1-10行 - 输入Sheet1中的8个名称和2个新名称。 Sheet3 - 不使用Sheet1或Sheet2上的任何新字段 - 最好只有Sheet3上的一个字段 - 显示Sheet2上不在Sheet1上的名称计数。

2 个答案:

答案 0 :(得分:0)

尝试此数组公式(假设您的列表位于两个工作表的A列中)...

{=COUNTA(Sheet2!$A:$A)-SUM(IF(ISERROR(MATCH(Sheet2!$A:$A,Sheet1!$A:$A,0)),0,1))}

如果您想在Sheet3上显示不在Sheet1上的用户,请填写此公式......

=IF(ISERROR(MATCH(Sheet2!$A1,Sheet1!$A:$A,0)),Sheet2!$A1,"")

答案 1 :(得分:0)

我有一个快速的解决方案,不是那么聪明,但有效。 您将需要2个堆积列。一列从Sheet2获取所有用户名 在单元格A1中的Sheet3中,您应该写:

=Sheet2!A1

你应该在从A1到A的所有单元格中复制它(用户名计数); 然后在单元格B1中的Sheet3中写:

=IF(ISBLANK(A1),"",VLOOKUP(Sheet2!A:A,Sheet1!A:A,1,FALSE))

你应该在从B1到B的所有单元格中复制它(用户名计数)NOT MORE; 最后在单元格C1中的Sheet3中,如果你写的话,你将得到你的计数:

=COUNTIF(B:B, NA())

如果我变得更聪明,那将是edint。