- ベストアンサー
こんな時の関数
列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 赤計 ? ? 青計 ? ? 黄計 ? ? 緑計 ? ? 各色の計を出したいのですが、どうすると良いでしょうか?
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
=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) ※ $は範囲を固定するために使っています
その他の回答 (8)
- Musaffah
- ベストアンサー率36% (37/101)
ごめんなさい。No.8で(2)の計算式間違えました。 =SUMIF($A$2:$C$11,$A14,B$2:B$11) でした。
- Musaffah
- ベストアンサー率36% (37/101)
じゃぁ、こうすれば? 基本的に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)
赤計がA21に入力されている場合 ○計の一文字を取って LEFT(A21,1) LEFT関数だと、「赤紫」や「その他」等、2文字以上が返せません。 ○計 ○○計 ○○○計 の場合 条件セル A21 の文字数 引く「計」1文字 分を 左からとれば良いかもしれない・・ LEFT(A21,LEN(A21)-1) 「赤紫」は 「赤紫計」としても 「その他」は 「その他計」と言う前に 列A に 「その他」と言う文字で入力されている項目の 列B列C の数字の小計なのか、 全体の合計から 色を指定した各色の小計の合計を引いたもの(色指定が無い項目が全て「その他」)か不明・・・
- fukkyse
- ベストアンサー率32% (130/402)
単純にこれでどうでしょうか。 =SUMIF(A:A,"赤",B:B) ""内に文字列を記入。 参照セルがある場合は"無しで参照セル。
- mu2011
- ベストアンサー率38% (1910/4994)
NO.1さんの回答で問題ありませんので評価してみて下さい。 =SUMIF(条件値が入っている範囲,条件値,集計される値が入っている範囲)となりますので、ご期待の通りになる筈です。
お礼
LEFT関数だと、「赤紫」や「その他」等、2文字以上が返せません。
- minarai
- ベストアンサー率30% (167/540)
DSUM関数で、例えば =DSUM(A1:C12,2,A14:A15) なんて感じでできますが、データベース関数のため、 「赤計」の上に、フィールド名が必要になってしまうんですけど、それでもいいですか?
- m_or_im_or_i
- ベストアンサー率0% (0/3)
No.1でsurouninさんが回答されている方法が、正しいと思いますよ。 ちなみに個数をかぞえる関数は、countif(範囲、条件)ですね。
- onara931
- ベストアンサー率25% (141/545)
◎色でソートして集計する。 ・データ(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,"") 以下同様に・・・・。
お礼
並べ替えず、そのままで計算したいんです。
お礼
赤の個数ではなく、数字の合計です。 ですので、赤計=277、青計=989・・・となるのですが。