在 Excel 中比较同一列中不同数据的行对

在 Excel 中比较同一列中不同数据的行对

语境

我在 MS Excel 2010 中有一个电子表格,其中包含五列和 5,361 行数据(包括标题行)。

该表包含与电子邮件地址相关的数据(其中电子邮件地址列在 A 列中)。总共有 2,680 个电子邮件地址,默认情况下数据按电子邮件地址的字母顺序排序,因此第 2 行和第 3 行包含相同的电子邮件地址,第 4 行和第 5 行包含相同的电子邮件地址,依此类推。

E 列包含状态值(每个值都是三个词的短语)。例如,短语可能是“TP 上有效”、“BAS 上退回”等等。有八个这样的状态值,对于属于同一电子邮件地址的每一行,它不可能的状态值将会匹配。

问题

我需要做的是找到一种方法来识别那些电子邮件地址状态值的第一个字不匹配

例如,如果单元格 E2 和 E3 的状态值都以单词“Active”或单词“Bounced”开头,则这些单元格不符合条件。但如果单元格 E2 的值为“Active on TP”,而单元格 E3 的值为“Bounced on BAS”,则这些单元格符合条件。

下面是一个虚拟截图,显示了符合条件或不符合条件的示例:

在此处输入图片描述

如您所见,电子邮件地址 2 和 4 符合条件,因为它们的两个状态值(在 E 列中)不要开始用同一个词。

我已经尝试过的方法

我没有详细列出我所有的尝试,而是尝试使用COUNTIF公式、添加“辅助”列、使用数据透视表和使用条件格式。

我也考虑过将每个唯一电子邮件地址的两行合并为一行,并增加更多列,但我不确定这是否有助于我实现最终目标。此外,这是我需要做的一次性分析,因为我正在建立中央数据源和仪表板,所以如果可能的话,我希望避免付出这种程度的努力。

我的问题

我如何轻松识别符合我的标准的电子邮件地址(或相反,不符合标准的电子邮件地址)?

答案1

您可以添加一列来显示哪些行在 D 列中具有不同的值。(如果查看 E 列​​很重要,这可能是作弊。请告诉我。)

公式可以是

=IF(A2=A1,IF(D2<>D1,TRUE,""),"")

或者仅仅

=IF(A2=A1,D2<>D1,"")


这些将给予

示例电子表格的裁剪屏幕截图显示了第一个公式的结果:TRUE 出现在非重复项旁边,而空字符串出现在其他所有内容旁边。

示例电子表格的裁剪屏幕截图显示了第二个公式的结果:非重复项旁边显示 TRUE,重复项旁边显示 FALSE,每对的另一行旁边显示空字符串。

分别。


我认为前者更适合阅读,后者更适合过滤。(请注意,过滤时,状态栏(至少在 Excel 2013 中)会显示过滤器显示的行数。)

答案2

您的问题可以通过使用帮助列来解决:

在此处输入图片描述

怎么运行的:

  • H是辅助列。
  • 在单元格中输入此公式H10并填写。

    =IF(H8="","B",COUNTIF($F$9:$F9,F10))


注意:

  • 公式B在单元格中返回H10,因为这是本练习中比较棘手的部分,否则如果使用了这个公式 ,则会在单元格中=COUNTIF($F$9:$F9,F10)返回。0H10

  • 由于我使用的值0&3来识别行不匹配,因此H10需要管理单元格(因为通常Counif会返回0)。

  • G我之所以使用 Column而不是 Column 中的第一个单词,F是因为那里的数据与 Column 中的每个第一个单词都相似G


  • 在列中选择所需的行G
  • 到达条件格式然后新规则并应用此公式,

在此处输入图片描述

  • 涂抹适当的颜色并完成好的

  • 您可以隐藏辅助列。

根据需要调整单元格引用。

相关内容