【本日のミッション】
Excel にて、ワイルドカードの色々な使い方を検証せよ。
目次
ミッションの概要
Excelを使っていると、必ず出会うワイルドカード。
初めてその単語を聞いた時、ワイルドなカードって???って戸惑いました。
使ってみると、あら便利。
検索・フィルター・VBA色々な場面で活躍してくれるワイルドカード。その魅力に迫ってみましょう。(←どんなミッションやねん・・・。)
ワイルドカードとは
「検索」「フィルター」「VBA」などで「ある文字列」を検索したい時、完全一致じゃなくてあいまい検索したい時ってよくありますよね。
検索条件に「あさり」と入力して「あさり」を検索するのが完全一致検索。
検索条件に「*あ*」と入力して「あさり」も「えくれあ」も「ちあだんす」も全部拾って検索してくれるのがあいまい検索。検索条件をちょっとゆるめて、検索に引っ掛かる単語の幅を広げてくれます。
あいまい検索をする際に使用するのがワイルドカード。
「*」アスタリスクと「?」疑問符 クエスチョン 「~」チルダの3種がありますので、個々にご説明します。
「*」アスタリスク
ワイルドカードの中でも一番活躍してくれるのが「*」アスタリスクです。
使い方は、あいまいな条件にしたい部分に「*」を入れるだけ。
- 「あ」から始まる単語を検索したい時
「あ*」→あり・あたり・あんこう・あくありうむ・あたりめ - 「あ」で終わる単語を検索したい時
「*あ」→しにあ・えくれあ - 「あ」がどこかに含まれる単語を検索したい時
「*あ*」→あり・えくれあ・ちあだんす・こあら
「?」との違いは、「*」の部分が何文字になってもいいというところです。
だから「あ*」では、「あり」も「あくありうむ」も検索してくれます。
「?」疑問符 クエスチョン
「*」アスタリスクと違って、あいまいな部分の文字数を指定して検索するのが「?」です。
- 「あ??」→あたり・あさり・あけび
- 「?あ?」→きあい・ばあい・もあい
- 「??あ」→しにあ・けにあ
アスタリスクと疑問符の使い方比較
完全一致検索の結果は1つだけ。
あえて文字数を指定したい場合は「?」で検索。
「*」で検索すると一気に検索結果の幅が広がります。
中でも、前後検索「*あ*」とするとかなりたくさんの結果が返ってきます。
- 「あさり」を検索した場合
完全一致の単語を検索します。
- 「?あ?」を検索した場合
「あ」の前後に1文字の単語のみを検索します。
- 「??あ」を検索した場合
「あ」で終わる3文字の単語のみを検索します。
- 「あ??」を検索した場合
「あ」で始まる3文字の単語のみを検索します。
- 「*あ」を検索した場合
最後が「あ」で終わる単語全てを検索します。
- 「あ*」を検索した場合
「あ」で始まる単語全てを検索します。
- 「*あ*」を検索した場合
「あ」を含む、全ての単語を検索してくれます。
←もはや曼荼羅ですね
アスタリスクや疑問符を探したい時は?「~」チルダの使い方
それでは「*」や「?」を検索したい時はどうするのでしょうか?
検索条件を「*」や「?」としてしまうと、沢山の結果が返ってきてしまいますね。
そんな時、使えるのが「~」チルダです。
私は勝手に「ニョロ」とか「ニョロニョロ」って呼んでいたのですが、「チルダ」って、ちゃんとした名前があったんですね。お恥ずかしい(*^-^*)
「*」を検索したい時は、「~*」の2文字セットで使用します。「~」が前で「*」が後ろ。
「?」を検索したい時は、「~?」の2文字セットで使用します。「~」が前で「?」が後ろ。
- 「~*」
「*」を含む全ての単語を検索します。
→「 *駅」「南*」「*奈*」 - 「~**」
「*」から始まる単語を検索します。
「~*」チルダアスタリスクで「*」を検索し、後ろの「*」アスタリスクであいまい検索文字の検索を行っています。
→「*駅」「*北」「*奈川県」 - 「*~*」
「*」で終わる単語を検索します。
前の「*」アスタリスクであいまい検索文字検索をして、「~*」チルダアスタリスクで「*」を検索しています。
→「岡山*」「神奈川*」
「~?」は文字数を指定したい時、上記「~*」と同じように使用します。
これらのワイルドカードは、Excelだけではなく、WordやPowerPoint・Accessでも同様に使用できます。
今日の収穫は「 ~」が「ニョロ」ではなく「チルダ」だったこと。勉強になりました。
【参考】
指定したフォルダ内のファイル名全てを取得(Excel VBA)
変数でよく使われる「buf」「tmp」の意味
Dir関数が取得するファイルの順番
指定したフォルダ内のフォルダ名全てをGetAttrを使って「エラー53 ファイルが見つかりません。」を出さずに取得(Excel VBA)
GetAttr関数とAnd演算子でビット演算の使い方 ファイルやフォルダの属性を取得
フォルダ名だけを取得したい時に出てくる 「.」 と 「..」 とは?
指定したフォルダ内とサブフォルダ内全てのファイル名を取得(Excel VBA)
CreateObject(“Scripting.FileSystemObject”) を使ってサブフォルダを取得
再帰処理とは?フォルダ内とサブフォルダ内全てのファイル名を取得(Excel VBA)
指定したフォルダ内のサブフォルダのフォルダ名を全部取得(Excel VBA)
再帰処理とは?フォルダ内のサブフォルダのフォルダ名を全部取得(Excel VBA)
参照渡し「ByRef」と値渡し「ByVal」の違い(Excel VBA)
ファイルのフルパスからファイル名のみを取得 InStrRev関数(Excel VBA)
指定したフォルダの全ての階層のフォルダ名・サブフォルダ名・ファイル名を取得(Excel VBA)
FileSystemObjectとは?CreateObject 関数 FolderExists・GetFolderの使い方
FileSystemObject CreateObject関数を使う方法・ 参照設定を使う方法 違いを理解してエラー防止
再帰処理とは?指定したフォルダの全ての階層のフォルダ名・サブフォルダ名・ファイル名を取得(Excel VBA)
ファイルのフルパスからファイル名のみを取得 Split関数(Excel VBA)
Callステートメントとは 引数 括弧()の使い方(Excel VBA)
指定したフォルダ内から「特定の文字を含まないファイル名」を取得(Excel VBA)
ワイルドカードとは。使い方いろいろ。(Excel)
Dir関数の使い方。ファイル名やフォルダ名の取得方法。(Excel VBA)
指定したフォルダのファイル名を取得し、そのファイル名を一括で変換(Excel VBA)
Excel起動時に「コンパイルエラー」。64ビット システムで Declareステートメントに、PtrSafe属性を設定(Excel VBA )
「ファイルを開く」ダイアログボックス から ファイル名を取得(Excel VBA)
「ファイルを開く」ダイアログボックス から 複数 ファイル名を取得(Excel VBA)
指定フォルダ内のサブフォルダ全てをフォルダ構成のみ(空フォルダ)を別フォルダにコピー(Excel VBA)
再帰処理とは?指定フォルダ内のサブフォルダ全てをフォルダ構成のみ(空フォルダ)を別フォルダにコピー(Excel VBA)
大量の画像やグラフ等のオブジェクトで画面表示が遅いのを解決(Excel)
保護されたシートに対して、このコマンドは使用できません。テーマが変えられない現象を解決(Excel)