[[20210303094540]] 『別シートにある指定した文字列と一致する行の合計』(ちゃろ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートにある指定した文字列と一致する行の合計を計算したい』(ちゃろ)

初心者です。
シート2にデータがあり、シート1に集計した結果を出したいのですが
VALUEエラーが出てしまいうまくいきません
様々なサイトを見てSUMPRODUCTという関数まではたどり着いたのですが
使い方が良くわかりません。ご教示いただけますでしょうか。

※りんごの個数を出そうとした式は以下となります
=SUMPRODUCT(FIND("りんご",シート2!A:A)*シート2!B1:E4)

*****************************

シート1
りんご ●個
いちご ●個

シート2
   A   B  C  D  E
1 りんご  1  0  0  1
2 ぶどう  0  2  0  1
3 みかん  0  1  0  0
4 いちご  0  0  0  0

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 =SUMPRODUCT((シート2!A1:A4="りんご")*シート2!B1:E4)

(Sinking Time) 2021/03/03(水) 10:09


 なんで FIND を使ってるんですかね? 例示の表を見る限り必要ありませんよね。
 それとも実際は部分一致検索なんですか?

 Sheet2のA列には文字列が重複してませんから SUMPRODUCT を使うまでもないと思います。
 Sheet2の実際のデータ量が不明ですが、多いようだと SUMPRODUCT では重くなりますよ。

 Sheet1
	A	B
1	りんご	2
2	いちご	0

 B1 =SUM(INDEX(Sheet2!$B$1:$E$4,MATCH(A1,Sheet2!$A$1:$A$4,0),0))
 下コピー

 ■もっと簡単な方法
 Sheet2のF列にでも、行ごとの合計を出しておけばいいのでは?

 Sheet2
 F1 =SUM(B1:E1)  下コピー

 Sheet1
 B1 =VLOOKUP(A1,Sheet2!A:F,6,FALSE)
 または
 B1 =SUMIF(Sheet2!A:A,A1,Sheet2!F:F)
 下コピー

 部分一致検索ならワイルドカードを使えばいいですし
 Sheet2のA列に文字列が重複するのなら SUMIF でできます。

 部分一致検索でどうしても SUMPRUDUCT を使いたいのなら
 B1 =SUMPRODUCT(ISNUMBER(FIND(A1,Sheet2!$A$1:$A$4))*Sheet2!$B$1:$E$4)

 参考まで
(笑) 2021/03/03(水) 11:00

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.