今日はOR関数について、自分用の備忘録(すぐ忘れるので)。
例えば、指定した県が北陸三県であるか判別したい場合。
ユーザー定義関数で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
もっとも、この程度であれば、ワークシート関数で充分対応できる。
ところで、同じく個人の意見ではあるが、常々この
OR([@県名]="福井",[@県名]="石川",[@県名]="富山")
の部分で何度も"[@県名]="と書くのが面倒だと思っていた。ところが先日、
このような書き方も可能であることを知った。
なるほど、これは便利だ!と思ったのも束の間、普段使わないため直ぐに
忘れて探し回ることが何度かあった。年だねぃ、直ぐに忘れる。
探す時間がもったいないので、備忘録としてここに記しておくことにします。
参考まで。