少し変則的ですが、こちらに
IFで書いた内容をVBAに
https://www.moug.net/faq/viewtopic.php?t=83062
のコメントを書きます。(新しいスレッドを建てるのもどうかと思いまして)
Excel365なら、B4セルに以下の式を入れますね。
=LET(
n,COUNTIF(E4:F4,"あり"),
IFS(AND(D4="A",n>0),"R1",
AND(D4="A",n=0),"R2",
AND(D4="B",n>0),"R2",
AND(D4="B",n=0),"R3",
D4="C","R3",
TRUE,"")
)
VBAで書くならこんな感じですか?
Sub test()
Dim n As Long
Dim s As String
n = Application.CountIf(Range("E4:F4"), "あり")
Select Case Range("D4")
Case "A": If n > 0 Then s = "R1" Else s = "R2"
Case "B": If n > 0 Then s = "R2" Else s = "R3"
Case "C": s = "R3"
Case Else: s = ""
End Select
Range("B4") = s
End Sub
確かに、割と基本的なことのようではありますが、項目によって理解に濃淡があるのでしょうか。