目前在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中的D3
的值是否与第J列中的D3
值相同。
使用匹配功能。 match函数返回匹配查找值的行。如果两者相等,则它们在同一行。
=IF(MATCH(D3,J:J,)=MATCH(D3,E:E,),"YES","NO")