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

问题描述 投票:0回答:4

目前在Excel中有以下公式:

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

但是,这并没有给出正确的答案。问的是: 如果D3在列J中并且E3在列E中的同一行中,则是,如果不是,则为否。

任何援助将不胜感激。

excel excel-vba vba
4个回答
1
投票

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

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

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

0
投票

这个公式怎么样:

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

它检查D3是否在J列中,如果是,它会看到列J中的D3的值是否与第J列中的D3值相同。


0
投票

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

=IF(MATCH(D3,J:J,)=MATCH(D3,E:E,),"YES","NO")
© www.soinside.com 2019 - 2024. All rights reserved.