Excel VBAAND関数
ANDは論理関数であり、論理演算子でもあります。つまり、この関数で提供されるすべての条件が満たされると、真の結果が得られますが、条件のいずれかが失敗すると、出力はfalseに返されます。使用するVBAの組み込みANDコマンド。
「VBAOR」と「VBAIFOR」に関する記事をご覧いただければ幸いです。この関数は、OR関数の正反対です。OR関数では、結果をTRUEとして取得するために、指定された論理条件のいずれかが満たされる必要がありました。しかし、AND関数では、その逆です。TRUEの結果を得るには、Excelで提供されているすべての論理テストが満たされている必要があります。
OK、ExcelのAND関数の構文を見てください。
[論理テスト] AND [論理テスト] AND [論理テスト]
上記では、600点満点中2点のテストスコアがあります。
結果の列で、両方のテストのスコアが250以上の場合、結果をTRUEとして取得する必要があります。
下の画像を見てください。
論理関数を適用すると、結果が得られます。セルC4とC5では、テスト1とテスト2のスコアが250以上であるため、結果はTRUEになりました。
ここでC6セルを見ると、テスト2のスコアが250に等しいにもかかわらず、FALSEが返されています。これは、テスト1ではスコアが179しかないためです。
VBAと関数の使用例
このVBAおよびExcelテンプレートはここからダウンロードできます– VBAおよびExcelテンプレート例1
たとえば、ここでは、25> = 20と30 <= 31の数値をテストします。
ステップ1:変数を文字列として宣言します。
コード:
Sub AND_Example1()Dim K As String End Sub
ステップ2:変数「k」に対して、AND関数を適用して値を割り当てます。
コード:
Sub AND_Example1()Dim K As String K = End Sub
ステップ3:最初の条件を25> = 20として指定します。
コード:
Sub AND_Example1()Dim K As String K = 25> = 20 End Sub
ステップ4: AND関数を開き、2番目の論理テスト(30 <= 29)を指定します。
コード:
Sub AND_Example1()Dim K As String K = 25> = 20 And 30 <= 29 End Sub
手順5: VBAのメッセージボックスに変数「k」の結果を表示します。
コード:
Sub AND_Example1()Dim K As String K = 25> = 20 And 30 <= 29 MsgBox K End Sub
マクロを実行して、結果を確認します。
最初の条件25> = 20の2つの条件を適用しなかったため、結果はFALSEになりました。この条件は満たされているため、結果はTRUEであり、2番目の条件30 <= 29は、これが満たされていない結果はFALSEです。結果をTRUEとして取得するには、両方の条件が満たされている必要があります。
例2
次に、論理テストを「100> 95 AND 100 <200」に変更します。
コード:
Sub AND_Example2()Dim k As String k = 100> 95 And 100 <200 MsgBox k End Sub
コードを実行して結果を確認します。
ここでは、結果としてTRUEが得られました。
1番目の論理テスト:100> 95 = TRUE
2番目の論理テスト:100 <200 = TRUE
両方の論理テストでTRUEの結果が得られたため、最終結果はTRUEになります。
例3
これで、ワークシートのデータが表示されます。ExcelAND関数の例を示すために使用したデータを使用します。
ここでの条件は、テスト1スコア> = 250およびテスト2スコア> = 250です。
データのセルが複数あるため、ループを使用して、不必要で時間のかかるコード行を記述しないようにする必要があります。私はあなたのために以下のコード、式を書きました、そして論理は私が「次のループのためにVBA」を使用したということだけが同じです。
コード:
Sub AND_Example3()Dim k As Integer For k = 2 To 6 Cells(k、3).Value = Cells(k、1)> = 250 And Cells(k、2)> = 250 Next k End Sub
これにより、ワークシート関数とまったく同じ結果が得られますが、数式は取得されず、結果のみが取得されます。
このように、AND論理関数を適用して、目的の結果に到達するためにすべてTRUEである必要がある複数の条件をテストできます。
これはOR関数とは完全に逆に機能します。ORでは、結果を取得するために指定された条件のいずれか1つがTRUEである必要がありますが、結果を取得するには論理テストで100%の結果が必要です。