使用VLOOKUP跨表格的条件格式设置,其中值等于是

时间:2018-06-13 14:05:07

标签: excel formatting conditional vlookup

我正在尝试根据不同表格中的表格突出显示某些单元格。

我在表格1的单元格A1,A2,A3等中有一行名称。 在表2中,我有一个表,其中有一个相同名称的列(A)和另一个值为“是”或“否”的列(B)。

如果第2页上等效名称旁边的值旁边有“是”,我试图让第1页上的名称突出显示。

我试过了:

=VLOOKUP(A$1,'Sheet2'!$A$1:$B$26,2,0)="Yes"

但它出于某种原因不喜欢它。没有错误,只是不起作用。 任何想法都会非常有用!

感谢您的时间!

2 个答案:

答案 0 :(得分:2)

在条件格式设置>中尝试此操作新规则>使用公式确定......:

=VLOOKUP($A1,'Sheet2'!$A$1:$B$26,2,0)="Yes"

然后下拉以仅复制格式或更改“条件格式”菜单中的“适用于”。

问题在于您修复了行,而不是列。

答案 1 :(得分:0)

您无法根据公式突出显示细胞。 (从技术上讲,您可以使用隐藏列创建规则,但仍然......)。

使用vba

可能更容易做到这一点
Private Sub highlight_names()

    Dim ws As Worksheet: Set ws1 = Sheets("Sheet1")
    Dim ws2 As Worksheet: Set ws2 = Sheets("Sheet2")

    Dim lr As Long, lr2 As Long
    lr = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    lr2 = ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row

    Dim rng As Range: Set rng = ws.Range(Cells(1, 1), Cells(lr, 1))
    Dim rng2 As Range: Set rng2 = ws2.Range(Cells(1, 1), Cells(lr2, 1))

    For Each cell In rng
        For Each Name In rng2

            If (cell = Name And Name.Offset(0, 1) = "Yes") Then
                cell.Interior.Color = vbYellow
            End If

        Next Name
    Next cell


End Sub