- 締切済み
エクセルで、レンタル品にチェックの入った列を別表から参照して合計する方法
こんばんは。 教えてください。 スキー実習のレンタル品のとりまとめをしています。 レンタルの申し込みを 表A 氏名 スキーセット ウェアセット スキー板 ブーツ・・・ あああ ○ ○ いいい ○ ○ ○ ううう ○ ・ ・ ・ のように一覧にしました。 レンタル費用は 表B レンタル品 レンタル料 スキーセット 3600 ウェアセット 2800 スキー板 1600 ブーツ 1200 ・ ・ ・ というようになっています。 各個人の行の最後に、レンタル費用の合計を出したいのですが、○を判定して、表Bからレンタル費用を合計するには、どのような方法が考えられるでしょうか? 教えてください!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mitarashi
- ベストアンサー率59% (574/965)
#3です。回答でなくて、お詫びです。 #1さんの回答を見落としていました。後半のSUMPRODUCTの部分は無視して下さい。#1さん、#2さん勉強させていただきました。
- mitarashi
- ベストアンサー率59% (574/965)
ご質問通りのシート配置で計算する事は、表AがSheet1,表BがSheet2にあるとして、 =(B2="○")*VLOOKUP(B$1,Sheet2!$A:$B,2,FALSE)+(C2="○")*VLOOKUP(C$1,Sheet2!$A:$B,2,FALSE)+(D2="○")*VLOOKUP(D$1,Sheet2!$A:$B,2,FALSE)+(E2="○")*VLOOKUP(E$1,Sheet2!$A:$B,2,FALSE) という泥臭い式で可能ですが、アイテム数の分だけ長くなるので、面倒ですね。 これを配列数式や、SUMPRODUCTで出来ないものかトライしてみましたが断念。 表Bを#1さんの様にすれば、VLOOKUPは必要無いのですね。勉強になりました。 この場合、 =SUMPRODUCT((B2:E2="○")*Sheet3!$A$2:$D$2) という様にすれば、○を1に置き換えないでも出来ると思います。
- imogasi
- ベストアンサー率27% (4737/17069)
SUMPRODUCT関数の格好の練習問題だ。 例 A-D列 A列氏名 E列は関数の結果 ーー x y z a 1 1 4000 b 1 2000 c 1 1 1 6000 d 1 1 3000 ーー 単価表をG1:I2に X Y Z 3000 2000 1000 ーーー E2に =SUMPRODUCT((B2:D2)*($G$2:$I$2)) と入れて下方向に式を複写。 ○で入っているが、置換で○ー>1に置換すること。 そして表示形式○に見せること。 ユーザー定義で [=1]"○";G/標準
A B C D E F G 1 氏名 SkiSet SkiSuits SkiBd Boots … 合計 2 レンタル料 3600 2800 1600 1200 3 あああ ○ ○ 6400 4 いいい ○ ○ ○ 5600 5 ううう ○ 3600 6 G3: =SUMPRODUCT((B3:F3<>"")*(B$2:F$2)) または =SUMPRODUCT((B3:F3="○")*(B$2:F$2)) 2行目は、お好みで非表示に設定すれば好い。
お礼
早速の回答、ありがとうございます。 完璧でした。SUMPRODUCT関数は、初めて使いました。慣れないとなかなか難しいですね。 勉強します!本当に助かりました。 ありがとうございました。