- ベストアンサー
DSUM関数の使い方
こんにちは。 アルバイトの勤務時間の合計にDSUM関数を使いたいと思っているの ですが、『#VALUE!』という表示が出てしまいます。 以下のような表(A1:B750)で、C列をはさんで合計の表(D1:E5)を作っ て、合計欄に『=DSUM(A1:B750,B1:B750,D2)』と記入しました。正し い記入方法をご存知の方がいらっしゃったらお教えください。 他にもっとよい方法があればアドバイスください。 A B C D E 1 名前 時間 名前 合計 2 い 6.0 い 145.5 3 ろ 0.0 ろ 73.5 4 は 0.0 は 30 5 に 8.0 に 153 6 い 4.5 7 ろ 4.5 8 は 0.0 9 に 4.0 10 い 0.0 11 ろ 0.0 ・ ・ ・ ・ 750 に 8.0
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
DSUMではなくSUMIFで良いでしょう。 =SUMIF(A1:B750,D2,B1:B750) とやってください。 DSUMは複数条件の時に使用します。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
DSUMは、第3引数をクライテリア(Criteria)といい、条件にするデータ部の「見出し」とそっくりのもの(質問例のD1)と、条件にするデータ(質問例でD2)の両方をくっつけた範囲として、指定せねばなりません。D1:D2のように。 そしてこの条件の範囲の上行部に見出し(質問例では名前)、下行部に名前(質問例では「い」)をペアーで、くっつけて用意せねばならない不便性があり、多人数分の合計をだす式を、式複写で答えを出すことを妨げています。ほんとに何とかしてほしいと 常日ごろ個人的に思っています。 それで別回答として 例データ 氏名 計数 a 12 a 23 c 1 d 2 a 3 c 4 b 23 a 12 s 1 の場合 例えば C2:c4に a b c を入れて(多くなると実はこれも関数で出したいところだが略) D2に =SUM(IF($A$2:$A$10=C2,$B$2:$B$10,0)) を入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする(配列数式) そしてD2の式をD3,D4に複写する。 を使うほうを勧めます。 条件が2つ3つになっても =SUM(IF(($A$2:$A$10=C2)*(条件2)*(条件3),$B$2:$B$10,0)) のように使えます。 配列数式がいやなら、SUMPRODUCT関数も使えます(略)。
- wonder99
- ベストアンサー率28% (85/302)
DSUM関数の記述方法が間違っています。 正しくは =DSUM(A1:B750,B1,D1:D2) で「い」の合計が出ると思います。 かっこの中の最初が「データベースの範囲」 次が「フィールド」と言って検索したい列の見出し指定です。 最後が条件。見出しと条件指定をします。 データベース関数は、いちいち見出しを書かないと 条件として反応してくれないみたいなので、 合計を表す表を作るときは 名前 合計 い 145.5 名前 合計 ろ 73.5 名前 合計 は 30 名前 合計 に 153 というように、いちいち「名前」という行を作る必要があるっぽいです。 面倒臭いので、DSUM関数より#1さんの方法の方が適切と思います。