如果单元格在范围内,则"yes"



当前在Excel中具有以下公式:

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

但是,这没有给出正确的答案。问是:

如果D3在J和E3列在E列中的同一行中,则是,如果不是,则否。

任何帮助将不胜感激。

一个简单的countifs函数是这种情况的理想选择:

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

我相信使用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

这个公式怎么样:

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

它检查D3是否在J列中,如果是的,则可以查看j。J。

中的D3的值是否与D3的值相同。

使用匹配功能。匹配功能返回匹配查找值的行。如果两者相等,则它们在同一行中。

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

最新更新