突出显示Sheet1中与Sheet2中的值匹配的行

时间:2012-10-06 20:49:56

标签: excel excel-vba excel-formula excel-2010 vba

自从我在Excel中完成任何高级操作以来已经有很长一段时间了。我有Excel 2010.我看了很多视频,并尝试了一些教程,这些教程都是我正在寻找的,但我只是错过了一些东西。

这就是我想要完成的...我在Sheet2中列出了大约50个SKU。我在Sheet1中有200个产品的完整列表。

SHEET1:

ColA are SKUs
ColB is Desc
ColC is Price

SHEET2:

ColA are SKUs

我需要一个公式或宏来查看Sheet2中的所有SKU,然后找到Sheet1 ColA中的任何匹配项,然后突出显示匹配的行。

我非常感谢您提供的任何帮助,即使它只是一个确切示例的链接。谢谢!

4 个答案:

答案 0 :(得分:3)

如果您只想标记匹配的行,则可以轻松完成。这将返回匹配的SKU,如果不匹配则返回#N / A:

=VLOOKUP(A2,Sheet2!$A:$A,1,FALSE)

如果您真的想要突出显示,可以使用上面的辅助公式,并在该范围内设置条件格式(CF)。 CF公式将类似于

=NOT(ISNA($D2))(假设您将VLOOKUP放在D列中)

还有另一种方法可以使用不使用辅助公式的CF.首先,您需要在Sheet2 A:A上设置命名范围。我将在此示例中将其称为SKUs

然后像这样的CF公式将标记匹配的行:

=MATCH($A2,SKUs,0)>0

编辑:我假设数据(和CF范围,如果你使用它)从第2行开始,允许第1行的标题。

答案 1 :(得分:2)

这可能有点晚了,但我想我仍然会增加2美分。我用以下公式做类似的事情...... = IFERROR(IF(VLOOKUP(B1,Sheet2的$ A:$ A,1,FALSE)大于0, “Y”, “N”), “N”)

基本上我只有一列Y或N,如果该项也在“Sheet2”上,这是决定它是Y还是N的公式。

答案 2 :(得分:1)

只需在条件格式公式中使用VLOOKUP()和IFERROR()。

选择您要应用条件格式的范围,然后执行首页 - >条件格式(2007年)然后“应用公式”。

然后你会想要或多或少地使用这个公式:

=IF(IFERROR(VLOOKUP($A2, Sheet2!$D$2:$D$4, 1, 0)), 0, 1)

根据您的需要调整范围。我在2007年对此进行了测试。

答案 3 :(得分:0)

您可以在Excel 2010中使用条件格式来实现您想要执行的操作。

有两种方法可以做到这一点。第一个仅适用于一个工作表中的范围,而第二个允许您跨工作表工作。

  1. 假设您可以在一个工作表中复制并粘贴两个范围,则可以使用Control键选择两个范围。选择范围后,转到主页 - >条件格式 - >突出显示单元格规则 - >重复值。现在,在对话框中选择“复制”,它应突出显示范围1中出现在范围2(原始SKU列表)中的名称。

  2. 如果无法将第二个范围复制并粘贴到同一工作表中,则必须使用带有条件格式的公式。在工作表1的ColA中选择使用的范围,转到主页 - >条件格式 - >新规则。现在选择规则类型“使用公式确定要格式化的单元格”。现在键入这样的公式(此公式假定您应用调用对话框时光标在A1中)

    = COUNTIF(Sheet2的$ A $ 1:!$ A $ 3 Sheet 1中A1)

  3. 这应该在Sheet1中突出显示Sheet2中找到的所有项目。编辑上面的公式以包含适合您情况的正确范围,并在知道如何操作时使用动态范围。

    我已经无数次地使用了方法1,我刚刚用样本测试了方法2并且它可以工作。如果他们不适合你,请告诉我,我可以帮助你。