• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでのデータ処理)

VBAでのデータ処理方法とオートフィルタの応用

このQ&Aのポイント
  • VBAを使って、一行目のD列からM列までの日付データと二行目以降のA列からC列の文字列や数値データを処理する方法についてまとめます。
  • 具体的には、特定の日付を指定してその日付に該当する列をオートフィルタにし、条件を指定してデータを抽出する方法を解説します。
  • これにより、特定の日付に関連するデータを簡単に取得することができます。また、Findメソッドを使用してデータの検索を行う方法も紹介します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

VBAでも、やりたいが、この程度までは、かろうじて関数の組み合わせで出来る データ例A1:K8(もっと下・右までデータがあっても可。式は変わる) 5月19日 ー ー 5月13日 5月14日 5月15日 5月16日 5月17日 5月18日 5月19日 5月20日 ー ー ー ・・・ ー ー ー x y z 会議 <=第8行とする ーーー A20に =INDEX($A$1:$N$100,MATCH("会議",OFFSET($A$1,0,MATCH($A$1,$D$1:$N$1,0)+2,100,1),0),COLUMN()) と入れて、B20,C20に式を複写。 結果 x y z ==== VBAについて Find関数で5/19を探しても良いが、VBAでMatch関数も使える。Application.WorksheetFunction.Match(・・) VBAならINDEX関数を使わずとも、VBAではCells(行、列)で値を取れるから、行と列番号を決められさえすれば、上記では「会議」行が判り Cells(会議のある行、”A")やCells(会議行、”A")・・でA20に来るべき値が判る。

4k3s4r3
質問者

お礼

imogasiさんおはようございます。なかなか試す時間がなくて御礼が遅くなりました。こういったアイデアでできとは考えていませんでした。すごいです。ありがとうございました。またどうぞ、宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

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

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

  • Excel VBAでデータを自動処理したい

    Excelで大量のデータ処理をしなくてはならないのですが、以下の処理をExcel VBAで自動処理できないでしょうか? どなたかお知恵をお貸しください。 (1)A、B、C列からなるリストがあります。A,B列にはそれぞれオートフィルタが設定してあり、C列は空白です。A列、B列にそれぞれ条件を設定し、抽出したデータのC列(空白)に特定のデータを入力します。A列、B列2つの条件の組み合わせが100通りくらいあり、現在手動でオートフィルタを設定し、C列にデータを入力しております。例えばA,B列の条件の組み合わせと、それに対応するC列に入力するデータを表にしたテーブルを別に作り、A,B列の条件を自動に設定して、抽出し、C列にデータを自動に入力することを、テーブルの一番上の行から最後の行まで繰り返す、というようなことをVBAでExcelにしてもらいたいのです。自分でちゃんと勉強し、調べて、それでも分からなかったらお聞きするというのが筋だと思うのですが、今この仕事に追われて、時間がありません。(ほとんど毎日午前様です。)この仕事が片付いたら、じっくりVBAを勉強したいと思っております。どうぞよろしくお願いいたします。

  • オートフィルタ機能のデータがひっかからない

    追加でデータを増やしたら 増やしたデータの部分の (例えばA列に日付が入っているとして) 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   ↑  ↑   日付 ゼロ以外 関数については中級レベルだと思います。 いろいろ試したのですが、関数を組み合わせてもなかなかうまくいきません。 どなたかご教授いただけないものでしょうか? よろしくお願いいたします。

  • オートフィルターで抽出されたデータの参照方法について

    1000件以上のデータをA,B、C列にオートフィルターをかけて抽出されたデータのA,B、C列およびD列目の値を参照する式を組みたいのですが、当然のことながらオートフィルターをかける都度、表示されるセル番地が変わるので式がくめません。 多分、マクロでコピーしてどこかにペーストすればいいのでしょうが、まったくわかりません。お教えください。

  • エクセルのデーター抽出で悩んでおります、皆様のお知恵をお貸しください。

    エクセルのデータ抽出で悩んでおります、皆様のお知恵をお貸しください。 データベースとして作ってある表で、”列A”に入っている日付以上(形式2009/11/27)、”列B”に入ってる日付以下と言う条件で、”列D”から”列R”に入っている日付データを探し、”列C”に入れるという事をしたいのですが、出来るだけ簡単な方法があればお教え下さい。 〔列A2009/11/27〕 〔列B2011/1/27〕 〔列CXXXX/XX/XX〕 〔列D~Rは日付データ〕 列Aに入っている日付以上、列Bに入っている日付以下という条件で、列D~列Rに入っている日付データの中から条件に合致するデータを探し、空白の”列C”に合致したデータを入れるというができますでしょうか。 (あくまでもデータベースとして表が出来ているので、並べ替えてオートフィルタ機能を使うという事はできません。)

  • Excelデータを抽出

    お世話になっております。 Excel2003です。 データがA列、B,C,D,..とならんでいます。 A列にパスワードのような意味のない数字とアルファベットの羅列が縦にならんでいます。 (仮にパスワードと呼びましょう) そのパスワードの横はそれに対応した名前、所属・・のような感じです。 一行(一レコード)単位で抽出したいんです。 A列に例えば「a」から始まるパスワードをもつ人のレコード(一行)だけを抽出したいとかいう感じです。 フィルタオプションも考えました。 フィルタオプションで検索条件のところに 別セルにいれた「a*」というものをいれてみたり。。 ワイルドカードはつかえるんでしょうか? ↑にかいたようなやり方ではなくてもかまわないので、希望がかなえられるようなやり方を教えてください。

  • Excelのオートフィルタでデータ抽出するマクロについて

    オートフィルタで指定した期間のデータ抽出のマクロを作成しているのですが上手くいきません。 例えばA列に 10月29日 11月1日 11月3日 11月5日 と日付を入力しており、B列、C列にデータを入力していたとして D列1行目に10月31日、D列2行目に11月4日と入力し D列1行目からD列2行目までと指定したデータを抽出するマクロを教えていただけませんか。 マクロ初心者で、困っております。どうかよろしく御願いします。

  • エクセルのオートフィルタでのデータ抽出&カウント

    エクセルのローデータでのオートフィルタでのデータ抽出&カウントで困っています。 A列にNo.、B列にデータB、C列にデータC、D列にデータDがあるとします。 それぞれの列に1~9までの数字があり、 それぞれの列、 データの一番下(正確には1行開けて)にはSUMやCOUNTIFなどの関数(計算式)が入っています。 で、これをフィルターにかけ抽出した際、この抽出したデータのみで計算の値を表示したいのですが、 やってみると 全データの計算の値で表示されてしまいます。 どうすればよいのでしょうか? 大変困っています。 よろしくお願いいたします。

このQ&Aのポイント
  • XK100を使用していますが、Canon IJ Scan Utilityからスキャンしようとするとエラーが発生します。
  • スキャンができない原因として、電源の問題や電波の状態などが考えられますが、それらは確認済みであり、プリントは問題なく行えます。
  • 同じWi-Fiを使用しているにもかかわらず、スキャンができない状況に困っており、解決方法を探しています。
回答を見る

専門家に質問してみよう