在两个列表中查找数据并相互比较

时间:2012-02-26 03:55:56

标签: excel excel-formula conditional-formatting

这是我第一次在这里发帖,但我不知道还能去哪里。

我在excel中有两个列表,它们都有相似的数据,但是顺序不同,每个列有3列(前缀(A,D),后缀(B,E)和数据(C,F))。 / p>

假设列表1在列A,B和C中;并在D,E,F中列出2。

C列中的每个元素在F列中都有一个相同的元素,但顺序不同,前两个列(前缀和后缀)可能有也可能没有与对应的值不同。

我想这样做(我想它必须用宏完成,但我真的不知道,我不是太多的excel专家),我想从列C中取出每个元素(数据)并且在F列中发现它是等价的,之后,我想比较它们的前缀和后缀,并且可能在它们不同时将其涂成红色,在它们相同时涂成绿色。

这可能吗? (并没有太多的麻烦?)

如果你不明白,请回复,我会很乐意尝试更好地解释。

2 个答案:

答案 0 :(得分:3)

您可以使用条件格式

在没有宏的情况下执行此操作

(在Debra Dalgleish的网站here上有很好的条件格式编写。在xl2003中,可以通过Format .. Conditional Formatting菜单访问条件格式。)

如果要匹配的数据在A1:F10中,那么这两个公式可用于

  • 将列C与F匹配,并返回F中C列匹配的位置
  • 将此位置的D列和E列中的值与A列和B列中的相应值进行比较
  • 使用=A1=INDEX(D$1:D$10,MATCH($C1,$F$1:$F$10,0))
  • 格式化有效的列A和B匹配
  • 使用=A1<>INDEX(D$1:D$10,MATCH($C1,$F$1:$F$10,0))
  • 格式化无效的列A和B匹配

在下面的示例中,我已将这两种条件格式添加到xl2010中的单元格A1:B10

有效匹配为绿色 无效的匹配为红色 非匹配未格式化

所以A1和B1是绿色的,因为它们匹配D2(Mr)和E2(琼斯),因为C1和F2中的公共值为1 所以A3是绿色的,因为它在C3和F1中匹配D1(父亲)10,但是B3是红色的,因为E1不包含“wang”

enter image description here

答案 1 :(得分:1)

我会做以下事情:

  1. 在列D和E之前移动列F(现在D是数据,E是前缀,F是后缀)

  2. 使用以下公式创建三个新列G,H和I:

    =vlookup(C1, D:F, 2, 0)

    =vlookup(C1, D:F, 3, 0)

    =and(G1=A1,H1=B1)

  3. 在第I列放置条件格式,红色表示FALSE,绿色表示TRUE。

  4. 第一步是必要的,因为VLOOKUP将在第一列数据中查找值。

    在第二步中,您将列C与列F(现在移动到D)匹配,并获得相应的前缀和后缀。下一个公式比较两者并且如果它们都匹配则返回TRUE或FALSE。

    如果需要,您可以将所有三个公式合并为一个。