• ベストアンサー

今日の日付のデータをすばやく抽出するには・・

売上日報をエクセルで作っています。 A列に1から順にNOを入れています(LOOKUP関数を使うためです) B列に日付を入れています。 C列に社名を入れています。 その他の列にもいろんなデータが入っています。 本日の日付だけをすばやく抽出したいと思うのですが、どうすれいいか分かりません。 オートフィルタで今日の日付を選ぶ方法はやれます。 でも、もっと早く抽出できる方法はないでしょうか? 数ヶ月分のデータが入っているため、オートフィルタの三角をおしたあと、今日の日付を探すのに結構手間取ります。 もっとすばやく抽出したいのです。どんな方法でもいいです。どなたか教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.1

VBを使った手法です。 1.表示→ツールバー→コントロールツールボックスでコントロールツールボックスを表示します。 2.コントロールツールボックスでコマンドボタン(ボタンのアイコン)を選択し、適当な場所にボタンを作成します。 3.追加したボタンを右クリックし、「プロパティ」を選択します。 4.「Caption」欄でボタンに「本日のみ表示」を入力し、プロパティを閉じます。 5.追加したボタンを右クリックし、「コードの表示」を選択します。 6.VBが起動しますので、「Private Sub CommandButton1_Click()」と「End Sub」の間に以下のコードをコピーします。 If CommandButton1.Caption = "本日のみ表示" Then n = 1 Do While Cells(n, 2) <> "" If Cells(n, 2) <> Date Then Cells(n, 2).Rows.Hidden = True End If n = n + 1 Loop CommandButton1.Caption = "全表示" Else Columns("A:A").Select Selection.EntireRow.Hidden = False Cells(1, 1).Select CommandButton1.Caption = "本日のみ表示" End If これでボタンをクリックすると、今日の日付以外の行を非表示にする処理を行います。 また、ボタンが「全表示」に変わりますので、もう一度クリックすると、全行を再表示してくれます。

noname#52753
質問者

お礼

詳しくありがとうございます。 難しすぎてよく分かりませんが、 今度VBAの試験を受ける為にパソコン教室で学びますので、 学んだ後、絶対にしてみたいと思います。 それまでお気に入りに入れておきます。

その他の回答 (2)

noname#52504
noname#52504
回答No.3

フィルタオプションを使うのはいかがでしょう。 検索条件を選択したり入力する手間が不要ですから、 最初の設定さえしてしまえば、日々の操作はだいぶ簡単になります。 コレを使うとオートフィルタの方は解除されてしまいますが、 オートフィルタ自体は1クリックで再設定できますから、それほど大きな影響はありません。 ステップ1 事前の設定(最初の一回だけ)  1.未使用の列の、任意のセルに"日付"と入力する(項目の見出しと同じに)  2.1のすぐ下のセルに数式 =today() を入力する  3.データ>フィルタ>フィルタオプションの設定 をクリック  4.以下のように設定してOKをクリック    ・抽出先:選択範囲内    ・リスト範囲:表の範囲    ・検索条件範囲:1,2で入力した2つのセル範囲    ・重複するレコードは無視する:チェックしない。  5.検索条件範囲のある列を非表示にして隠す。 ステップ2 ツールバーの設定(これも最初だけ。既に出ていれば不要)  1.ツール>ユーザー設定をクリック  2.[ユーザー設定]ダイアログ>[コマンド]タブ>[データ]分類から、    [すべて表示]コマンドと、[フィルタオプションの設定]コマンドを探して    任意のツールバー上にドラッグ ●抽出するとき  B列を選択 ⇒ [フィルタオプションの設定]をクリック ⇒ そのままOK     ※リスト範囲は毎回選択する必要がありますが、検索範囲は覚えています。   また、検索範囲には関数によって自動的に当日の日付が入ります。 ●解除するとき  [すべて表示]をクリック つまり、一度設定してしまえば、 抽出:決まった場所を3クリック、解除:1クリックです。 以上、ご参考まで。長乱文陳謝

noname#52753
質問者

お礼

回答ありがとうございます。 難しいですが、頑張ってやってみようと思います。

noname#42041
noname#42041
回答No.2

オートフィルタの三角をおしたあと、テキストフィルタ→指定の値に等しい→日付入力とか、 オートフィルタの三角をおしたあと、降順ソートさせるとか。 ちなみに、Excel2007を見て書いているのでバージョンによってはないかもしれないです。

noname#52753
質問者

お礼

一番簡単でやりやすい方法をありがとうございます。 とりあえず、今はこのやり方をしています。 助かりました。