• ベストアンサー

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

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

noname#52753
noname#52753

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

  • ベストアンサー
  • 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
質問者

お礼

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

関連するQ&A

  • Excel 日付・時刻データの抽出

    こんにちは。 Excelの表の一列に、「2005/12/8 14:45:00」のように、日付と時刻が表示されています。時刻は、0:00:00、0:15:00のように、15分単位です。データは、100~300件ほどあります。 この表から、時刻が「0:00:00」のみを抽出したいのですけれど、文字列でないためか、オートフィルタやVLOOKUPは上手くいきません。 又、同じ表から、「0:00:00, 1:00:00」のように、1時間単位で、抽出したいのです。 何か、よい方法があれば、教えて下さい。 宜しくお願いします。

  • 検索したい日付からデータを抽出したい。

    こんにちわ。 キャンペーンが何日~何日までどういった内容がある、という一覧を作成しています。 Aの列が開始日、Bの列が終了日、Cの列がキャンペーン内容、です。 検索したい日付をD1のセルに入力したら、その日付に該当するキャンペーンすべてを別のシートに抽出できないでしょうか・・・ オートフィルタで抽出は出来るのですが、日付を入力しただけで抽出 させたいのですが、無理でしょうか・・・ よろしくお願いします。

  • 空白ではないセルを抽出したい

    エクセルで空白を含む列の中から 空白以外のセルを順に表示させたいのですが、可能でしょうか? 例えば、 社名   売上額 A社   1,000      2,000      3,000      4,000 B社    5,000      6,000      7,000 C社    8,000      9,000      10,000      11,000      12,000 の表を 社名  売上 計 A社   10,000 B社   18,000 C社   50,000 の様に集計表を作るのに、社名の列の空白の行を詰めて表示させたいのですが、 オートフィルタや並べ替えを使わずに関数で抽出したいと思っているのですが、可能でしょうか? 宜しくお願いします。

  • 連続していない日付データからの抽出

    エクセルで、   A   B 1 日付 売上   2 11/21  900 3 11/22 2000 4 11/26 1800 5 11/27 1300   D    E 1 日付  前日比 2 11/21 **% 3 11/22 **% 4 11/26 **% 5 11/27 **% とあります。 そこで、   G   H   I 1 日付 売上 前日比 2 任意 (抽出) (抽出) 3 と、Gに日付を入力したらH、Iにデータが抽出されるように関数を作りたいと思います。 Hには =INDEX(A2:B5,MATCH(G1,A2:A5,0),2) Iには =INDEX(D2:E5,MATCH(G1,D2:D5,0),2) と入力して抽出をしましたが、 例えばG列に元データには無い、「11/23」が入力されたときは、11/23よりも先で1番にくる11/26のデータを抽出するようにしたいのですが、どうしたらいいでしょうか? よろしくお願いします。

  • エクセル データの抽出について教えてください。

    エクセルのデータの抽出について教えてください。 大量のデータ(数字のコード)がランダムに縦に並んでいるのを、並び替えで日付順にしたのですが。 重複しているのがとても多く重複しているのは日付が早いのだけを取り出したいのですが。なにかよい方法はないでしょうか? 重複しているのに(重複していらないのに)標しでわかりやすくしてあとでフィルタで抽出して削除でもしようかと思うのですが。 標しがつけれるようなやりかたおしえてください。 

  • エクセルで、フィルタでデータを抽出した値を表示させるには・・

    仕事でexcel2000を使っています。 例えば、3行目より、a列に社名 b列に番号 c列に商品名が入っているとします。オートフィルタで、番号を一つ選ぶと、社名と商品名も表示されます。その表示された社名を、1行目に自動的して表示させえるにはどうしたらよいでしょうか?(宛先としたいのです)フィルタで抽出されるデータなので、毎回、出てくる会社が違うし、手で入力するかコピーすればいいのでしょうが、処理件数が多いと面倒だったりするもので。何か、簡単に出来る数式もしくは方法があれば教えてください。 よろしくお願いします。

  • Excelで西暦の日付から「和暦のみ」を抽出する方法を教えてください。

    エクセル初心者です。 エクセルのオートフィルタを使って、「平成19年」「平成20年」「平成21年」ごとに表示させたいのですが…。 セルには以下のように日付が入力されているとします。   A      B      C 2007/3/14 2007/3/16 2008/3/18 2008/3/14 2009/3/16 2009/3/18 これを書式設定で「平成19年3月14日…」と和暦で表示してみても、オートフィルタでは日ごとになるだけで、「年ごと」にはなりません。 そこで、B列にA列のデータから和暦のみを抽出したらいいのではないかと考えたのですが…初心者ゆえにその方法を思いつくことができません。 西暦の日付から「和暦のみ」を抽出する事はできるのでしょうか?

  • EXCEL:ゼロ以外のデータを詰めて抽出する方法

    初めて投稿します。よろしくお願いいたします。 EXCEL2000を使用しています。 オートフィルタを使わずに 関数でデータを抽出する方法で悩んでいます。 下記<データ>が存在しています。 2行目がゼロ以外のものを、 別シート<抽出>に上から詰めて抽出したいのです。 <データ>   A列 B列 C列 D列 E列 1行 1  2  3  4  5  ←日付 2行 5  3  0  2  0  ←数字 <抽出>別シート   A列 B列  1行 1  5 2行 2  3 3行 4  2   ↑  ↑   日付 ゼロ以外 関数については中級レベルだと思います。 いろいろ試したのですが、関数を組み合わせてもなかなかうまくいきません。 どなたかご教授いただけないものでしょうか? よろしくお願いいたします。

  • エクセルで、異なる日付の入っている行を抽出する。

    1 あ  20060102  20060102  さる 2 い  20060203  20060203  いぬ 3 う  20060303  20060301   きじ 4 え  20060404  20060404  ねこ 5 お  20060501           わに 2つの列に年月日が入力されてますが、上のように数値として入力されています。 5の行のように右の列の日付が空白になっているものもあります。 この中から2つの列の日付を比較して、両方に日付が入力されていてかつ異なる行を下記のように、抽出したいのです。 3 う 20060303 20060301 きじ オートフィルタのフィルタオプションでやろうと思ったのですが、うまくいきませんでした。 よろしくお願いします。

  • 日付で抽出 VBA マクロ処理

    日付でその日から1ヶ月の間の購入した図書データを 抽出したいのですが、マクロ初心者なのでなにも分かりません;; オートフィルタではない方法でやらなければなりません;; 日付でデータを抽出するにはどの関数を使えばいいでしょうか。 また、その日から1ヶ月の間というとこに さらにわからなくなります;; また、抽出されたデータを違うシートへとコピー しなければなりません;; 詳しく教えていただけると幸いです;; よろしくお願いいたします;;

専門家に質問してみよう