• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelの数値範囲を指定したクロス集計)

Excelの数値範囲を指定したクロス集計

このQ&Aのポイント
  • Excel2010で、フィールドA、B、Cの組み合わせにおけるフィールドDの合計値を求める方法について教えてください。
  • フィールドA="あ"、フィールドB="イ"、フィールドC="山"で、フィールドDが1以上10未満のレコードのフィールドEの合計値を求めたいです。
  • ピボットテーブルと組み合わせて数値範囲を指定して集計したいですが、具体的な方法がわかりません。別の処理方法でも構いませんので、教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

=SUMIFS(E:E,A:A,"あ",B:B,"イ",C:C,"山",D:D,">="&1,D:D,"<"&10) うち「>=&1」「<&10」の部分は、前に回答したのと同様実際にはセルに記入しておいて作成してください。

okhotsk
質問者

お礼

遅くなりましたが、ありがとうございます!

その他の回答 (5)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.6

どうもです http://sdrv.ms/17BmYjUの 「数値範囲指定クロス集計」タブに書いておきました 全展開するとアップロードできなくなるので 式を下方にフィルすると 全展開できるようにしておきました ですので、 G2:K2を必要なっだけ下にフィルしてください 但しWEB APP上ではしないで下さいね。 A:Eは、乱数でデータを作らさせています。 これも下方にフィルすると、 G:Kに集計がぽつぽつと出始めます。 ダウンロードして試してみて下さいね。 O:Rは、 閾値を示す場所です。 各行最終データの直下に 2行目の値を入れておいて下さいね。 これにより、 G:Kがフィルで再展開できるようになっています。 如何でしょうか? お役に立てていたならば幸いです。

okhotsk
質問者

お礼

遅くなりましたが、ありがとうございます!

回答No.5

No.3・4 です。たびたび申し訳ありません…。E4 セルの不等号から「=」を抜かしてしまいましたので、修正お願いします。 E4 =(C$1<=a4)*1

okhotsk
質問者

お礼

遅くなりましたが、ありがとうございます!

回答No.4

No.3 です。すみません、No.3 の中で「B1、C1、E1」と書いたのは、「B3、C3、E3」のことなので、訂正します。

okhotsk
質問者

お礼

遅くなりましたが、ありがとうございます!

回答No.3

ピボットテーブルをお考えなら、集計の対象の表に列を追加し、数式によってフラグを立てておくのがラクかと。 A1:C1 のセル範囲に「1」、「10」、「30」が入力されているなら、次式。D 列は、C 列を入力後、それを右方向にドラッグしてオートフィル。 B1 ="x<"&a1 C1 =a1&"≦x<"&b1 E1 =c1&"≦x" B4 =(a4<A$1)*1 C4 =(A$1<=$A4)*($A4<B$1) E4 =(C$1<a4)*1

okhotsk
質問者

お礼

遅くなりましたが、ありがとうございます!

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

A列からE列までの2行目から下方にデータが入力されているとします。 A列からC列までの文字列の組み合わせはたくさんあると思われますのでそれらの組み合わせをもれなく表示させた上で、4つの条件のもとでの集計を表示させるためには初めに作業列をFおよびG列に設けます。 F2セルには次の式を入力して下方にドラッグコピーします。 =A2&B2&C2 G2セルには次の式を入力して下方にドラッグコピーします。 =IF(COUNTIF(F$1:F1,F2)=0,MAX(G$1:G1)+1,"") I2セルには次の式を入力して下方にドラッグコピーして文字列の組み合わせを表示します。 =IF(ROW(A1)>MAX(G:G),"",INDEX(F:F,MATCH(ROW(A1),G:G,0))) そこでそれらの文字列の組み合わせでのD列における数値の条件でのE列の値の集計ですがJ1セルには1未満、K1セルには1以上10未満、L1セルには10以上30未満、M1セルには30以上とそれぞれ文字列を入力します。 J2セルには次の式を入力してM2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF($I2="","",IF(COLUMN(A1)=1,SUMIFS($E:$E,$F:$F,$I2,$D:$D,"<1"),IF(COLUMN(A1)=2,SUMIFS($E:$E,$F:$F,$I2,$D:$D,">=1",$D:$D,"<10"),IF(COLUMN(A1)=3,SUMIFS($E:$E,$F:$F,$I2,$D:$D,">=10",$D:$D,"<30"),SUMIFS($E:$E,$F:$F,$I2,$D:$D,">=30")))))

okhotsk
質問者

お礼

遅くなりましたが、ありがとうございます!

関連するQ&A

専門家に質問してみよう