如果范围内的单元格则为“是”

时间:2017-12-21 16:52:34

标签: excel excel-vba vba

目前在Excel中有以下公式:

=IF(AND(D3=Range(J:J);E3=Range(E:E));"Yes";"No") 

然而,这并没有给出正确的答案。问的是:

如果D3在列J中,而E3在列E中位于同一行,则是,如果不是,则为否。

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:1)

简单的COUNTIFS函数非常适合这种情况:

=IF(COUNTIFS(J:J;D3;E:E;E3);"Yes";"No")

答案 1 :(得分:0)

我相信使用VBA可能更容易实现这一点(假设您的工作表中有标题):

Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet1") 'set this to your sheet name
Lastrow = ws.Cells(ws.Rows.Count, "J").End(xlUp).Row 'check last row on column J
For i = 2 To Lastrow 'loop til last row
    If ws.Cells(i, "J").Value2 = ws.Range("D3").Value2 Then 'if D3 is in column J then
        If ws.Cells(i, "E").Value2 = ws.Range("E3").Value2 Then 'if E3 is in column E (same row as J was found) then
            ws.Cells(i, "H").Value2 = "Yes" 'add yes to column H, change this to where you want the answer yes/no
        Else
            ws.Cells(i, "H").Value2 = "No"
        End If
    Else
        ws.Cells(i, "H").Value2 = "No"
    End If
Next i
End Sub

答案 2 :(得分:0)

这个公式怎么样:

=IF(AND(COUNTIF(J:J,D3)>0,MATCH(D3,J:J)=MATCH(D3,E:E)),"Yes","No")

它检查{J}列中是否有D3,如果是,它会看到列J中D3的值是否与{{1}的值相同在J栏中。

答案 3 :(得分:0)

使用匹配功能。 match函数返回匹配查找值的行。如果两者相等,那么它们就在同一行。

=IF(MATCH(D3,J:J,)=MATCH(D3,E:E,),"YES","NO")