[[20040720092532]] 『Aが空白ならBを』(あな) ページの最後に飛ぶ

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

 

『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列を基準ではダメだったのかしらん
(おんたお)


KAMIYAさん、おんたおさん、ありがとうございます。

いただいた式をサンプル通りに使うと、ばっちりなんですが、

実際の集計表のセルに対応して式を打ちかえると 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)

KAMIYAさん、出来ました。

希望のものが着実にできあがりつつあります。

どうもありがとうございました。


コメント返信:

[ 一覧(最新更新順) ]


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