Accessクエリの抽出条件でIIf関数を使用する方法

アクセス担当のまみです。

IIf関数って条件を判断して値を返してくれます。

条件にあてはまればA、あてはまらなければBって分類してくれます。

条件にあてはまるものを自動で分類してくれるのでとっても助かりますね!

 

今回は、IIf関数についてお伝えしますね。

 

IIf関数

 

構文
IIf(条件式、真の場合、偽の場合)

 

(はてな君)
IIfってIfの親戚?

 

(あいちゃん)
そうだね~。あながち間違いでもないかも。やりたいことは同じかな。ちょっと構文がちがうけどね。

 

(はてな君)
ふ~ん。どうやって使うの?

 

(あいちゃん)
じゃぁ実際にやってみる?

 

(はてな君)
やってみる~!

 

使用するテーブル

 

備品を管理していて、在庫数が5を下回った時に購入を考えたいとします。

使用例
購入判定: IIf([在庫数]<5,”要購入”,”購入不要”)
購入判定: IIf([在庫数]>=5,”購入不要”,”要購入”)

 

(はてな君)
どっちも同じ結果になるんじゃないの?

 

(あいちゃん)
そう思う?まぁ見ててね!

 

 

(はてな君)
赤ボールペン購入!

 

(あいちゃん)
じゃぁもう一つを見てみようね。

 

 

(はてな君)
あれ?消しゴムがさっきは購入不要だったのに今度は要購入になったよ?

 

(あいちゃん)
消しゴムが空欄だからなんだよ。

 

(はてな君)
空欄だから?

 

NULL値を抽出

 

NULL値の扱いには注意が必要です。

NULL値は条件にあてはまらないので、偽の場合になります。

 

(あいちゃん)
実はNULL値を抽出する方法があるんだよ。

 

(はてな君)
えっどうやるの?

 

使用例
購入判定: IIf([在庫数] Is Null,”判定不能”,””)

 

※Isの前後には半角のスペースが必要です。

 

 

(はてな君)
あ~ホントだぁ。空欄の消しゴムに判定不能って表示された~!だけど知りたいのは、判定不能だけじゃないね。

 

(あいちゃん)
ちょっと難しいけど、「要購入」「購入不要」「判定不能」を表示させてみようか。

 

(はてな君)
は~い!

 

 

IIf関数で複数条件の設定

 

入れ子(ネスト)にすると複数条件の設定ができます。

使用例
購入判定: IIf([在庫数]<5,”要購入”,IIf([在庫数] Is Null,”判定不能”,”購入不要”))

 

 

(はてな君)
すご~い!全部表示された~!だけど見にくいね。

 

(あいちゃん)
あっやっぱりそう思う?じゃあおススメの方法を教えちゃおう!

 

使用例
購入判定: IIf([在庫数]<5,”要購入”,IIf([在庫数] Is Null,”判定不能”,””))

 

 

(はてな君)
なるほど~。必要な部分だけ表示させればいいんだ~。

 

消しゴムが空欄になっている理由は、入力もれと0の場合と2通り考えられるかなって思います。

入力もれは仕方がないのだけど、0の場合は0と入力するようにすると空欄の扱いに困らなくて済むのでおススメです。

 

必要なクエリは名前を付けて保存してくださいね。

 

まとめ

 

IIf関数を上手に使えばとっても活躍してくれますよ!

ぜひ活用してくださいね!