• ベストアンサー

エクセルのデータを別ファイルに抜き出すには?

内容なんですが、Aというエクセルファイルのsheet1にお客さんと注文数があるのですが、Bというエクセルファイルにsheet1からsheet100までレイアウトを作り個別にお客さんの注文数を集計したいと思っています。 毎月のことなので手間のかからないやり方はあるのでしょうか? うまく説明できてませんが良いやり方があれば教えてください。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.3

補足を見ますと1Sheetにつき3列(2列?)しか使わないようですが、各店毎に1Sheetというのは必須の仕様なのでしょうか?? そうでないならば、ピボットテーブルがまさにこういう処理をするための機能で、  行フィールド:商品名  列フィールド:店舗名  データアイテム:枚数  集計方法:合計 とすれば、ご要望と同様の情報が得られると思います。 あえて関数でやる場合は、 元データが  "A.xls"ファイル  "Sheet1"シート  2~10000行目 にあって、  B列:店名  D列:商品名  E列:枚数(文字列でなく数値で入っているものとする) であり、 集計用シートの  A1セル:店名  A列4行目~:商品名 とすれば、 集計用シートのB4セルに  =SUM(([A.xls]Sheet1!$B$2:$B$10000=$A$1)*([A.xls]Sheet1!$D$2:$D$10000=$A4)*[A.xls]Sheet1!$E$2:$E$10000) を配列数式として入力(Ctrl+Shift+Enter)して商品名の数だけフィルすればOKですが、商品の種類が多い場合には相当重たい処理になりそうです。

その他の回答 (3)

noname#52504
noname#52504
回答No.4

#3です。 関数でやる方法についての補足です。 #3で挙げた比較演算と算術演算を組み合わせた式よりも、  =SUM(IF([A.xls]Sheet1!$B$2:$B$10000=$A$1,IF([A.xls]Sheet1!$D$2:$D$10000=$A4,[A.xls]Sheet1!$E$2:$E$10000,0),0)) のように、素朴にIF関数をネストさせた方が若干処理が軽くなると思います。(IF関数は枝を計算しないようなので) 厳密に検証したわけではないので、気休め程度にお考え下さい。

toshi2005
質問者

お礼

ありがとうございます!イメージがつかめてきましたので、参考にさせてもらいます。また何かありましたらお力お貸しください^^

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

Sheet1には最小でも注文者名、注文品、注文数がある。 それをSheet2以下の別シートに分けたいのでしょうね、 「何別に」分けたいのでしょうか。得意先別や品物別・日付別など考えられますが。 質問するときは、読む人がどう解釈するか十分考えて表現しましょう。 回答ですが、関数でできなくもないが、関数は「抜き出しが不得手です(私はimogasi方式と称してたくさん回答してますが) 。式が複雑になります。それだけ動きが重くなります。 本質問はVBA向きだと思うのですが、VBAのプログラムの経験はありますか。 レポート(報告書)など以外の、ビジネスの問題をエクセルで処理しようとするとVBAがどうしても必要になるというのが経験から、私の持論です。

toshi2005
質問者

補足

下で書き忘れましたが、sheetにはお店の名前を入れ 商品名:枚数の集計です。 それと、sheet2となっているのですがデーターは支店から送られてきて、本社でまとめると言う形なので、本社で作った別ファイルのレイアウトに数字を抜き出したいと言うことなんです。 関数は抜き出しが不得意なんですか・・・ファイルが7Mあるので重くなるのは厳しいですね。VBAなんですが、まったく使えません。本を見ながら試したことはありますが書かれてる通りにしかできず答えていただけても理解は難しいと思います。 A001+商品名+枚数を別のエクセルファイルにまとめたいだけなんですけどね。

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.1

もう少し質問を具体的にしてください。 ファイルAのSheet1に入っているのは、  お客さんと注文数 だけですか? 推測ですが日付や商品名とかもあり、それもファイルBに反映させたいんじゃないんですか? sheet1からsheet100というのは、 顧客ごとにシートを作ると言うことですか? それで、各シートに注文数(の合計?)を入れるだけならそんな形のデータに意味があるとは思えません。 元ファイルの内容とやりたいレイアウトの内容をもう少し公開しないと回答のしようが無いです。

toshi2005
質問者

補足

反映させたいのは商品名と数量だけです 日付もありますが日付は関係ありません A001 A店 11月1日 商品名A 100枚 A002 B店 11月1日 商品名B 500枚 A001 A店 11月5日 商品名A 200枚 A003 C店 11月5日 商品名C 100枚 これらがsheet1に何千行と入っている ものを別のエクセルファイルに1ヶ月分 の枚数の集計をお店ごとにsheetを分け て集計したいと思っています。 ちなみに、各シートに注文数(の合計?) を入れるだけならそんな形のデータに意 味があるとは思えません。とありますが 私には意味があるから質問してるのです。  

関連するQ&A

  • EXCELで別ファイルからデータを抽出するには?

    EXCELについて条件に一致する列の内容を抽出する方法を教えてください。 シート1の行に日付があり、列に品名と日ごとの数を入力してあるシートがあります。 このシートの内容を別のシートに日付を入力すると、その日の内容が表示されるようにしたいのですが、うまくいきません。 [シート1]     1    2    3   4 (←日付) A品  10  20  30   40… B品  30   10  40  20… C品  15  16   17  18… D品  20  21   22  23… [シート2]     *(←日付を入力) A品 (   ) B品 (   ) C品 (   ) D品 (  ) シート1とシート2はそれぞれ別ファイルで同時に開いている状況です。 シート2の*部分に日付を入れると該当する日付の各品名の数量が( )の部分に表示されるようにするにはどうしたらよいですか?

  • 別ファイルから重複するデータを探したい【エクセル】

    タイトル通りですが、エクセルで複数のファイルにあるデータから重複するコードを探したいのですが、どのようにしたらいいでしょうか? 仮に、ファイルAとファイルBとしますが、 ファイルAには約800件(全て別のコード)のデータがあり ファイルBにも約1000件のデータがあります。 ファイルBにある1000件のうちファイルAで使用しているコードと重複するデータを全て抽出したいのです。 (重複データがあることが判別できるようにしたいです) データはそれぞれの量が違いますし、個別に集計するにはいささか件数が多いので困っています。 分かりづらい文章ですみません… 詳しい方、どうかお知恵を貸してください。 何か補足が必要であれば追記します。どうかお願いしますm(_ _)m

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

    エクセルで複数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は集計に入れたくないという式も教えて頂きたいです。 お時間のある方、ご教授下さい。 または別の質問で参考になるようなものがあればアドレスを教えて下さい。 説明が下手で申し訳ないですが、どうぞよろしくお願いします。

  • エクセル2003なのですが

    はじめまして、仕事でエクセルのマクロをまかされたのですが なにもやったことないど素人なもので・・・ ネットでひたすら勉強したものの息詰まってしまっていて ご教授願いたく書き込んでおります。 AとB 二つの集計を取るシートがあります。 Aでは3.4のシートの集計を Bでは1,2,3,4,5,6のシートの集計を取りたいです。 現在、マクロでAとBのシートに1,2,3,4,5,6の集計を 取るようなマクロになってしまっています。 この既存のマクロの状態でちょっとしたソースを加えるだけで Aのシートを3,4だけのシートの集計をとるようにできませんか? やはり、AシートとBシート個別にマクロ設定していくのが ベストなのでしょうか・・・ なにか、足らない部分があればご質問ください。 お願いいたします。

  • Excelの複数ファイルの内容を一つのファイルに集計する方法について教

    Excelの複数ファイルの内容を一つのファイルに集計する方法について教えてください。 各支店からの報告を集計したいのですが、同一フォームのファイル(約100ファイル)で報告されるデータを一つのファイルに集計したいと思っています。 A支店ファイルのsheet1、B支店ファイルのsheet1、・・・・を、合計ファイルのsheet1に集約したいのです。(フォームは同じで、内容は数値のみです。) いい方法がある方、お教えください。

  • Excelで日付別の集計を取るやり方

    実際の内容とは違いますが例えとして、 添付の画像のように、A列に日付が並んでいます。注文が入り次第下に追記していくので日にちはランダムです。 B列に商品名がそれぞれ並びます。 ここからが質問で、 上記シートの隣に集計用シートを作りたいと思っています。 集計用シートでは、日付が1列にカレンダーのように並んでいて、そこに商品の数を拾って出したいと思っています。 縦軸にカレンダー(日付) 横軸にA,B,C,D それぞれ日毎の数量をカウントするようにしたいです。 どのような関数、操作になりますでしょうか? 初級者のため、易しく教えていただければ幸いです。 よろしくお願いします。

  • Excel 別ファイルからのデータ抽出

    OfficeXP-Excelにて質問させて頂きます。 以下のような異なるファイルが2つあります。 ------------------- [ファイルA]     A         B     C     D     E     F    G 1    No.           1            2           3 2    氏名         山田         田中        佐藤 3             送付日 受領日  送付日 受領日 送付日 受領日 4   2007年04月分   4/2  4/27   4/3  4/26   4/2  4/25 5   2007年05月分   5/1  5/30   5/1  5/31   5/2  5/30                   ・                                     ・                   ・ (1行目・2行目のB:C、D:E、F:Gは結合されています。) ------------------- [ファイルB-シート2007/5]     A     B     C     D 1   2007年05月分 2     ←空白行 3   No.    氏名  送付日  受領日 4   1    山田 5   2    田中 6   3    佐藤                   ・                                     ・                   ・ ------------------- [ファイルA]のA4以降の『2007年**月分』のデータ『送付日』と『受領日』を [ファイルB]のセル[A1(2007年**月分)]と『No.』が一致する『送付日(C4~)』『受領日(D4~)』に 関数などを用いて抽出したいのです。 1年分のデータを1つの表にまとめて格納している[ファイルA]に対し[ファイルB]は各月のデータをシート毎に分けてあります。 [ファイルB]で元になるシートを作成しておき、毎月その元シートをコピーし[A1]の日付だけを変更すれば自動的に必要なデータを引っ張ってくるように出来ますでしょうか? 説明が解り辛ければ補足致しますので、何卒ご教示宜しくお願いします。

  • Excelで別シートを見られないようにしたい

    Excel XP を使っています。 ・sheet1は見れるけど、sheet2はパスワードかなんかがないと見れないという風にはできないでしょうか? ・逆にどのsheetも個別のパスワードがないと開けない。という風にはできないでしょうか? 1つのファイルで、Aさんはsheet1は見れるけど、その他を見れない。          Bさんはsheet2は見れるけど、sheet1は見れない。          といった風にという意味です。 ・ファイルにパスワードを設定する方法は知っています。 宜しくお願いします。

  • エクセルシートを別のエクセルファイルへコピー

    同じエクセルファイルのAシートはAのパソコンで、 BシートはBのパソコンで作成しました。 ABのパソコンはネットでもLANでもつながっておらず、 全く別のパソコン単体でしか使えません。 それぞれのパソコンで作成したABのシートを 片方のファイルの片方のシートと置き換えたいと思います。 (例えば、Aパソコンでエクセルファイルを開き、 Bパソコンで作成したBシートだけを、 AパソコンのエクセルファイルのBシートと置き換えるという意味です) 同じパソコン上の、同じファイル上で作ったファイルのコピーや シートのコピーはわかりますが 違うパソコンでそれぞれABのシートを作成して、 出来上がったシートを合体させるなんてこと、できますか。

  • エクセルのファイル間でのリンク

    エクセル2010でブック間でリンクを張って、一つのファイルにデータを入力すると 自動的にもう一つのブック(ファイル)に反映するということができると聞きました。 やり方を教えていただけませんか? イメージとしては下記のような形です。 Aというデータベース用ファイルとB、Cという元ファイルがあります。 B、Cというファイルには、 集計シート ・・・年度別のお金の利用金額や、食費、交際費といった費用別の総額 食費シート・・・・食費の詳細 交際費シート・・・交際費の詳細 というように、B,Cがどのような形でお金を使ったかの詳細を書いています。 B,Cの集計シートは、食費シート、交際費シートを変更すると、集計シートの数字が変わるよう セルの参照をしています。 Aというデータベースファイルは、B,Cの集計シートから数値を持ってきて、データが分析できるような形で入っています。 今はB,Cの集計シートをコピーして貼り付けているのですが、そうすると B,Cの集計シートの数値を変更すると、再度データベースAにコピペしてデータベースに追加しないといけないです。 B,Cの集計シートの数値を変えると、自動的に、Aに集まっている、B,Cの集計シートから 持ってきた数値を変えることができるような方法はないでしょうか? 教えてください。 よろしくお願いします。

専門家に質問してみよう