OR関数についての備忘録

今日はOR関数について、自分用の備忘録(すぐ忘れるので)。
f:id:Infoment:20210215232844p:plain

例えば、指定した県が北陸三県であるか判別したい場合。
ユーザー定義関数でORを用いると、このような表現が可能だ。
とても一般的で、理解し易いと思う。

Function Is北陸_OR(県名 As String) As Boolean
    If 県名 = "福井" Or 県名 = "石川" Or 県名 = "富山" Then
        Is北陸_OR = True
    Else
        Is北陸_OR = False
    End If
End Function

或いは、ORは全部ひっくり返せばNot Andで表すこともできる。
ただし直感的に理解しにくい場合があるため、使い処は選んだ方が良い。

Function Is北陸_NotAnd(県名 As String) As Boolean
    If Not (県名 <> "福井" And 県名 <> "石川" And 県名 <> "富山") Then
        Is北陸_NotAnd = True
    Else
        Is北陸_NotAnd = False
    End If
End Function

またこのような場合は、Select Caseも有効だ。
個人的には、これを最も好んで使っている(分かり易いから)。

Function Is北陸_SelectCase(県名 As String) As Boolean
    Select Case 県名
        Case "福井", "石川", "富山"
            Is北陸_SelectCase = True
        Case Else
            Is北陸_SelectCase = False
    End Select
End Function

もっとも、この程度であれば、ワークシート関数で充分対応できる。
f:id:Infoment:20210215234932p:plain

ところで、同じく個人の意見ではあるが、常々この

OR([@県名]="福井",[@県名]="石川",[@県名]="富山")

の部分で何度も"[@県名]="と書くのが面倒だと思っていた。ところが先日、
このような書き方も可能であることを知った。
f:id:Infoment:20210215235333p:plain

なるほど、これは便利だ!と思ったのも束の間、普段使わないため直ぐに
忘れて探し回ることが何度かあった。年だねぃ、直ぐに忘れる。

探す時間がもったいないので、備忘録としてここに記しておくことにします。

参考まで。