• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの集計について)

エクセルでセル結合した場合の集計の仕方とは?

このQ&Aのポイント
  • エクセルでセルの結合を使用した場合の集計の仕方について教えてください。
  • 現在、A列とB列にデータが入力されており、A列には日付、B列には数値が入っています。
  • セルの結合をしているため、集計式の結果が正しく表示されない状況です。どのような式を入力すれば正しく集計できるでしょうか。

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

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

こんばんは! 余計なお世話だったらごめんなさい。 お示しのデータは3行ずつのセルの結合になっていますが、 結合行がバラバラでも対応できるようにしてみました。 ↓の画像のように作業用の列を設けています。 作業列C2セルに =IF(B2="","",IF(A2="",MONTH(INDEX($A$2:A2,SMALL(IF($A$2:A2<>"",ROW($A$1:A1)),COUNT($A$2:A2)))),MONTH(A2))) これは配列数式になってしまいますので、この画面からC2セルにコピー&ペーストしただけではエラーになると思います。 C2セルに貼り付け後、F2キーを押す、またはC2セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 C2セルをオートフィルで下へずぃ~~~!っとコピーします。 そして、F2セルに =IF(E2="","",SUMIF(C:C,E2,B:B)) (これは配列数式ではありません)という数式を入れています。 これでE2セルに集計したい月の数値を入力するとF2セルに表示されるはずです。 尚、今回は1年分(年度が違う同じ月がない)という前提での方法です。 仮に 2009年の4月分のデータがあったりすると別の方法を考える必要があります。 以上、参考になればよいのですが、 的外れならごめんなさいね。m(__)m

その他の回答 (4)

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

次のようにしても良いでしょう。 作業列としてC1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",IF(A1<MAX(A:A),SUM(INDEX(B:B,ROW(A1)):INDEX(B:B,MATCH(SMALL(A:A,RANK(A1,A:A,1)+1),A:A,0)-1)),SUM(INDEX(B:B,ROW(A1)):INDEX(B:B,COUNT(B:B))))) これでA列で日付が入力されている行にその日付でのB列の合計が表示されます。 そこで例えばD1セルに求めたい月を例えば2010年4月でしたら2010年4月と入力します。数式バー上では2010/4/1のように表示されますね。 D1に入力した年月での合計値をE1セルに表示させるとしたらE1セルには次の式を入力します。 =IF(D$1="","",SUMIF(A:A,">="&D$1,C:C)-SUMIF(A:A,">="&DATE(YEAR(D$1),MONTH(D$1)+1,1),C:C))

TSUNOKEN
質問者

お礼

いろんなやり方があることを知りました。ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

以下のような操作で結合セルにも同じ値を入れてしまうのが数式いがそのまま使えるので簡単です。 A1から日付データ範囲を選択して、右クリック「コピー」適当な空白列(たとえばE1セル)を選択して、右クリック「形式を選択して貼り付け」で「値」貼り付けし、そのままCtrl+Gでジャンプダイアログを出して「セル選択」「空白セル」でOKし、現在アクティブセルの1つ上のセルを参照する数式(E2セルが空白セルなら「=E1」)を数式バーに入力し,Ctrlキーを押しながらEnterします。 このデータ範囲を選択し、右クリック「コピー」、元のセル範囲を選択して、右クリック「形式を選択して貼り付け」で「数式」を選択してOKすれば結合セルのすべてのセルに自動的に同じデータが入力されるようになります。

TSUNOKEN
質問者

お礼

ありがとうございました。

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

セル結合の利用は、その後の関数利用などに大きな困難を伴う。知らないでやったものの経験の無さのお蔭だが。 ーー この質問は3行おきに日付が出てくる例を挙げているが、全データを通してそうか。 そうでないなら実例を挙げるとき注意しないと。 必ず3行おきに日付が出てくる場合は 例データ (-は空白と言うか被結合セル) 2010/4/5 6 19 ー     6 ー     7 2010/4/10 5 21 ー 9 ー 7 2010/5/3 5 9 ー     3 ー     1 C1の式は =IF(A1="","",SUM(OFFSET($B$1:$B$100,ROW()-1,0,3,1))) 下方向に式を複写(B100は適当に)

TSUNOKEN
質問者

お礼

ありがとうございました。

回答No.1

3つ固定だったら =SUMIF(A1:A7,"<2010/5/1",B1:B7) +SUMIF(A1:A7,"<2010/5/1",B2:B8) +SUMIF(A1:A7,"<2010/5/1",B3:B9) 無駄が多い気はしますが。。。

TSUNOKEN
質問者

お礼

ありがとうございました。

関連するQ&A