ワイルドカードの「?」や「*」を使用すれば、任意の条件を指定することができます。
しかし、ワイルドカードを数字データに適用させたときに上手く行かない方もいるかと思います。ここでは、ワイルドカードを数字データに適用する方法を紹介します。
スポンサーリンク
ワイルドカードとは
ワイルドカードは任意の文字を指定することができ、よく使われるものとしては「?」と「*」があります
記号(ワイルドカード) | 説明 |
? | 任意の1文字を表現する |
* | 任意の1文字以上を表現する |
ただし、注意点としてはワイルドカードは文字列にしか適用できないということです
また、ワイルドカードはif文では使えないようです。COUNTIF文として使うということを覚えておきましょう。
※COUNTIFは条件に合致している数を返す関数です。
使い方
使い方ですが例えば以下のように使用します。
使用例 | 説明 |
=COUNTIF(A1,”??県”) | A1のセルが〇〇県なら1となる(福岡県⇒1,大阪府⇒0,神奈川県⇒0)
?は1文字分のみを表すので「2文字+県」のみが条件に一致することとなる |
=COUNTIF(A1,”東京都*”) | A1セルが「東京都+α」なら1となる(東京都⇒1,東京都港区⇒1,日本東京都⇒0) |
対処方法1
それでは数字データにワイルドカードを適用させる方法を紹介します。
ワイルドカードは文字列データにしか適用できないので、データそのものを文字列に変更することを考えてみます。
文字列に変更したいデータを選択した後「データ」⇒「区切り位置」を選択します
次へをクリックします。
次へをクリックします。
「文字列」を選択し「完了」をクリックします。
以上でデータが文字列に変換されました。この状態でワイルドカードで指定した数式が正しく動作しているか確認してみましょう。
対処方法2
対処方法1とは異なりデータを文字列に変更しない方法としては、条件次第ですが数字のまま条件判定を見直すということが考えられます。
たとえば「2485」のように2000番台だけを抽出したいとします。
ワイルドカードで定義しようとすると「2???」になります。しかし、今回は数字データのみを扱うのでこの方法は使えません。
こういう場合は一度IF文を使って条件判定をするのも1つの方法です。
2000番台ということを数値で表すと、2000以上、3000未満となりますので、
IF(AND(A1<3000,A1>=2000),1,0)
というふうにすれば2000番台の数値に関しては1のフラグを立てることができます。
あとは必要に応じで1のフラグを足し合わせればCOUNTIFと同様のことを実現することができます。
数字データに対してワイルドカードを使用する方法を2つ紹介しました。この記事を参考に対処方法を試してみてはいかかでしょうか。
スポンサーリンク