アクセス担当のまみです。
例えば、「WI-55-GT」のようなデータの「55」を取り出したいってことがあります。
先頭を取り出すのはLeft関数、末尾を取り出すのはRight関数だけど、真ん中を取り出すのってできるの?
さすがに真ん中を取り出すのはできないのかな?
そうなんです。先頭や末尾だけじゃなくて、指定した位置からの文字を取り出すことができるんです。
今回はMid関数についてお伝えしますね。
Contents
Mid関数
はてな君どうしたの?何か悩み事?
うん。入力してあるデータの真ん中を取り出したいんだけどできないのかな~って思って・・・
それって取り出したい位置や文字数は同じなの?
うん。桁数の決まっている商品コードだから同じだよ。
だったらMid関数が使えるよ!
構文
Mid(文字列, 開始位置[,文字数])
クエリでMid関数を使用する
じゃあクエリでMid関数を使ってみよう!
使用するテーブル
「T_サンプルデータ」
データ型はどちらも「短いテキスト」です。
テーブルの準備ができたら末尾2文字取り出すクエリを作成しましょう。
リボンの①「作成」タブから②「クエリデザイン」を選択し、「T_サンプルデータ」を追加します。
③フィールドに直接入力してもいいですが、右クリックして「ズーム」を選択すると、大きな画面で編集できます。
④「Mid: Mid([製品番号],4,3)」と入力して「OK」を左クリックしましょう。
開始位置は「-」の次だから4、取り出したい文字数は3ってことだよね?
そうそう、それで合ってるよ!
データシートビューに切り替えて確かめてみてね!
データシートビューに切り替えて確かめてみてね!
クエリの結果
真ん中の文字が簡単に取り出せたよ!
Mid関数って開始位置が指定できるから先頭や末尾のデータを取り出すこともできるんだよ!
えっそうなの?
[quads id=2]
Mid関数で先頭と末尾を取り出す
先ほどのクエリに先頭と末尾を取り出すクエリを追加しましょう。
先頭: Mid([製品番号],1,2)
末尾: Mid([製品番号],8.2)
開始位置は左から数えた位置になるんだよ。
つまり先頭を取り出したい時は1で、末尾を取り出したい時は商品コードのえ~っと・・・・
左から数えて8番目!
左から数えて8番目!
そうそう!データシートビューに切り替えてみてね!
へ~すごい!
Mid関数って万能なんだね!
Mid関数って万能なんだね!
ただ先頭から取り出すには開始位置はいつも1だけど、末尾を取り出すときは開始位置を数えないといけないからRight関数の方が簡単かな。
そっか。先頭や末尾を取り出したい時はLeft関数やRight関数がいいのかな。
構文も簡単だし。
構文も簡単だし。
まとめ
開始位置を指定できるMid関数についてお伝えしました。
Left関数やRight関数に比べて、開始位置の指定が必要な分少し構文が難しいかなって感じますが、どこからでも好きな位置から文字が取り出せるのが良いですね!
Mid関数は開始位置を指定して、指定した文字数を返してくれるよ!