[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Aが空白ならBを』(あな)
いつもお世話になります。
以前から作っている集計表の続きですが、次のようなことはできるのか教えてください。
A B C
1 受け日 対応日 処理時間
2 6/30 6/30 1.0
3 7/2 7/3 2.0
4 7/3 0.5
5 7/4 7/4 1.5
今、処理時間の合計を、Bの対応日を基準に算出しています。
その際に、
SUMPRODUCT((MONTH(B2:B5)=7)*((B2:B5)<>""),C2:C5)
(以前、ここで教えていただきました。ありがとうございました)
という式で、対応日が7月の処理時間だけを抜き出しています。
ところが、B4のセルのように対応日が空白の時があり、その時は
A4セルの受け日を読みに行くようにしたいのですが、可能でしょうか?
B列が空白で、かつ、A列が7月の分を加えればよいので、 =SUMPRODUCT((MONTH(B2:B5)=7)*C2:C5)+SUMPRODUCT((MONTH(A2:A5)=7)*(B2:B5="")*(C2:C5)) (KAMIYA)
KAMIYAさんのを参考に =SUMPRODUCT(((MONTH(B2:B5)=7)+(MONTH(A2:A5)=7)*(B2:B5=""))*C2:C5) ということでも良いかも ところで、最初から受け日のA列を基準ではダメだったのかしらん (おんたお)
いただいた式をサンプル通りに使うと、ばっちりなんですが、
実際の集計表のセルに対応して式を打ちかえると VALUEになってしまうのです。
これは、どうしてなのでしょう?実際のCセルには数式がはいっているのですが、
関係ありますか?
数式で文字列としての空白「""」をセットしていらっしゃると推測します。 現状のままお使いになるのなら、数式を大幅に変える必要があります。 =SUM(IF((MONTH(IF(B2:B5="",A2:A5,B2:B5))=7),C2:C5)) と入力し、Enterで確定せず、Ctrl+Shift+Enter。 配列数式です。 原因はMONTH(B2:B5)=7の部分で MONTH("")=#VALUE!となるためです。 空白セルは「0」とみなされ、MONTH(0)=1となります。 したがって、1月の集計の時には前記のSUMPRODUCT関数では 不都合が出る可能性があるので、この返信の配列数式を 使ってください。 (KAMIYA)
希望のものが着実にできあがりつつあります。
どうもありがとうございました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.