プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (3件)

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

これでボタンをクリックすると、今日の日付以外の行を非表示にする処理を行います。
また、ボタンが「全表示」に変わりますので、もう一度クリックすると、全行を再表示してくれます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/09/21 20:38

フィルタオプションを使うのはいかがでしょう。


検索条件を選択したり入力する手間が不要ですから、
最初の設定さえしてしまえば、日々の操作はだいぶ簡単になります。

コレを使うとオートフィルタの方は解除されてしまいますが、
オートフィルタ自体は1クリックで再設定できますから、それほど大きな影響はありません。

ステップ1 事前の設定(最初の一回だけ)
 1.未使用の列の、任意のセルに"日付"と入力する(項目の見出しと同じに)
 2.1のすぐ下のセルに数式 =today() を入力する
 3.データ>フィルタ>フィルタオプションの設定 をクリック
 4.以下のように設定してOKをクリック
   ・抽出先:選択範囲内
   ・リスト範囲:表の範囲
   ・検索条件範囲:1,2で入力した2つのセル範囲
   ・重複するレコードは無視する:チェックしない。
 5.検索条件範囲のある列を非表示にして隠す。

ステップ2 ツールバーの設定(これも最初だけ。既に出ていれば不要)
 1.ツール>ユーザー設定をクリック
 2.[ユーザー設定]ダイアログ>[コマンド]タブ>[データ]分類から、
   [すべて表示]コマンドと、[フィルタオプションの設定]コマンドを探して
   任意のツールバー上にドラッグ

●抽出するとき
 B列を選択 ⇒ [フィルタオプションの設定]をクリック ⇒ そのままOK   
 ※リスト範囲は毎回選択する必要がありますが、検索範囲は覚えています。
  また、検索範囲には関数によって自動的に当日の日付が入ります。

●解除するとき
 [すべて表示]をクリック

つまり、一度設定してしまえば、
抽出:決まった場所を3クリック、解除:1クリックです。

以上、ご参考まで。長乱文陳謝
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/09/21 20:36

オートフィルタの三角をおしたあと、テキストフィルタ→指定の値に等しい→日付入力とか、


オートフィルタの三角をおしたあと、降順ソートさせるとか。
ちなみに、Excel2007を見て書いているのでバージョンによってはないかもしれないです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/09/21 20:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています