• ベストアンサー

EXCELの合計

A列に色々な顧客名がB列に数値が入っています。 現在顧客別にソートを掛けて合計を集計していますが 別シートに自動的に顧客別のシートをつくりそこに自動的に数値合計が 反映できる事は可能でしょうか(同じシート内でも可)。 C列に顧客と数値合計が飛ぶようにしたのですがソートを掛けると 行全体が動くので上手くいきません・・・

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! すでに回答は出ていますので・・・ 参考程度で目をとしてみてください。 Sheet1をSheet2にまとめるようにしてみました。 ↓の画像でSheet1に作業用の列を設けています。 作業列C2セルを =IF(COUNTIF($A$2:A2,A2)=1,ROW(A1),"") としてオートフィルでずぃ~~~!っと下へコピーします。 そして、Sheet2のA2セルは =IF(COUNT(Sheet1!$C$2:$C$100)<ROW(A1),"",INDEX(Sheet1!$A$2:$A$100,SMALL(Sheet1!$C$2:$C$100,ROW(A1)))) B2セルは =IF(A2="","",SUMIF(Sheet1!$A$2:$A$100,A2,Sheet1!$B$2:$B$100)) として、A2・B2セルを範囲指定し、B2セルのフィルハンドルで下へオートフィルでコピーすると 画像のような感じになります。 尚、数式はSheet1の100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてください。 そして、顧客名の並び替えをSheet2で行っても変化がないと思います。 並び替えをするのであれば元データのSheet1で行ってください。 Sheet2に反映されます。 以上、長々と書きましたが 参考になれば幸いです。 どうも失礼しました。m(__)m

その他の回答 (3)

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

シート1ではA1セルに顧客名、B1セルに金額と項目名が入力されており、それぞれのデータが下方に入力されるとします。 作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(A$2:A2,A2)=1,MAX(C$1:C1)+1,"") シート2ではA1セルに顧客名、B1セルに合計額とそれぞれ項目名を入力します。 A2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!C:C,ROW(A1))=0,"",INDEX(Sheet1!$A:$A,MATCH(ROW(A1),Sheet1!$C:$C,0))) B2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(A2="","",SUMIF(Sheet1!A:A,A2,Sheet1!B:B))

  • avanzato
  • ベストアンサー率54% (52/95)
回答No.2

こんにちは。 的外れかもしれませんが顧客ごとの集計であれば次の方法で出来るかと思います。 添付画像のような時、E2の数式を =SUMIF($A$2:$A$6,D2,$B$2:$B$6) とし、E4までコピーします。 そうすると顧客ごとの集計になりますがどうでしょうか?

yoyodd
質問者

お礼

有難うございました。 私が作業するにはこの作業が簡単で良いようです。 参考にさせて頂きました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

■同シートの場合 >方法1(顧客が登場した最初の行に合計値が表示) C2=IF(COUNTIF(A$2:A2,A2)=1,SUMIF(A:A,A2,B:B),"") で下方にコピー C列に数値のある行のみにしたい場合は「データ」「オートフィルタ」で"空白でないセル"を選択 >方法2(顧客が登場した最後の行に合計値が表示) C2=IF(COUNTIF(A$2:A2,A2)=COUNTIF(A:A,A2),SUMIF(A:A,A2,B:B),"") で下方にコピー C列に数値のある行のみにしたい場合は「データ」「オートフィルタ」で"空白でないセル"を選択 >方法3(その行までの累計値が表示) C2=SUM(A$2:A2,A2,B$2:B2) で下方にコピー ■別シートの場合 A:B列を選択 「データ」「ピボットテーブル」で 顧客を行に、数値をデータ(数値の合計)にして実効 元データに変更・追加がある場合は、ピボットのシートでピボットの更新を押してください。

yoyodd
質問者

お礼

早急に有難うございました。 とりあえず、見よう見真似でSUMIFと$でどうにか出来たようです。 有難うございました。

関連するQ&A

  • エクセルで二つの条件での合計値

    こんにちわ。 関数でいろいろやってみているのですが、どうしてもうまくいきません。 シート1に一覧表があります。A列にコード番号(約500番)、B列に名前、C列に種類わけ(10種類・リストにしています)、D列に数字が入っています。これが約5000行あります。 これをシート2に、コード番号(A列)及び種類(C列)が一致するものの数字(D列)の合計を出した、自動更新される集計表を作りたいのです。 しかも、C列の種類わけしているものの中から、2つずつペアリングしての数字(D列)の合計を出したいのです。 ピボットテーブルやオートフィルターでひとつずつ出していってもいいのですが、次々と追加で行が増えていくので、その都度集計表を更新していくのもタイヘンだと思い、自動的に更新されるといいなと思っています。 説明不足なことがありましたら、返答します。 相当困っています。 どなたか助けてください。 よろしくお願いします。

  • エクセルのソート

    エクセルでソートをかけたいのですが・・・・・・ たとえピポットテーブルで集計をかけたものがあるとします。 集計では、元数字の行とそれに「集計」の文言が入った行になりますが、その「集計」の 行だけを別のシートなりに取り出したいのですが何かいい方法はありませんでしょうか?  例      A列      B列      C列       1  ○○産業   ○○支店   100000     2  ○○産業○○支店 集計  100000     3  ○○商会            500000     4  ○○商会 集計        500000    となった場合2・4行目の「集計」の入った行を抜きたいのです。 宜しくお願いします。

  • Excelで特定の文字のある列の数値を合計する関数

    Excelで、特定の文字列を含む列の数値の合計を、自動で集計してくれる関数はあるでしょうか。 複数シート(シートA、シートB)で構成されるExcelファイルで、シートAにはすべての取扱い商品が記載されています。現在は、シートBに入力されている商品ごとの販売個数の合計をシートB上でsumにより求め、その数値をシートAの該当箇所に、手で入力しています。シートAに記載されている商品が多いため、この手作業を関数で代替したいのです。 ただし、シートBに、次のような条件があります。 シートBの1行目(A1,B1,C1,D1...)には、見出しとして"氏名" "りんご" "バナナ" "いちご"...などがあり、2行目以降は、販売者の名前と、その人が販売した商品の個数が入力されています。掲載人数は40人(行数で41行)ほどです。 ところが、誰も"りんご"を販売していなければ、その列自体がなくなります。シートBには販売された商品しか記載されておらず、たとえばB1は、必ずしも"りんご"ではありません。 シートAからBを参照し、シートBの1行目に、もし"りんご"の文字があれば、そのりんごの列の2行目以降にある販売数の合計を、"バナナ"があれば同じくバナナの販売数の合計を、じかにシートAのそれぞれの合計欄に表示させたいのです。 なお、シートBの行と列を入れ換えたシートB'を作るのは、避けたいと思っています。理由は、販売者の名前でも、全商品の販売個数をシートAにsumif関数で集計していること。また、シートは1週間ごとに、今後30枚程度まで増え、その各週合計もシートAに集計する予定のため、シートは各週1枚だけにしたいのです。 このような条件のもと、Excelの関数で集計する方法があれば、教えてくださいますか。

  • Excel 条件付合計

    Excelで、A列に計算対象数値、B列に集計条件数値の入った表を作りました。 B列の条件が同じものを連続行にまとめ、全体を一つの数表にしてあります。   A  B 1  1  5 2  2  5 3  3  5 4  4  5 5  5  5 6  6  8 7  7  8 B列の条件が等しいA列の合計値を出そうと思い、次のようにしましたがうまくいきません。 =SUMIF(B1:B20,"=B1",A1:A20) 戻り値=0 ??? 正しい方法を教えて下さい。よろしくお願いします。

  • EXCELでこんな集計はどうするのでしょうか

    商品管理の表で以下のようになっています。 A1   B1    C1     D1    E1 担当者 分類番号 商品コード 整理番号 以下各月毎の売り上げ そしてこの表は1500行程度あり、B列、C列でソートしています。 この表をB列の分類番号毎、C列の商品コード毎で各月の売上合計を上記の表のシートとは別のシートに集計したいのですが、どのようにしたらよいのでしょうか。シートをコピーして集計するのはできるのですが、そうしたら容量が(サイズが)大きくなりすぎるため、できれば避けたいと思っています。

  • エクセル 3行ずつの合計

    エクセルの質問です。 A列にID、B列に数値が入力されているとします。そしてC列にB列の2行ずつの合計を計算したいのですが、どうしたらいいでしょうか。 A | B  | C 1 | 25 | ID1から3の合計 2 | 24 | ID4から6の合計 3 | 37 | ID7から9の合計 4 | 32 | ID10から12の合計 ・ ・ ・ 数百行はあるのでいちいちちょこちょこと合計するのが苦痛なんです。よろしくお願いします。

  • エクセルで合計を求めるために

    エクセルで合計の数値を求めたいです 状況としては A列に数字が入力されています B列に入力があったものだけの合計をC1に表示させたいです 例としては A列 B列 100  1 150 200 250  山   この場合の合計をC1に100+250=350 B列の入力内容は状況によって変わります 現在はC1=IF(A1="","",B1)という関数を別の箇所に作って、それの合計を出させていますが、出来れば別の箇所に計算式を作らずにすむ方法を教えてください。お願いします

  • エクセルで集計

    エクセルで集計 シート1:A列に日付2000行程度、B列に品名A,B,C,D…500種類程度、C列にその内容。日毎に行は増えていきま、同じ品名が何度も登場してきます。 シート2:ここに新しくシート1の集計をして、同じ品名の多い順に並べ替えてリストを作成したいと思います。 シート1に新しく行が増えると同時にシート2の集計に反映させたいのですが、いい方法はありますか?

  • エクセル 表のなかから条件に合うものを詰めて一覧にする

    ある表のなかから条件に合うものリストを 詰めて一覧にするにはどういった関数などを つかってどういう風に組めばよいでしょうか? ・VB等プログラム使用不可 ・手動でのソートや抽出はしない ・「詰めて」が最も大きなポイント 例 シート1   |  A   B   C   D  --------------------------------- 01 |  あ  ○      58 02 |  あ  ×   u   4 03 |  あ  ☆   o   2 04 |     ×      87 05 |  う      j   7 06 |  あ  ○   k 07 |  い      n   9 08 |  い  ×   d  223 09 |  あ  ○  yua   0 10 |            66 11 |  い  ☆   j  12 |  う  ×   o   2 13 |  う      t   2 14 |  あ  ○  ykd  651 15 |  い  ☆   h   6 16 | 17 | 18 | 19 | 20 | 上記の中から  A列が「あ」かつ B列が「○」かつ D列が空白でないものを 詰めて別シートで下記のような リストに自動的にしたい。 自動的・・・ ・シート1の16以降の行に追加しても  自動的にシート2に詰めて反映される。 ・シート1いずれかの行を削除しても  条件にあったリストがシート2に  反映される。   シート2  (完成)   |  A   B   C   D  --------------------------------- 01 |  あ  ○      58 02 |  あ  ○  yua   0 03 |  あ  ○  ykd  651 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | もちろん、計算のための隠し列や隠しシートを儲けるなどは可。 エクセルの関数の駆使だけではムリなのでしょうか? どうかご教授くださいませ。

  • (エクセル)数値だけ合計したい

    複数のセルに入力されている数値だけを抽出し、合計したいと思います。   A     B    C    D    E    F    G 1 合計金額 金額1  金額1理由 金額2  金額2理由 金額3  金額3理由 2      1000円   菓子  3 1500円  1000円   菓子   500円   飲料 4 1520円  1000円   菓子   500円   飲料   20円   消費税 以上のようにA列に合計金額を計算させる数式を考えています。 (ルール) ・B列とC列、D列とE列、F列とG列はセットです。例えば、B列には入力されているが、C列は空白ということはない ・B列とC列→D列とE列→F列とG列の順に入力されていく ・2行目、3行目のように、常に金額が3つとも入力されているとは限らない ・金額が入力されているB列、D列、F列には、「○○円」と「円」も一緒に入力されている (やりたいこと) A列に合計金額を反映させないのですが、以下のように規制したいです (1)2行目のように、金額が1つだけの場合(B列とC列しか入力されていない場合)は、合計金額は空白セルにする (2)3行目、4行目のように、金額が2つ以上の場合(D列とE列や、F列とG列にも入力されている場合)は、合計金額を反映させる (3)合計金額は「○○円」と「円」も一緒に反映させる (考えたこと) B列の金額とB列+D列+F列の合計を比較し、同じならA列は空白、違う場合はB列+D列+F列の合計をA列に反映させるようIF関数を使えばいいのではないか、と考えました。 そこで、まずB列+D列+F列の合計を出す関数を作ってみたのですが、うまくいきませんでした。 =SUM(SUBSTITUTE(B2,"円","")*1,SUBSTITUTE(D2,"円","")*1,SUBSTITUTE(F2,"円","")*1) とすると、金額が3つとも入力されていればいいですが、一つでも空白セルがあると、#VALUE!とエラーになってしまいます。 SUMPRODUCTを使用してできるかと思いましたが、同じ結果でした。 どうすれば、思っているようになるのでしょうか。 ご存知の方がいましたら教えてください。 よろしくお願いします。

専門家に質問してみよう