[[20150123083034]] 『条件付き書式について教えてください』(ゆき) ページの最後に飛ぶ

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

 

『条件付き書式について教えてください』(ゆき)

	B	 C	  D	   	E	・・・	
 4	作業開始 作業完了 作業時間	1/1	1/2   〜	12/31
 5
 6	1/5	 1/10	   16	
 7	1/8	 1/31	   35	
 8      1/25     1/28      6

説明不足で本当にすみません。
E6〜のセルにに色を付けたいです
A列は作業開始
B列は作業完了日
C列は作業時間
と考えて頂けると助かります。
一日の労働時間は8時間です。
8から下にはその都度増えていきます。
一応、祝日は別にリストとして記入しています。

完了日までに終わるには最悪いつから作業を開始しなければならないかを
表現したいので

色つけ範囲
6列目は1/9〜1/10
7列目は1/27〜1/31 ← 35÷8=4日と3時間なので、3時間は1日として考えたい
8列目は1/28    ← 8時間に満たないですが1日とする

土日祝日は休みなので作業日数には入れないでください。
ただ、土曜日は基本休みなのですが、年に3〜4回土曜日出勤があります。

もし、可能なら休みの日には別の色を付けたいです。

以上の数式を教えてください。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


http://www.excel.studio-kazu.jp/kw/20150106093857.html
(とりあえず) 2015/01/23(金) 08:49

 元スレに、ちょびっとだけかかわったβです。

 元スレの流れのなかで、B列は、たんなる参考であって、全く意味を持たないものだから無視という扱いでしたけど
 それをちゃんと言っておかないと、回答者さんたちは、悩んでしまうかも。

 それと、VBAはいやならいやと。(あるいは VBA でもいいとか)

 それから、元スレの最後の (とりあえず) さんのコメント、休日出勤リストを持ち込むのをやめ
 workday.intl関数を使って、土曜日は原則出勤日扱いとし、逆に、休みの土曜日を休日リストに加えることは
 検討されましたか?(登録が大変ですけど、数式が楽になると思われます)

(β) 2015/01/23(金) 11:38


 かなりインチキです。
 かつ、当方、関数は超へたですので、以下の数式も、なんだこれはというものばかりですが
 そこは、よりスマートな式になおしていただくとして。

 ・現在、6行目からデータですが、データは7行目からにします。
 ・6行目は出勤日のマーク行。6行目を選んで名前定義で "出勤日" としてください。
 ・最終的には、この6行目は、行の非表示で隠しておきましょう。
 ・C列を選んで名前定義。 "完了日" としてください。
 ・D列を選んで名前定義。 "時間" としてください。
 ・4行目を選んで名前定義。 "日付" としてください。
 ・E4 を選んで名前定義。 "初日" としてください。
 ・休日リストの名前を "祝祭日" にしてください。
 ・新たに、もう1つ、休日出勤の日付のリストを作り、名前を "休日出勤" にしてください。
 ・E6 に =IF(ISNUMBER(MATCH(日付,休日出勤,0)),"",IF(OR(WEEKDAY(日付)=1,WEEKDAY(日付)=7,ISNUMBER(MATCH(日付,祝祭日,0))),"","○"))
  これを、右のほうにフィルコピー。
 ・E7 に =IF(AND(出勤日="○",日付<=完了日,COUNTIF(E$6:OFFSET($E$6,0,完了日-初日),"○")<=ROUNDUP(時間/8,0)),2,IF(AND(出勤日="",日付<=完了日,COUNTIF(E$6:OFFSET($E$6,0,完了日-初日),"○")<=ROUNDUP(時間/8,0)),1,""))
  これを右に、下に フィルコピー
 ・1,2 が表示されます。全体の領域を選んで フォントの文字色を白にします。
 ・で、この領域を選んだ状態(アクティブセルがE7)で、条件付き書式。
  条件は2つ設定します。
  1)数式が =E7=1 塗りつぶしで作業期間中の休日の色、文字色も同じ色
  2)数式が =E7=2 塗りつぶしで作業日の色、文字色も同じ色

  うまくいけば、6行目を非表示にして使います。

  ただ、このような膨大な領域(1/1〜12/31)にこのような式をセットする仕掛けが妥当かどうか、はなはだ疑問ですが。

 ちょっとへんなところあり、悪戦苦闘中 1/24 0:01

(β) 2015/01/23(金) 18:11


 たぶん・・・できたような・・・?

 ・E7 に =IF(AND(出勤日="○",日付<=完了日,COUNTIF(E$6:OFFSET($E$6,0,完了日-初日),"○")<=ROUNDUP(時間/8,0)),2,IF(AND(出勤日="",日付<=完了日,COUNTIF(E$6:OFFSET($E$6,0,完了日-初日),"○")<ROUNDUP(時間/8,0)),1,""))

(β) 2015/01/24(土) 01:13


βさん
有難うございました。
完璧でした。
長い時間お付き合いくださり本当に感謝しています。

他の皆様も有難うございましたm(__)m
(ゆき) 2015/01/30(金) 13:13


コメント返信:

[ 一覧(最新更新順) ]


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