• ベストアンサー

こんな時の関数

列A 列B 列C 赤 229 12,330 青  21  967 黄  21  967 緑  6  389 緑 524 15,837 赤  48  3,087 緑  67  3,251 黄 257  9,771 青  9  860 青  24  1,324 青 935 34,519 赤計 ? ? 青計 ? ? 黄計 ? ? 緑計 ? ? 各色の計を出したいのですが、どうすると良いでしょうか?

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

  • ベストアンサー
  • surounin
  • ベストアンサー率28% (30/106)
回答No.1

=SUMIF(範囲,検索条件,合計範囲)で解決です^^ 範囲は列AでA2:A20とか 検索条件は○計の一文字を取って LEFT(A21,1):赤計がA21に入力されている場合 合計範囲はB列にはB2:B20,C列にはC2:C20です これらより =SUMIF($A$2:$A$20,LEFT($A21,1),$B$2:$B$20) ※ $は範囲を固定するために使っています

dra96
質問者

お礼

赤の個数ではなく、数字の合計です。 ですので、赤計=277、青計=989・・・となるのですが。

その他の回答 (8)

  • Musaffah
  • ベストアンサー率36% (37/101)
回答No.9

ごめんなさい。No.8で(2)の計算式間違えました。 =SUMIF($A$2:$C$11,$A14,B$2:B$11) でした。

  • Musaffah
  • ベストアンサー率36% (37/101)
回答No.8

じゃぁ、こうすれば? 基本的にNo.1さん&No.5さんの内容+αでいきます。 データが2行目から12行目まであって、”赤計”の行は14行目として説明しますね。 (1)まず、”~計”と書きたいセルの書式設定[表示設定]で、[分類]を"ユーザ定義"にし、種類に『@"計"』と設定します。 すると、例えば"赤紫"とだけ入力しても表示上は"赤紫計"となります。 (これでほとんど目的は達成されたと思いますが・・・。) (2)次に、B14セルに =SUMIF($A$2:$C$11,$A15,B$2:B$11) と書きます。 するとご期待の「”赤”の合計値」がでるはずです。 (3)最後にこの式をコピりまくります。 以上。どうでしょう?

  • at121
  • ベストアンサー率41% (85/206)
回答No.7

赤計がA21に入力されている場合 ○計の一文字を取って LEFT(A21,1) LEFT関数だと、「赤紫」や「その他」等、2文字以上が返せません。 ○計 ○○計 ○○○計 の場合  条件セル A21 の文字数 引く「計」1文字 分を  左からとれば良いかもしれない・・ LEFT(A21,LEN(A21)-1) 「赤紫」は 「赤紫計」としても 「その他」は 「その他計」と言う前に  列A に 「その他」と言う文字で入力されている項目の 列B列C の数字の小計なのか、 全体の合計から 色を指定した各色の小計の合計を引いたもの(色指定が無い項目が全て「その他」)か不明・・・

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.6

単純にこれでどうでしょうか。 =SUMIF(A:A,"赤",B:B) ""内に文字列を記入。 参照セルがある場合は"無しで参照セル。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

NO.1さんの回答で問題ありませんので評価してみて下さい。 =SUMIF(条件値が入っている範囲,条件値,集計される値が入っている範囲)となりますので、ご期待の通りになる筈です。

dra96
質問者

お礼

LEFT関数だと、「赤紫」や「その他」等、2文字以上が返せません。

  • minarai
  • ベストアンサー率30% (167/540)
回答No.4

DSUM関数で、例えば =DSUM(A1:C12,2,A14:A15) なんて感じでできますが、データベース関数のため、 「赤計」の上に、フィールド名が必要になってしまうんですけど、それでもいいですか?

回答No.3

No.1でsurouninさんが回答されている方法が、正しいと思いますよ。 ちなみに個数をかぞえる関数は、countif(範囲、条件)ですね。

  • onara931
  • ベストアンサー率25% (141/545)
回答No.2

◎色でソートして集計する。    ・データ(D)→並べ替え(S)→最優先されるキーを列A  ・データ(D)→集計(B)→グループの基準列A         集計の方法は合計         集計するフィールドは列B,Cにチェック ◎列D以降に、列Aが赤なら表示する、それ以外は表示しない、などを色ごとに2列分作って、最下行で集計する。 列Dは、=if(a2="赤",b2,"") 列Eは、=if(a2="赤",c2,"") 列Dは、=if(a2="青",b2,"") 列Eは、=if(a2="青",c2,"") 以下同様に・・・・。

dra96
質問者

お礼

並べ替えず、そのままで計算したいんです。

関連するQ&A