- ベストアンサー
Excelのオートフィルタについて
Excel2002にて、ある列の表示形式が「日付」になっているのですが、オートフィルタによるオプションの検索にて、検索ができません。 例えば、その列のあるセルに1月26日とあるのですが、オートフィルタのオプションでの検索に「1月」とか「26」とかにして、「その文字を含む」で検索をかけてもでてこないのです。 やりたいことは、1月だけの情報をオートフィルタにて表示させたいのですが、どうすれば、うまく検索してくれますか?
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
No#3です >ある特定の日だけを指定するにはどうすればいいでしょう??? 日付を文字列に変えることで、対応することができます。 やりかたの前に問題点です。 その1 文字列として扱っているので前後の比較ができない。 (2003年1月1日と2003年1月31日どちらが大きいか(前か、後ろか)判断できない。なので~以上~以下という条件で抽出できない) その2 文字列なので、セルの書式設定をいじっても表示を変えられない。(1/1を1月1日には変えられない) など、です(他にも問題あるかもしれないです) 手順は、 やるまえにファイルをバックアップ用にコピーしておいてください。 ▼日付の部分を選択して、セルの表示形式を変えます (セルの書式設定>表示形式>ユーザ定義で、「種類」の下の欄にyyyy/mm/ddと入れる。 ▼そのままセルが選択された状態でコピー ▼ノートパッドを開いてそこに貼り付ける ▼エクセルに戻り、日付の入った列のセルの書式を変える(表示形式>文字列にする) ▼ノートパッドに貼った日付部分をまたコピー後、エクセルに戻り、元の位置にカーソルをあわせた後、貼付ける そうするとオートフィルタで特定の日付の指定が可能になります。 また、オートフィルタオプションで「2003/01/」(←最後のスラッシュが重要です)「ではじまる」と指定すると今年の1月分だけの抽出が可能です。 おためしください。
その他の回答 (6)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)既他回答にも言及がありますが、エクセルでは、日付は日付シリアル値(西暦1900年1月1日を第1日とし、実際の暦日に順に割り当てた順序数)を使って、記録・保存していると考えると(実際そうしてます)、色々な現象が氷解します。2003/1/25日は37646という数値です。実際のセルにわれわれが見るのは、表示 形式でもって、変えられた結果の文字を見せられています。日付は、その変り様=表示形式が多種あって戸惑ってしまうぐらい。 だから、1月分を抜き出したいといって、1という文字(列)で検索してもお門違い的に処理されてしまいます。(1900年1月1日と解される。) やるなら2002/12/31のシリアル値37621より大きく、2003/2/1のシリアル値37653より小さいという条件を入れないとだめです。 (2)しかしこれでは(1)シリアル値を2つ調べないといけない(2)条件設定がAND条件となり2つ設定しないといけない、で面倒です。 (3)そこで、対処法は、まず第一行A1,B1には見だし項目名を日付、月といれておきます。そこで、空き列(ここではA列に日付、B列が空き列とします)に、この場合B2セルに関数式=MONTH(A2)をいれます。そしてB3セル以下複写します。 その後に、データ-フィルタ-オートフィルタ-▼をクリック-オプション-月のボックスに1、演算子の文句は「等しい」をクリック-OKとすると良い。 日を選ぶ時はB2に=DAY(A2)を使えば良い。 (4)月のボックスに関数式は使えないようなので、月を表示する1列(B列)を余分に使わないといけない。その点では#1のご回答の底流と同じになります。関数で出すか 初めから別列に計画するか(本例では他人が作っていてどうにもならないケースらしいが)
お礼
理系の私にとってはとてもありがたい説明でした。 ありがとうございました。
- mktoolll
- ベストアンサー率22% (20/88)
日付が入力されている 行 か 列 を選択して 右クリック セルの書式設定 → 日付 → ****年**月 を選択して OK 必要な月をオートフィルタで抽出 日付が入力されている 行 か 列 を選択して 右クリック セルの書式設定 → 日付 → ****年**月**日 を選択して OK これではいかがですか?
お礼
なるべく行の書式設定は変えたくないのです。 何分多数の人が利用するファイルなので、素人もいますし、できれば単純な方がいいのです。 しかも、書式を一時だけでも変えるとなると、戻さないといけないという手間もありますし、それをしない人がほとんどですし、、、 誰にでも簡単に閲覧できる方法はないでしょうか?(といってもオートフィルタすら知らない人もいっぱいいて、扱いやすくするのに困っています。)
- comv
- ベストアンサー率52% (322/612)
こんばんは 解決策は他の方が記載されていますので理由を 検索対象には 数値 と 文字列 があり フィルタも含めEXCELの大概の検索ではその2つが 区別されます。 数値であれば 以上 以下 未満 大きい 間 等しい 以外 文字列であれば 含む 先頭に含む 末に含む 等しい 以外 等ですが ご質問の日付は「シリアル値」という「数値」 で管理されていますので 検索条件も数値として扱うこと が必要です。
補足
オートフィルタのオプションの検索欄には「数値」としての検索がないのですが、、、 ある特定の日を検索するにはどうすればいいでしょうか? プルダウンメニューでは検索できましたが、数値入力にて検索(オートフィルタでの)の仕方はどうすればいいでしょうか? シリアル値をわざわざ調べて入力はできないので、、、
- tbobi
- ベストアンサー率45% (544/1189)
オートフィルタオプションで、 上のボックスに「2003/1/1」「以上」とし、 ANDに●が入ってるのを確認して 下のボックスに「2003/2/1」「より小さい」にしてok。 とりあえずこれで出ます。 オートフィルタ。やっかいですね。
補足
上記のようにすればなんとかできました。 いわえる範囲指定のようにしないとできないのでしょうか? 例えば2003/1/26としても、そのセルは表示してくれない。。。 なぜでしょうか? ある特定の日だけを指定するにはどうすればいいでしょう???
- tksoft
- ベストアンサー率36% (99/273)
「2003/1/1」「より大きい」 And 「2003/1/31」「より小さい」 という条件ではどうでしょう。
補足
上記のようにすればなんとかできました。 いわえる範囲指定のようにしないとできないのでしょうか? 例えば2003/1/26としても、そのセルは表示してくれない。。。 なぜでしょうか? ある特定の日だけを指定するにはどうすればいいでしょう???
- annalee
- ベストアンサー率28% (20/69)
minigonさん、こんばんは。 私はこういう場合は 「月」「日」を別々の列に入力しています。 つまりA列に「月」B列に「日」です。 こうすればA列の「月」だけオートフィルタで表示可能です。
お礼
このファイルは私が作成するものではなく、原本ファイルに従わないといけないので、表に新たな行列などを変更できないのです。。。 原本の形式のまま、なんとか探しやすくしたいので、、、 ご回答ありがとうございました。
お礼
ご丁寧にありがとうございました。 がんばってみます。