目次
あいまいな言葉で、文字列を変換する
こんにちは。伊川(@naonaoke)です。
本日は、ワイルドカードについて説明します。
ワイルドカードを聴いたことが無い人は、なにを言っているのか理解できないと思います。
すべてのデータベースに入力されている言葉は、整形されていることはありません。
「~のような」「~ではじまる」「~を含んだ」等、このような場合を想定して、クエリを操作します。
問題提起
(株)IKAWAの阿久 世子男(アク セスオ)は、上司から、下記のような依頼をされました。
・iPhoneなら、OSは、IOS、それ以外なら、OSは、Androidというように、機種を振り分ける。
・Excelを利用しないで、ACCESSで作成すること。
携帯電話の機種はたくさんあり、OS別の振り分けは時間がかかりそうです。
なにか良い方法はないでしょうか?
解決策
・ワイルドカードを使う
・IIf関数で条件判定をする。
ワイルドカードってなに?
上の図のように、Xperiaが仲間はずれになっています。
このような場合は、ワイルドカードを使うとカンタンに抽出できます。
ワイルドカードを表にまとめる
種類 | ワイルドカードの意味 |
---|---|
* | 0文字以上の任意の文字列 |
? | 任意の1文字 |
# | 任意の1けたの数字 |
[ ] | [ ]内の特定の文字 |
以上になりますが、ほとんどは、「*○○○*」というように使います。
データベースを抜粋しましたが、上の図は、iPhoneを含む文字しか入っていません。
ワイルドカードの使い方 iPhoneの場合
上の図のように、クエリデザインの、抽出条件に、
上の図のようになります。
大文字、小文字は関係ありません。
ワイルドカードは、「~を含む」で抽出するからです。
ワイルドカードの使い方 iPhone以外の場合
上の図のようになります。
ワイルドカードで、「~を含まない」という場合は、Likeの前にNotで否定します。
みなさん、覚えていますでしょうか?不定詞の否定は、toの直前に、notをつけます。高校の英語の時間で習いました。ワイルドカードも同じで、先頭に、Notをつけると、「~を含む」が「~を含まない」になります。
IIf関数とワイルドカードを組合わせて、各機種のOSを表示する
完成しました。
まとめ
今回は、IIf関数と、ワイルドカードの組合せで、文字列を変換しました。
1つの関数だけでなく、いろいろな技を組合わせて、みなさんのやりたいことを実現していきましょう。