- ベストアンサー
エクセルで2つ条件の満たす数値を合計する方法
エクセルで質問があります。 会社で簡単な勤務表を作成しているのですが、2つの条件を満たす数値を合計する方法がよく分かりません。 すみませんが教えて下さい。 Aが日曜日で、Cが5(数値)である、D(勤務時間)の合計です。 A B C D 日 1 5 7:30 月 ・ ・ 土 1 日 1 6 4:00 ・ ・ 日 1 5 4:00 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> =SUMPRODUCT((D9:D39="日")*(F9:F39=5)*(X9:Z39)) > しかし実際に試したところ、#VALUE!が表示されてしました。 XからZの内容が数値(シリアル値)でなく文字が入っているとか... 例えばX列からZ列は計算式で、IF関数の中で IF(A1=0,"",・・・)のように「""」を使っているのでは? 計算の範囲内に文字があると「#VALUE!」エラーになります。 IF(A1=0,0,・・・)と「0」を使うべきで、「0」を表示させたくないなら、 表示書式を「h:mm:ss;;」のようにします。(後ろの「;;」がポイント)
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
質問に、エクセルバージョンも書いてない質問は、やりかたとしてまずい。 本件はうまく行ったようだが。 まもなくエクセル2007が当たり前の時代になるでしょう。そのときは、これにぴったりの、素直にSUMIFSという関数ができた。 http://takashixxx.blog88.fc2.com/blog-entry-15.html その筋では有名な話題です。 参考 http://www.relief.jp/itnote/archives/001851.php ーーー それにこの2条件、3条件の合計は、毎日のようにこの質問コーナーに出るFAQで、回答者にとっては飽き飽き問題です。 その程度の質問をしているのだと、認識しエクセルの関数の本や記事を一度通読をお勧めします。多にも便利なものが沢山あるよ。
#4です。 もし計算式の、IF(A=0,"",・・・)をIF(A=0,0,・・・)に変更したいなら、 X、Y、Z列を選択しておき、 「編集」-「置換」で 検索文字列を「,"",」、置換文字列を「,0,」して置換えできます。 あくまで、式のなかで単純に「""」が1箇所だとしての話です。 複雑な計算式だと、不必要な所まで置き換えられてしまう恐れがありますので、 くれぐれも慎重に行って下さい。
お礼
#4さん 解決しました。 素晴らしいです。 ありがとうございます。
- ore-summer
- ベストアンサー率29% (133/454)
=SUMPRODUCT((A1:A10="日")*(C1:C10=5)*(D1:D10))
お礼
迅速なご解答ありがとうございました。 しかし実際に試したところ、#VALUE!が表示されてしました。 =SUMPRODUCT((D9:D39="日")*(F9:F39=5)*(X9:Z39)) 何か別の要素があるのでしょうか?
- ore-summer
- ベストアンサー率29% (133/454)
ごめんなさい。 日曜日がぬけてました。
- ore-summer
- ベストアンサー率29% (133/454)
=SUMIF(C1:C30,5,D1:D30) 1~30行まであったとしてです。
お礼
ご指摘ありがとうございます。 確かにバージョンを記載しないのはまずいですよね。 また、関数本を一読するようにしたいと思います。