1620353727 Excelの集計の際、指定した文字列に一致した場合、その左隣のデータを取得し、そのデータ毎に別列の値を集計したいです


今、添付画像のように。
SUMIF関数を利用して、料理のメニュー名がどれだけ注文されたかを集計するexcelのファイルがあります。
こちらになります。
https://xfs.jp/6hJSQq

自分はSUMIF関数を利用して、

=SUMIF($A$3:$A$14,100,$C$3:$C$14)

のように入力し、オムライスの集計結果(F3)で"5"という値が出ました。
B列に"オムライス"が入ってるのは3行目、8行、13行目なので、C列の注文数の値を足すと。
これが"5"になるのは、計算結果として正しいです。

しかし計算の仕方が非効率でして。
オムライスの品名ID「100」を、SUMIF関数の検索条件にも、直打ちで"100"と入れているのです。

実は実際のデータは、質問に記載した5種類だけでなく、200種類ぐらいありまして。
それがバラバラに並んでいるので、今の関数ですとIDを200種類、直打ちして、集計することになります。

回答の条件
  • 1人20回まで
  • 登録:
  • 終了:2021/05/12 17:31:33
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
id:moon-fondu

これを何とか、例えばオムライスの例ですと。

E列3行目のデータ(オムライス)と、B列全てのデータ(今回の場合は「$B$3:$B$14」)を比較し。

文字列が一致したセルについて、その隣にあるA列のIDを取得して、検索条件としたいのです。


自分で、


=SUMIF($A$3:$A$14,IF(E3=B3,A3,0),$C$3:$C$14)


のように変えてみると、以下のような結果となりました。

https://f.hatena.ne.jp/moon-fondu/20210507111003

オムライス、カレーは、B列と行が同じだったからでしょうか、偶然にも正しい集計結果が出ました。

しかしラーメン、チャーハン、生姜焼き定食は、誤った値となってしまいました。


E列のメニュー名を、B列全体を対象にして検索して一致確認をしてみようかと思いまして。


=SUMIF($A$3:$A$14,IF(E5=B3:B14,A5,0),$C$3:$C$14)


のようにすると、SPILLというエラーが出てしまいました…。

https://f.hatena.ne.jp/moon-fondu/20210507110959


SUMIF関数でなくてもよいのですが、何とかB列のデータに紐づいているA列のIDを取得して、ID毎にC列のデータを集計することはできますでしょうか。


お力添えいただけますと有り難いです。

よろしくお願い致します。

ベストアンサー

id:takashi_m17 No.2

回答回数120ベストアンサー獲得回数20

ポイント600pt

そもそも品名IDを取得せずにメニュー名だけでSUMIFをかけるのはナシってことですよね。

=SUMIF($B$3:$B$14,E3,$C$3:$C$14)


であれば、IDとメニュー名のマスタ表が別途欲しいところですが、一応以下でも大丈夫かな。

=SUMIF($A$3:$A$14,INDEX($A$3:$A$14,MATCH(E3,$B$3:$B$14,0)),$C$3:$C$14)

id:moon-fondu

たかさんありがとうございます!

メニュー名だけでSUMIF、その手があったんですね!!

目からうろこです。

別の方法もありがとうございます。

INDEX関数とMATCH関数を使えば2列に条件を指定して集計できるんですね、覚えておきます<m(__)m>

2021/05/07 18:24:35

その他の回答2件)

id:Nouble No.1

回答回数74ベストアンサー獲得回数2スマートフォンから投稿

ポイント500pt

此、

"

ご希望に 合うか、

確認 頂けますか?

https://1drv.ms/x/s!AjviygfJDgV_51xIiL_5RNW5BBfy

"

"

ご示唆の、

"

5種類以内ならば 100行まで、

品番IDが 表示されます。

(※注:式を もっと、

    フィル 頂けたなら、

    もっと 表示されます。)

"

"

又、

"

新たな 商品追加時には、

追加発生行に、

品番ID、メニュー名を、

手入力 頂ければ、

登録され。

"

"

以後、

"

自動で 表示されます。

"

"

尚、

"

ファイルは 1度、

ローカルに 別名保存して、

其の保存ファイルを 扱うように、

してくださいね、

"

別名保存でないと、

意味が 無いですよ。

"

"

さすれば、

"

閲覧も、編集も、

叶うものと 思いますよ。

"

"

因みに、

"

此等は 正に、

私が 作成した、

構造で、

"

私の 公開以前、

既に、

知られた ものでも、

公開されている ものでも、

"

当たり前ながら ありません。

"

"

元より、

"

私の オリジナルで、

"

故に 相応に、

誰でも 勘案し得る、

簡単な ものではない、

"

複雑で 困難な、

ものな 事より、

"

私に 著作権が、

帰属して います。

"

"

当該に付いては、

"

使用に 際しては、

私の 指定した、

使用上の ルールに、

従う限り、

"

金品等 一切を、

請求する ものでは、

ありませんが。

"

"

真逆に、

"

従わなかった 場合は、

賠償を 請求します。

"

"

では、

"

使用の ルールですが、

此の、

やり方、考え方を、

何時、何処で、

どのIDの ものの、

提示から 知ったか、

"

使用時には、

誰の 目にも、

灼かに 伺えるよう、

詠う 事と、

"

其れを 見たものが、

此の 義務を、

引き継ぐように 指定する、

事を、

"

義務付けます。

"

"

勿論、

"

使用に 際しては、

此を 怠らない限り、

使用は フリーです。

"

"

逆に、

"

反した 場合は、

先筆通り、

賠償を 頂きます、

"

其れだけの 事です。

"

"

此、

"

本来は 履行する、

方が、

常識な 事なので、

"

態々 此の様に、

書かないと いけない、

"

そんな 現状が、

狂気的な 異常状態なのです。

"

"

然りとて、

"

書かないと、

誰も 履行しないので、

"

お目汚しには なるかとも、

思いましたが、

"

書き込まして 頂きました。

"

"

又、

"

こうでも しておかないと、

間違えた 使用法により、

困惑されているような 事態を、

目の辺りに した時、

"

「其れ 私が、

作り出した ものなので、

私なら 判りますよ。」

と 投げかけた際に、

"

狂人扱いを 真面に、

あからさまに されるのですよ、

"

此は 困るので、

防ぎたいのです。

"

"

本来、

"

賠償等 求めては、

居ませんが、

"

此の 国の、

法律体系では、

"

規制を 個人が、

貼る場合は、

"

賠償の 形しか、

取れない、

"

と 思っているもので、

こう しています。

"

"

さて、

"

此方 ご理解を、

頂けましたなら。

"

"

又、

"

お役に 立てて、

居たならば

"

幸いです。

"

"

余談ながら、

"

抑もから 著作線は、

ロシアでも、中国でも、

勿論 日本でも、

国際的に 条約で、

認められた、

"

個人や、法人の、

当然の 権利ですよ。

id:moon-fondu

Noubleさんありがとうございます!

SUMPRODUCT関数で計算できるんですね!!

助かります。

そうですね、こういう公の場では、ご希望であれば、

同じような関数を用いる際にNoubleさんにお教えいただいたことを明示します(^^;

2021/05/07 18:24:16
id:takashi_m17 No.2

回答回数120ベストアンサー獲得回数20ここでベストアンサー

ポイント600pt

そもそも品名IDを取得せずにメニュー名だけでSUMIFをかけるのはナシってことですよね。

=SUMIF($B$3:$B$14,E3,$C$3:$C$14)


であれば、IDとメニュー名のマスタ表が別途欲しいところですが、一応以下でも大丈夫かな。

=SUMIF($A$3:$A$14,INDEX($A$3:$A$14,MATCH(E3,$B$3:$B$14,0)),$C$3:$C$14)

id:moon-fondu

たかさんありがとうございます!

メニュー名だけでSUMIF、その手があったんですね!!

目からうろこです。

別の方法もありがとうございます。

INDEX関数とMATCH関数を使えば2列に条件を指定して集計できるんですね、覚えておきます<m(__)m>

2021/05/07 18:24:35
id:aKaoru No.3

回答回数106ベストアンサー獲得回数13

ポイント300pt

 

https://office-hack.com/excel/vlookup-leftmost/

 

下のURLからエクセルファイルをダウンロードしてください。

Sheet2の中で計算してみました。

ご確認いただきますよう

よろしくお願いいたします。

 

https://firestorage.jp/download/ee7e39d56670a66ae0ef42bf5f5eed70...

 

 

id:moon-fondu

aKaoruさんありがとうございます、If文でここまで計算できるんですね!

ありがとうございます(^^;)

2021/05/12 17:30:14
  • id:Nouble
    申し上げ難いのですが、

    最も 重要なのはですね、
    こうした、
    公の 場も、
    然る事ながら、

    ローカルな 場所でも、
    なのですよ。


    ですからね、

    公だけでなく 全てにおいて、
    使用者に対し 明記を、
    義務付けて 下さいな。


    でないとですね、

    伺った 先で、
    奇人扱いされる 事に、
    変わりが ないですよね?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません