• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル複数のシートから抽出集計したいのですが・・)

エクセル複数のシートから抽出集計する方法は?

このQ&Aのポイント
  • Excel2010を使って複数のシートから同じ名称のセルを抽出して集計したいです。
  • 関数だけでは無理と思っており、VBやマクロを使う必要があるのでしょうか?
  • また、シート内のB~Eのセルが自動的に抽出できるような方法はありませんか?

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばシート1からシート20までに同じ内容のデータが入力されているとします。 A1セルにはNO,B1セルには日付、C1セルには開始時間、D1セルには終了時間、E1セルには時間数、F1セルは備考、G1セルには営業所の項目名がそれぞれ入力されており、2行目から下方にデータが入力されているとします。 初めにシート1かrシート20までのシート見出しをCtrlキーを押しながらクリックします。すべてのシートが同じ作業グループになります。 その後にH2セルには次の式を入力して下方にドラッグコピーします。作業列として使用します。 =IF(G2="","",G2&COUNTIF(G$2:G2,G2)) まとめとなる例えばシート21を選択します。 シート21では次の操作を行います。 A1セルには所沢営業所なら所沢営業所と検索したい営業所名を入力します。 B1セルから横の列にはシート1からシート20までのシート名を入力します。 A2セルには0を入力します。 B2セルには次の式を入力して右横方向にドラッグコピーします。 =IF(B1="","",A2+COUNTIF(INDIRECT(B1&"!G:G"),$A$1)) A3セルからD3セルまでには日付 開始時間 終了時間 時間数の項目名を入力します。 A4セルには次の式を入力してD4セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX($A$2:$AZ$2),"",INDEX(INDIRECT(INDEX($B$1:$AZ$1,MATCH(ROW(A1)-0.1,$A$2:$AZ$2,1))&"!B:E"),MATCH($A$1&(ROW(A1)-INDEX($A$2:$AZ$2,MATCH(ROW(A1)-0.1,$A$2:$AZ$2,1))),INDIRECT(INDEX($B$1:$AZ$1,MATCH(ROW(A1)-0.1,$A$2:$AZ$2,1))&"!H:H"),0),COLUMN(A1))) A1に入力した営業所名のデータが表示されます。 他の営業所について求めるときはここでのA3セルからD列の終わりまでの行を選択してコピーし、別の場所に「形式を選択して貼り付け」で「値」にチェックをして貼り付けをすればよいでしょう。その上でA1セルに他の営業所名を入力してはどうでしょう。 そうではなく例えば100行目に同じ操作画面を作って他の営業所について表示させるとしたら1,2,3,4行目をコピーしてからA100セルを選択して貼り付けます。 B101セルには次の式を入力して右横方向にドラッグコピーします。 A103セルには次の式を入力して右世k方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX($A$101:$AZ$101),"",INDEX(INDIRECT(INDEX($B$100:$AZ$100,MATCH(ROW(A1)-0.1,$A$101:$AZ$101,1))&"!B:E"),MATCH($A$100&(ROW(A1)-INDEX($A$101:$AZ$101,MATCH(ROW(A1)-0.1,$A$101:$AZ$101,1))),INDIRECT(INDEX($B$100:$AZ$100,MATCH(ROW(A1)-0.1,$A$101:$AZ$101,1))&"!H:H"),0),COLUMN(A1))) なお、A列では表示形式を日付に、B,C,D列では一部を時刻にすることが必要です。 A100セルに検索の営業所名を入力し、

kulukulunayamu
質問者

お礼

早速のご回答ありがとうございます。 難しそうですね・・・これからトライしてみます。 またご報告いたします。

kulukulunayamu
質問者

補足

集計シートに教えていただいた数式を入れたのですが、#REF!と出てしまいます。何がいけないのか分からず・・・せっかく教えていただいたのに申し訳ありません。 もう少しいじりながら頑張ってみます。

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

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

すべてのシートでA列からG列までの項目名が1行目に有って同じ並びになっているのでしょうか?

kulukulunayamu
質問者

補足

はい。1行になっています。分かりづらくてすみません・・ よいアドバイスありましたらお願いいたします。

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

関連するQ&A

  • エクセル 複数シートの同一セルを別シートへ集計

    エクセルで複数sheetの同一セルを集計sheetへコピーしてきて一覧にし、集計するという作業を行なっています。 1~20のsheet(sheet数sheet名は変動します)を作り、一番右側に集計sheetがあります。 集計sheetのA5へsheet1のF10、A6へsheet2のF10・・・(内容は文字列) 集計sheetのB5へsheet1のG10、B6へsheet2のG10・・・(内容は数値) とコピーしていき、B30にはB5~B29の合計がSUM関数で入っています。 VBAで、集計sheetから左側のsheetの指定セルを一気に集計sheetへコピーしてくる方法はないでしょうか。 ただし集計sheetから左側のsheet21とsheet22は集計に入れたくないという式も教えて頂きたいです。 お時間のある方、ご教授下さい。 または別の質問で参考になるようなものがあればアドレスを教えて下さい。 説明が下手で申し訳ないですが、どうぞよろしくお願いします。

  • エクセルの複数シート間での集計

    エクセルの複数シートの同一セル内に入っている文字データの集計を行いたいと思っています。A~Gまでのアルファベットが入っているのですが、全シートのAが何個、Bが何個という各アルファベットの数を数えたいのです。アルファベットを数字に当てはめてCOUNTIFと考えたのですが、元範囲を複数シートにとることができず行えませんでした。何か良い方法は無いでしょうか?宜しくお願いいたします。

  • エクセル 複数シートにまたがるデータの抽出

    複数シートからのデータ抽出についていくつか拝見いたしましたが 知識が足らず、操作できませんでした。 下記のような抽出が可能であれば、ご教授いただけたらと思います。 なお、VBやマクロ等は使用したことは、ほぼありません。 シートが複数あり、またそのシートが増えていく可能性があります。 シート名→「start」「佐藤」「山本」「end」「集計1」「集計2」ととりあえず作成。 (「集計1」にて別のデータ合計をとるため、「start」「end」シートを作成しました。  なお、佐藤~山本のシートは同じ書式ですが、シート名が変わる可能性も高い。  今回したいのは「集計2」においてです) 「佐藤」シート   A   B   C   D 01 佐藤 02 \  月曜 火曜 水曜 03 6:00  1   0.5   1 04 7:00  1    1 05 ~ 18 21:00 「山本」シート   A   B   C   D 01 山本 02 \  月曜 火曜 水曜 03 6:00 04 7:00  1   1   1 05 ~ 18 21:00  1   1   1 「集計2(曜日毎で、月曜)」シート   A   B   C   D 01 月曜 02 03 6:00 佐藤 04 7:00 佐藤 山本 05 ~ 18 21:00 山本 「集計2(曜日毎で、火曜)」シート   A   B   C   D 01 火曜 02 03 6:00 佐藤 04 7:00 山本 05 ~ 18 21:00 山本 できれば、名前(シート)が非常にたくさんになる可能性があるので 集計2に出てくる名前は、詰めてが理想です。 また、できればあまり都度の細かい作業がなければありがたいです。 (利用者で、できない可能性が高い) よろしくお願い申し上げます。

  • Excelでの別シート集計について

    Excelで月別、項目別で時間を集計するシートを作成しようとしています。 シート2ではシート1 F列コード別に集計してD列の時間データを月別に合計 シート3ではシート1 F列コードとG列コード別(Fが1001でGが1001、、、)に集計してD列時間データを合計、という表データにして抽出したいと考えています。 シート1には K欄に年月を表示  =IF(OR(A7="",B7="",C7=""),DATE(2100,12,31),DATE(A7+2000,B7,C7)) L列にF列コード+年月  =F7&(2000+A7)&B7 M列にG列コード+年月  =G7&(2000+A7)&B7 というところまでは設定したのですが、出力先となるシート2、シート3にはどのような設定をすればよいのか行き詰っています。 なにとぞ易しい回答をよろしくお願い申し上げます。

  • エクセルで複数のシートからデータを集計したい。

    エクセルで複数のシートから、あるデータを取り出し、別のシートに集計したいのですが、関数を入力すると莫大な量になってしまいました。 関数とは別の方法で集計する方法をご教授お願いします。 1日~31日のシートがあります。 シート1日内容は A   B    C    D      E     1  NO  原因(1) 原因(2)  原因(3)   2 101   10       15   (b2+c2+d2)  3 105   20   40       (b3+c3+d2) 4 108       20   100 (b4+c4+d4) といった内容です。 1日から31日のセルA2などは固定した数値でありません。 なんで、例えばA3に101が入っている場合があります。 集計シートは A   B    C    D      E     1  NO  原因(1) 原因(2)  原因(3)   2 101               (b2+c2+d2)  3 102               (b3+c3+d2) 4 103              (b4+c4+d4) のようになってます。 B2に=SUMIF('1日'!A2:A4,A2,'1日'!b2:b4)+SUMIF('2日'!A2:A4,A2,'2日'!b4:b4)+・・・・・が31日のシート分まで作成するとファイルが重くなりすぎてしまい困っております。 よろしくお願いします。

  • 同一Book内の複数のsheetから日付を基準に情報を抽出して集計

    各先生方 いつも大変お世話になっております。 複数の車両が日毎に走行した際の情報を月末に集計する作業をしております。 一定範囲のセルを複数のsheetからコピーしている単純作業なのですが、稼働日数が多くなると想像以上に時間が掛かり、本業が疎かになるため困っております。 内容はA車、B車、C車、D車、E車、F車、G車なる7台の走行情報をそれぞれ車両毎にsheet分けし、“○○月集計sheet”と共にBook名「○○月車両情報」内に収めております。 1月を例に・・・ Book名「1月車両情報.xls」 → “1月集計sheet”、“A車sheet” ・・・ “G車sheet” sheet内の各列記載区分は共通で以下のようにしております。 B列:日付|C列:運行車両|D列:運行者名|E列:ルート記号|F列:距離  1/1     (例)A車     (例)Aさん     (例)B     (例)185  1/2   ・   ・   ・  1/31(未稼働日は日付も空欄) ※A2セルからA32セルまで1~31の数字が記載されております。 ※全てのsheet共通で1行目はタイトル、2行目から32行目(31日分)までが運行情報となります。 各車両の運行はそれぞれが日毎に異なり、毎日稼動している訳ではありませんので、稼動していない日はB~Fまで全てのセルが空欄です。 日付情報を基準にB~Fまでの運行情報を一括集計したく望んでおります。 例えば、B車、C車、F車の3台が1月1日に稼動、A車、D車の2台が1月4日にそれぞれ稼動した際、各車両sheet内のA列に記載された「1/1」の日付情報を元に日付を含むB~Fの対象セルが1月集計sheetへ反映されるコードを求めております。 尚、集計sheetへは日付の若い順に上部セルへ反映させたいので、「1/4」の日付情報を含むA車、D車の情報(B~Fの対象セル)はB車、C車、F車の情報の下部に集計させたく望みます。 車両区分のABCには序列を設けませんので、同じ日付の中で順序が変わっても問題ありません。 また、現状では7台の車両で運行しておりますが、今後、台数が増えることも予測されますので、数量変更にも対応していると助かります。 何方様かご教授宜しくお願い致します。

  • エクセル複数のシート集計で困っています。

    シート1のデータを ほかの複数のシートにそれぞれ集計しようと思うのですが、いくつかの箇所がうまくできません。お分かりになる方教えていただけないでしょうか。 シート1にデータがあります。     A   B   C    D 1  100   90   80   100      単価 2  もも  りんご ぶどう  リンゴ    名称 3  山梨  青森  長野  長野     適用 4   5    0    10    5       注文a 5   7    9     2    5       注文b シート2(4行目のデータ集計・注文b)    A    B   C     D 1  もも  5   100    山梨 2 3 ぶどう 10   80    長野 4 りんご  5   100   長野     シート1に注文数がある場合 シート2 シート3・・・それぞれB列に数量が自動で入るように設定しています。 数字が入った場合だけA列・C列・D列の内容がシート1のセルから自動で入るよう設定したいのですが、うまくできません。  (シート1のデータはいろいろ変わります。) どなたか、アドバイスいただけないでしょうか?よろしくお願いいたします。

  • 複数シートからのセルの抽出

    複数シートからのデータの抽出をしたいのですが、教えてください。 [処理] あるEecelBookに含まれる全てのsheetに対して、シートの1行目とA列のあるセルの値が1995または1996である場合はその当該行をコピーし、新しく作ったsheetに集計する。 説明が下手で住みませんが、よろしくお願いします。

  • エクセルで条件に合わせて複数データを抽出したい

    シート1に基本データ(基データ)があり、シート2のセル内に条件を入れて、該当のデータをシート1から引っ張りたい。 具体的には、シート1に基本データ  ナンバ- 1 1 2 2 2 3 4 4 4  該当データ A B C D E F G H I シート2に 条件内容 1を入れてA B (複数データ)      2を入れてC D E       3を入れてF -----と、こんな具合になりたいのですが?   VLOOKUP は複数の抽出なので駄目でした。   

  • エクセルの集計方法を教えてください。

    月ごと、もしくは指定した期間の〇印の数をSheet2に集計したのですが分かりません。 月ごとに集計するときと、月をまたいで集計するときがあるため、〇月〇日~〇月〇日と指定して集計できる方法が知りたいです。 セルA     セルB 2014.5.1     〇 2014.5.2  2014.5.3     〇 2014.5.4 2014.5.5   ・   ・ 2014.6.1     〇 2014.6.2     〇 2014.6.3     ------------------------------- sheet2  セルA      セルB 2014.5の集計   2 もしくは、 2014.5.3~6.3   3 sheet2のセルBにはどんな式を入れたら良いのでしょうか? お手数ですが、教えていただけないでしょうか・・・  

このQ&Aのポイント
  • DCP-J562Nのイエローインクが出ないトラブルについて相談したいです。
  • クリーニングを何度も試しましたが、イエローのインクが出ません。
  • お使いの環境はWindows 11で有線LAN接続です。関連するソフト・アプリはありません。
回答を見る

専門家に質問してみよう