ACCESS IIf関数で複数条件を指定する方法

IIf関数で複数条件を指定する方法

ACCESSではクエリなどで条件分岐をするために、IIf関数が用意されています。

このIIf関数、使いこなしてくると条件分岐を入れ子にしたくなります。

つまり、条件Aに対してYesの場合、さらに次の条件Bで判定を行う、という形です。

今回は、IIf関数で複数条件を指定する方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。

IIf関数の構文

IIf関数は、ACCESSのクエリで使用する条件分岐のための関数です。

まず、IIf関数の構文からご紹介します。

IIf ( 条件式 , 条件に合致した場合の式・値 , 条件に合致しない場合の式・値 )

基本的にExcelのIF関数と同じですので、構文は比較的理解しやすいでしょう。

例えば売上金額の大小を30,000円を区切りに判別する際には


 IIf([売上]>30000,"大","小")

という使い方をします。

上記の場合は、売上フィールドの値が30,000を超えている場合は条件に合致しているので「大」が表示され、3,000以下の場合は条件に合致しないので「小」が表示されます。

先にIIf関数の使い方から知りたいという方は下記の記事をご覧ください。

iif関数の使い方

IIf関数の入れ子構造

IIf関数は、最初の条件分岐の結果から、さらに条件分岐させることができます。

例えば、以下のtest_売上テーブルで、レコードの値に応じて以下のように判定をさせてみます。

・処理日が2021年1月1日以降で、かつ、伝票合計が30,000円以上の場合は「High」
・処理日が2021年1月1日以降で、かつ、伝票合計が30,000円未満の場合は「Low」
・処理日が2021年1月1日より前の場合は「None」

デザインビューでクエリを作成し、新しく判定フィールドを作成しました。

条件式をビルダーで表示すると以下になります。


 判定: IIf([処理日]>=#2021/01/01#,IIf([伝票合計]>=30000,"High","Low"),"None")

2つのIIf関数を入れ子構造にして、最初のIIf関数の条件である、2021年1月1日以降がTrueの場合に、2つめのIIf関数の条件が適用されていることが分かると思います。

以上、IIf関数で複数条件を指定する方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。