エクセル2013でワイルドカードを使って番号(数値)列をフィルタした結果、一件も引っ掛からない場合の対処法

概要

以下の画像のような表があったとします。

f:id:jumping_rabbit:20150723215643p:plain

この表の"会員番号"列の下2桁が01または03になっているものだけ抽出します。つまり、目標は以下の画像のようになることです。

f:id:jumping_rabbit:20150723220001p:plain

うまくいかなかった方法

手順

まず、以下の画像の様にフィルタを掛けてみました。

f:id:jumping_rabbit:20150723220135p:plain

f:id:jumping_rabbit:20150723220204p:plain

下側には「*を使って、任意の文字列を表すことができます。」と書いてありますよね。

結果

結果は以下の画像のように成りました。

f:id:jumping_rabbit:20150723220229p:plain

見ての通り、一件も抽出されません。
ここで、訳がわからなくなりました。
解決するまで思わぬ時間がかかりました。

うまくいった方法

うまくいかなかった理由

何故うまくいかなかったのかというと、"会員番号"列の書式が数値だからフィルターがうまくかからなかったようです。書式を数値から、文字列に変換するとうまくいきました。では、書式を数値から文字列に変換する方法を見ていきます。

手順

まずは、書式が標準(数値)となっている会員番号列をドラッグして範囲選択します。(以下の画像参照)

f:id:jumping_rabbit:20150723220601p:plain

そして、データタブの区切り位置を選択します。(以下の画像参照)

f:id:jumping_rabbit:20150723220634p:plain

ウィザード画面を選択していきます。まずは、「次へ」を押して次に進みます。(以下の画像参照)

f:id:jumping_rabbit:20150723220950p:plain

次の画面でも「次へ」を押します。(以下の画像参照)

f:id:jumping_rabbit:20150723220949p:plain

ウィザードの最後の画面では文字列を選択して「完了」を押します。(以下の画像はウィザードで文字列を選択する前の状態です)

f:id:jumping_rabbit:20150723220947p:plain

結果

f:id:jumping_rabbit:20150723221820p:plain

これで、会員番号列は文字列に変換されました。あとは、冒頭のフィルターを掛ければ、今度は目標の結果が得られます。

まとめ

うまくいった方法で書いた文字列に変換する部分ですが、私は初めて見たやり方でした。普通に考えれば、以下の画像のように、範囲を指定して、文字列に変換しますが、それをやった場合、一見すると文字列になっているように見えますがフィルターをかけても一件も表示されません。

f:id:jumping_rabbit:20150723224238p:plain

上記の画像のように操作した後は、逐一、範囲内(A2〜A11)のセルを1つずつ選択し、「f2キー」を押し、「エンターキー」を押してセル一つ一つを確定させていかないと文字列として認識されないのだと思います。以下の画像はA3まで文字列に変換した時の画像です。

f:id:jumping_rabbit:20150723224405p:plain


実は私、逐一「f2キー」を押して、文字列に確定させるのが面倒だったので、今まで数値から文字列への変換をマクロを使用してやっていたのですが、必要なかったようです。^^;

これは是非覚えておきたい操作です。