いつでも医師に相談、gooドクター

一つの列に、複数の種類の文字と、その一つ下に数字があります。

例:複数の種類の国と、一つ下に数字が羅列されている

A列

日本
800
アメリカ
300
韓国
400
イギリス
700
日本
200
ドイツ
100
アメリカ
900
韓国
200


このような表で「『日本』の一つ下にある数字の合計」を集計したいと考えています。
上記の例では、1,000となります。列の長さ(値の数)は変わることがあります。

SUMIFや、INDEXやMATCH、OFFSETあたりの関数でいじってみたのですが、
なかなか目的の集計ができません。アドバイスいただけないでしょうか。

よろしくお願いします。

gooドクター

A 回答 (4件)

No.3です。


若干、補足します。前回投稿した

=SUMPRODUCT((A1:A15="日本")*1,(A2:A16))・・・・・・・・・①

という数式は、範囲の対比を判り易くするため、後段のA2:A16も()で括っていますが、数式としては()は不要です。

また、条件を指定する"日本"の部分は、他の回答者さんと同様にセル番地で指定することもできます。
従って、①の数式は

=SUMPRODUCT((A1:A15=$A$1)*1,A2:A16)

と記述することもできます。
    • good
    • 0
この回答へのお礼

セル番地にしたほうがメンテナンス性は高そうですね。詳しい補足説明ありがとうございます。

お礼日時:2021/03/12 19:14

考え方はNo.1さん、No.2さんと同じです。


条件に合致した行の一つ下のセルを足すということですので、
SUMPRODUCT関数を使って

=SUMPRODUCT((条件範囲=条件)*1,(集計範囲))

とすればよいと思います。
このとき、条件範囲と集計範囲のセルの数を一致させ、開始行を一行ずらすことで「一つ下」の行を集計できると思います。

従って、ご質問者がお示しになった例で、A1からデータが入力されていた場合、「日本」を集計するなら、集計を表示させるセルに

=SUMPRODUCT((A1:A15="日本")*1,(A2:A16))

を記述、

「アメリカ」を集計するなら、集計を表示させるセルに

=SUMPRODUCT((A1:A15="アメリカ")*1,(A2:A16))

を記述すればよいと思います。
    • good
    • 0

> 列の長さ(値の数)は変わることがあります。


行ではなく列ですか?
1列目のようなものが複数列あった場合も計算するのですか?

基本的な考えはNo.1の回答者さんが書いている式で可能だと思います。
あとは範囲の指定の仕方だけなので、こちら↓のようなもので対応。
 =SUMIF(OFFSET($A$1,0,0,COUNTA(A:A),4),F1,OFFSET($A$1,1,0,COUNTA(A:A),4))
この場合は、列数の最大が4列としています。
F1セルに「日本」を記入して参照させています。
「エクセル 特定の文字の一つ下を参照し、集」の回答画像2
    • good
    • 0
この回答へのお礼

複数行・列どちらも可変でしたので助かりました!offsetとcountaの組み合わせ、大変勉強になります。ありがとうございます。

お礼日時:2021/03/12 19:10

添附圖參照(Excel 2019)


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
「エクセル 特定の文字の一つ下を参照し、集」の回答画像1
    • good
    • 1
この回答へのお礼

私はA列をすべて指定してsumif使ってダメでしたが、範囲を制限して一つずらせば可能ということですね。ありがとうございます。

お礼日時:2021/03/12 19:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング