配列数式の怪
お世話になります。
配列数式の入力方法にて解せない部分がありましたのでご教示願います。
ソフトウェア開発の工数見積をしようと思って、Excel2003で添付の様な
WBSを作りました。
ここで、機能1~3を実装するか否かをD2~F2に○で指定し、
各機能毎に必要な作業項目をD3~F6でマッピングしました。
※5は作業対象の工数合計で、
=SUMIF(C3:C6,"○",B3:B6)
になっています。
(実際には、機能、作業項目共に数十項目のマトリクスになってます)
各作業項目1~4が見積対象になるかどうかを実装する機能に従って
表示しようと思って、C3~C6に配列数式を使って
※1:{=IF(SUM(($D$2:$F$2="○")*(D3:F3="○"))>0,"○","")}
※2:{=IF(SUM(($D$2:$F$2="○")*(D4:F4="○"))>0,"○","")}
※3:{=IF(SUM(($D$2:$F$2="○")*(D5:F5="○"))>0,"○","")}
※4:{=IF(SUM(($D$2:$F$2="○")*(D6:F6="○"))>0,"○","")}
と入力しようと思いましたが、どう入力しても下記の様に行番号を可変に
したいところが全て同じ行番号になってしまいます。(D3:F3)
※1:{=IF(SUM(($D$2:$F$2="○")*(D3:F3="○"))>0,"○","")}
※2:{=IF(SUM(($D$2:$F$2="○")*(D3:F3="○"))>0,"○","")}
※3:{=IF(SUM(($D$2:$F$2="○")*(D3:F3="○"))>0,"○","")}
※4:{=IF(SUM(($D$2:$F$2="○")*(D3:F3="○"))>0,"○","")}
ここで、例えば※2のD3:F3だけをD4:F4に変えても他の行も全てD4:F4に
変わってしまいます。
いろいろと試行錯誤した結果、一旦全て削除してまっさらな状態から
※1に{=IF(SUM(($D$2:$F$2="○")*(D3:F3="○"))>0,"○","")}
を入力した後に1行開けて※3にコピーしたところ、無事に
D3:F3がD5:F5に変わりました。
そこで、その後に
※2に{=IF(SUM(($D$2:$F$2="○")*(D4:F4="○"))>0,"○","")}
を入力した後に※4にコピーして目的を達成できました。
(実際には、奇数行、偶数行でそれぞれ数十行ずつのコピーをしました)
これは、配列数式入力時の仕様なのでしょうか?
また、本来はどの様に入力するのが正解なのでしょうか?
お礼
早速のご回答ありがとうございました! 広げてみたら「#VALUE」でした(^^ わかりやすく教えていただきとても助かりました。