• ベストアンサー

Excel関数:データ抽出 DSumとピボット集計を足したような表を作りたい

 こんにちは。以前ご回答くださった方、本当にご丁寧にありがとうございました。今度は例示します。  詳しい方がいらっしゃいましたらどうかご教授下さいませ。   【Seet1 基になる表:タイトル「地域別売上調査」】   A   B C   D  E 1 番号  月 日  地  域  __________________ 2 1  9 1  北海道2 3 2  9 2  東京 4 4 3  9 1  北海道3 5 4  9 4  沖縄 0 6 5  9 2  北海道0 7 6  9 4  東京 1 8 7  9 1  北海道1 9 合    計   6 15  6 【Sheet2 抽出したデータで作られた表】  この表では、ラベル名(「月」「日」「地域名」のこと)を書き換えても、合計結果が自動的に集計されるようにしたいのです: ============================   A  B        C    D 1 合計:売上合計|   地    域 ______________________ 2 月  日   |  北海道  東京 3 9  1   |   6    0 4 9  2   |   0    4   説明:他の月日や地域をそれぞれセルA3、A4、B3、B4、C2、D2に入力すると、 基の表からデータが引っ張られ、セルC3、C4、D3、D4には 「求めたい地域名の、なおかつ、求めたい月日の『売り上げの合計』」  会社の上司は「必要なデータだけが表示される単純明快な表」を望んでいます。上司は「確かこんな表を作れる関数があったはずだ・・」というのです。皆さんのお知恵をお貸しください。

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

  • ベストアンサー
  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.2

こんにちは~ 関数なら次のようにしてみてください。 Sheet2 の C3に =IF(COUNTA($A3,$B3,C$2)<3,"",SUMPRODUCT((Sheet1!$B$2:$B$100=$A3)*(Sheet1!$C$2:$C$100=$B3)*(Sheet1!$D$2:$D$100=C$2),Sheet1!$E$2:$E$100)) と入れて、右の D3にフィルコピー C3、D3を下の C4、D4にフィルコピー 絶対参照($)の付け方に注意してください。 Sheet1の最大データ数を 100としています。もっと多い場合は範囲を広げてください。( あまり極端に広げないでください ) * ところで日付データを、月と日に分けているのは何か意味があるのでしょうか? 日付はひとつのセルに、2005/9/1 のように入れて日付データとして持つべきだと思います。( 表示形式は、セルの書式でどうにでもなりますし ) そうしておけば、上の数式ももう少しシンプルになります。 わからなければ補足してください。 それと、再質問する場合、前の質問は締め切りましょう。

dansin26
質問者

お礼

 こんばんは~  とてもシンプルな数式で、分かりやすく、かつご丁寧なご回答をどうもありがとうございます。  教えてくださった数式のメモやエクセルのヘルプでの書き取りに時間がかかり、 もう寝る時間になってしまいました。明日はあいにくひどい雨のようなので、 早めに職場に行って、上司に報告しなければなりません。  shiotan99さんのように、ご親切に多くの方からご回答をいただき 本当に感謝しています。私も塩タン大好きです。あまり食べると太りますよね・・    明日、実際にshiotan99さんが教えてくださった数式を入力しどう上司に報告するか やってみようと思います。  sihotan99さんが教えてくれたsumproductをはじめ、 countaやindex、matchなど、忘れ去っていた関数を初めて見るもののように勉強し直すいい機会でした。とはいってもまだ理解していません・・。  また質問するかもしれません。shiotan99さんがよろしければ、ご回答くだされば嬉しいです。  ありがとうございました!!!  p.s.前の質問は、強要する訳ではないのですが、ご回答くださった方からの再投稿やさらに良いご回答を期待して締め切りませんでした。時期をみて、締め切りますね。失礼致しました。 

その他の回答 (1)

  • nekotaru
  • ベストアンサー率50% (22/44)
回答No.1

こんにちはです。 上司の方がおっしゃってるのはビボットテーブルかなー? ツール→ビボットテーブルとビボットグラフ レポート ってのがあります。 あとはウィザードに従ってください。

dansin26
質問者

お礼

 こんにちは。ご回答ありがとうございます。   私もピボットだったら一番近いかな、と思ってやってみたところ、 上司が必要としていないデータも表示されてしまうのです。  上司はシンプルな表を求めていらっしゃいました。  でも、ご回答ありがとうございました!

関連するQ&A

  • Excel 関数を使う? 抽出データ

     以下について教えてください。 ============================== 【基になる表--「A」の表と呼ぶことにします。】  列方向のリストには左から「月」「日」「地域」「数」が並んでいる。  「月」には1月から12月までのデータが、 「日」には1日から30もしくは31日のデータが、 「地域」には北海道、青森、新潟、東京、大阪の5つの地域が、 「数」には売上数が並んでいるとする。 【基になる表から抽出して作られた表--これから便宜上「B」の表と呼ぶことにします。】  列には「地域」の中から北海道と青森を、 行には「月」から9月を、「日」から15日を、 列と行が交差するセルには「数」を置き、「9月15日の北海道と青森の売上数」の合計を抽出したい。  さらに、Bの表において、 「地域名」の北海道を削除して新潟にしたり、9月15日ではなく9月18日に置き換えても、 列と行が交差するセルに自動的に集計結果が表されるようにしたいのです。  ちなみに、Aの表もBの表も同じブックに作り、シートは別にします。 ===================================  DSumやIfSum関数だと私が作りたいBの表のような形式になりません。列方向にしかラベルを置けません。  ピボットテーブルを使った集計ならば、求めているデータ以外のデータも表示されてしまいます。  どうすれば求めていることができるでしょうか?どうか皆さんの知恵をお貸しください。

  • DSUM関数の使い方

    こんにちは。 アルバイトの勤務時間の合計にDSUM関数を使いたいと思っているの ですが、『#VALUE!』という表示が出てしまいます。 以下のような表(A1:B750)で、C列をはさんで合計の表(D1:E5)を作っ て、合計欄に『=DSUM(A1:B750,B1:B750,D2)』と記入しました。正し い記入方法をご存知の方がいらっしゃったらお教えください。 他にもっとよい方法があればアドバイスください。       A      B     C     D      E 1     名前    時間        名前     合計 2     い     6.0           い      145.5 3     ろ     0.0           ろ      73.5 4     は     0.0           は      30 5     に     8.0           に      153 6     い     4.5         7     ろ     4.5         8     は     0.0         9     に     4.0         10     い     0.0         11     ろ     0.0           ・       ・       ・       ・ 750    に     8.0

  • ■[EXCEL]こんな関数教えて

    100人の2年間の月別売上データがあり、一人毎の任意の期間の売上合計を出す関数を教えてください。具体的には下記のような表です 期間(12ケ月)   A年月日~B年月日   1月 2月 3月 -----→2年分のデータ A  ***   ***       ** ** ** ** ** ** B  ***    ***      ** ** ** ** ** ** C  ***    ***      ** ** ** ** ** ** D  ***    ***      ** ** ** ** ** ** ↓ 100人 期間の始まりAは人によりまちまちなのです。 ずっと考えているのですが私の悪い頭ではわかりません。

  • 関数教えて! EXCEL 検索 抽出 重複データ

    単純なVLOOLUPならわかるのですが、下記のような表はどのような関数をつかえばよいのでしょうか? ーーーーーーーーーーーーーーー 「1.元となる表」;SHEET名「店ごとの売上げ順位&ボーナス該当有無」※列にはA、B、C、行には1、2、3と名前を付けています。   A     B      C          1 売上げ順位 店名    ボーナス該当有無  2 1     タリーズ      有り 3 2     スタバ       有り 4 3     ベローチェ     有り 5 4     ドトール      なし     ーーーーーーーーーーーーーーー 「2.元になる表」;SHEET名「社員表」   A     B      C     D 1       店名     社員名  社員番号 2 1     タリーズ   嶋田   01 3       タリーズ   田中   02 4 2     スタバ    野村   05 5       スタバ    谷口   06 6 3     ルノアール  井上   03 7       ルノアール  伊藤   04 8 4     ベローチェ  佐野   07 9       ベローチェ  熊田   08       ーーーーーーーーーーーーーーーーー 「2.作成したい表」;SHEET名;「売り上げ順位順店別ボーナス該当者リスト」   A     B      C          D 1 売上げ順位 店名    ボーナス獲得社員名  社員番号 2 1     タリーズ      嶋田     01 3       タリーズ      田中     02 4 2      スタバ      野村     05 5       スタバ      谷口      06 6 3     ベローチェ    佐野      07              7       ベローチェ    熊田      08

  • excel 複数条件の値を返す Vlook条件2つ以上の場合

    質問集を探しましたが、該当するものを探すことが出来なかったので、質問させてください。 エクセルデータで以下のような基データ表があるとします。 【表1】 A          B          C           D           E 商品NO    商品名    店舗名    売上数    売上額  123        ガム       東京        10        100 123        ガム       大阪        20        200 345        チョコ      東京        40        200 345        チョコ      大阪        30        150 345        チョコ      北海道       10        50 678        アメ       東京         20        80 678        アメ       北海道        10        40 ↓↓のように値を求めたい。 【表2】 A          B          C           D           E           F  商品NO    商品名     店舗名→    東京      大阪     北海道 123        ガム        売上数      10         20        N/A                    売上額      100        200        N/A 345        チョコ        売上数      40         30        10                    売上額      200        150        50 678        アメ         売上数      20         N/A        10                    売上額      80        N/A        40 表1を表2のように少々形を変え、引っ張ってきたいのです。 商品NO(or商品名)と店舗名と売上数(or売上額)の3つの条件が あるものを引っ張っていくにはどうすればいいのか。 表2のD2~F7に置く関数を教えてください。 出来れば、作業列など作らずにひとつの式で片付けたいのですが、 教えていただけますでしょうか。

  • データ表より抽出・集計について

    いつもお世話になります。先日、質問した内容ですがわからないなどの指摘を頂きましたので反省して再質問いたします。 ・元データ表:概略 WORK2.XLS   A     B     C     D 1 日付    2      不良1  不良2  不良3 3       15     60     25      4       0.15    0.6    0.25     5 12/1    5       25      5 6 12/2    3       15      3 7 12/3    2      15       5 8 12/4    5       5      2 1行:日付名称 2行:不良項目 3行:不良項目合計数 4行:不良項目発生率 5行以下:日付別発生数 を表しています。 ・抽出 上記表よりワースト不良発生率を抽出 不良2   0.6%  → LARGE・INDEX関数により:完了 ・日付別の発生数を表にしたい     A       B 1  12/1      25 2  12/2      15  3  12/3      15 4  12/4      5 B1=SUMIF('WORK2.xls]sheet1'!$A:$A,A1,'[WORK2.xls]sheet1'!$C:$C) 下へオートフィルで完成しますが、式の$C:$C(不良項目)は抽出した不良項目により変わるので上の式で固定はできません。(そのたびに変えるのは避けたい) 抽出した不良項目に対応出来るようにするにはどうすればよいのでしょうか? 教えてください。 

  • どんな関数を使えばいいでしょう(EXCEL)

    EXCEL2003で以下のような表を作っています。 A2~A13・・1月~12月の月を入れています B1~D1・・・店舗名(店舗A~C)を入れています データは店舗ごと(月毎)の売上が入っています。 E列にその月の最低売上をMIN関数で出しています。 F列にE列で出した最低売上の店舗名を出したいのですが、どのように出したらよいのかわかりません。 なるべく簡単な方法で出したいのですが、どうしたら良いでしょうか? 関数で出すと思うのですが、どんな関数を使えばよいでしょうか? よろしくお願いいたします。

  • よりよい表の作り方を… EXCEL2003

    よりよい表の作り方を… EXCEL2003 今現在、ピポットテーブルを用いて以下のような表を作成しています A店舗 6月売り上げ合計   行総計     7月売り上げ合計    8月売り上げ合計 B店舗 6月売り上げ合計     7月売り上げ合計    8月売り上げ合計               列総計 という風になっていて、これだとA店舗+B店舗の列合計が出てしまい 店舗ごとの列合計が出ないので、どうにか各店舗毎に合計を出したい。 また、EXCELで横と縦に長い膨大なデータの見栄えを良くしたいと思っています これはピポットのデータをひたすら並べただけのデータで、同じく合計を出しています データが毎月変わるので、修正作業が容易である事が望ましいです。 フォームでの作成も試みましたが、入力範囲とリスト範囲の違いすら分からず苦心しています ピポット以外にも視覚的に見やすいものがあれば、教えていただきたいです。

  • Excelでのデータ集計

    複数回のテストの合計を出すのに、現在は氏名で並び替えをして合計を出していますが、関数を使って簡単に出す方法があれば教えてください。以下のような表です。よろしくお願いします。 氏名   3月   4月   5月 A     70    98    89 B     56    79    93 C     90    67    87 D     63    79    91 A     98    74    90 B     40    72    85 C     89    96    89 D     77    40    79 A     86    85    84 B     69    80    87 C     80    59    94 D     71    80    90     合計  A   774  B   661  C   751  D   670

  • EXCEL関数

    おせわになっておりますm(__)m 先日下記のような質問をここでさせていただきました おかげさまで完璧に解決いたしたのでありますが、 その関数の意味がいまいちわからないのです。 どのように考えればこんな関数が考え付くのでしょうか? 合計を出したいのですが、問題があるのです。 その表はこういうふうに並んでいます。 まずタイトルがあります。 A1 日付 B1ファイル名 C1ファイルのサイズ その下にだーっとデータが並んでいます。 そしてそれは日付ごとに並んでいます。 ファイル名の数はばらばらです。 2つデータがあるときもあれば3つだったり4つだったりします。 データの数さえそろっていれば、D2にでも、SUM関数をいれてオートフィルで合計 値をだせるのですが、 データの数がバラバラなので、 現状だと、手作業で日付ごとに合計しているような状態です。 D列に日付ごとの累計を入れたいのです どうか宜しくお願い致します ちなみに >ファイルサイズの合計です >宜しくお願い致しますm(__)m >もうすでにC列には数値(ファイルサイズ) >がでているので、それぞれ合計すればいいだけです 上記のような質問です。 それで下記のような答えを頂きました (参照失礼致します) D2を選択して、 =IF(A2<>A3,SUMIF(A:A,A2,C:C),"") をコピペして、セルの右下の■を必要なだけ、下方向へ伸ばしてください。 もし、累計が一番最初の行に表示したいのであれば、 =IF(A1<>A2,SUMIF(A:A,A2,C:C),"") でやってみてください。 上記の関数で完璧にできました (arukamunさん、ほんとうにありがとうございます(__)) これはどういうことから導き出しているのでしょうか?

専門家に質問してみよう