[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『作業進捗管理表』(マサ)
作業進捗管理表を作成中ですが、うまく行かないところがあります。 どなたか解決方法を教えていただけますでしょうか?
A B C D E F G 1 作業 関連 関連 着手 着手日 必要 予定 No. 作業 項目数 予定日 稼動日数 終了日 2 a b 0 08/11/9 08/11/9 20 08/12/5 3 b c 1 08/12/6 08/12/6 10 08/12/19 4 c f 1 08/12/20 08/12/20 20 09/1/16 5 d f 0 08/11/10 08/11/10 50 09/1/19 6 e f 0 08/11/20 08/11/20 30 09/1/1 7 f 3 09/1/19 09/1/17 10 09/1/30 *D列の着手予定日は、予め記入されています。 *C列、E列、G列には、それぞれ以下の数式が記入されています。 C列:[=COUNTIF($B$3:$B$10,A7)] E列:[=IF(C7=0,D7,VLOOKUP(A7,$B$2:$G$7,6,FALSE)+1)] G列:[=WORKDAY(E7,F7)]
作業No. f は、作業No. c、d、e が終了した後に、着手します。 作業 c、d、e の予定終了日の中で最も遅いのは作業 d の09/1/19ですので、 作業 f の着手日は09/1/20となるべきです。
しかし、VLOOKUP関数を使うと最も上段の09/1/16を選択表示してしまいます。 予定終了日を降順に並べ替えれば良いのですが、表の性質上それは避けたいと思います。
VLOOKUP関数以外でもよいので、作業 f の着手日(E7)に作業 c、d、e の予定終了日の中で 最も遅い作業 d の09/1/19を選択表示させる方法を教えてください。
ご説明の表に書いてある行列番号と思われる物と 載せて居られる数式のセル番地が一致していない様に思います。
B列がA列のある行の情報と一致する行の G列の日付の内最大のもので有れば、 こんな式で出せるかもしれません。 =MAX(INDEX(($B$2:$B$7=A2)*$G$2:$G$7,))
(HANA)
A B C D E F G 1 作業No. 関連作業 関連作業数 着手予定日 着手日 稼動日数 予定終了日 2 a b 0 08/11/9 08/11/9 20 08/12/5 3 b c 1 08/12/6 08/12/6 10 08/12/19 4 c f 1 08/12/20 08/12/20 20 09/1/16 5 d f 0 08/11/10 08/11/10 50 09/1/19 6 e f 0 08/11/20 08/11/20 30 09/1/1 7 f 3 09/1/19 09/1/17 10 09/1/30 *また、C列の範囲が誤っていました。正しくは:[=COUNTIF($B$2:$B$10,A7)]です。
教えていただいた[=MAX(INDEX(($B$2:$B$7=A2)*$G$2:$G$7,))]をE列に入れると
循環参照になってしまいうまく行きません。
もう一度ご協力いただき、良い方法を考えていただけますでしょうか?
少々腑に落ちない点があります。
通常ですと、 着手予定日→ 計画なので、前作業終了予定日を使って「数式」で推算する 着手日 → 実績なので、作業を着手してから日付を「手入力」する と云う順序になる思うのですが、なぜ逆なのでしょうか?
取りあえず、案は上げておきます。 ↓ E2セル =IF(C2=0,D2,MAX(INDEX((B1:B$2=A2)*G1:G$2,0))+1)
行 __A___ ___B____ _C__ ___D____ __ E ___ __ F ___ ___G____ 1 作業No 関連作業 関連 着手予定 着手日 要稼働日 終了予定 2 a b 0 08/11/9 08/11/9 20 08/12/5 3 b c 1 08/12/6 08/12/6 10 08/12/19 4 c f 1 08/12/20 08/12/20 20 09/1/16 5 d f 0 08/11/10 08/11/10 50 09/1/19 6 e f 0 08/11/20 08/11/20 30 09/1/1 7 f 3 09/1/19 09/1/20 10 09/2/3
(半平太)
以上
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.