[[20220710192458]] 『勤務表 特定の曜日 カウント1になると色』(shirosuke) ページの最後に飛ぶ

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

 

『勤務表 特定の曜日 カウント1になると色』(shirosuke)

よろしくお願いします。
勤務表を作成しています。火・木・土に遅番「H」が入ると色が変わるようにしたいです。
  A    B   C   D・・・・  AF
2 日付   21  22   23・・・・・20
3 曜日   木   金   土
4 勤務者名 B   C   B
5 勤務者名 B   H   H

12 B数   2   1   1
13H数   0   1   1

上記のように作成しています。火・木・土のみ「H」を入力すると色を付けたいです。D23は「土」なのでHのセルに色を付けたいです。C5は「金」なので色は付かなくてもいいです。シートは1年分作成しています。よろしくお願いします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 曜日が「=TEXT(B2,"aaa")」の表示形式だとして
 =IF(B$4="H",OR(B$3="木",B$3="土"),"")
 の式を条件付き書式「数式を使用して、....」で設定する

    |[A]     |[B]  |[C] |[D]|[E] |[F]|[G]|[H] |[I]|[J]|[K]  |[L] |[M]|[N]|[O] |[P]
 [1]|        |     |    |   |    |   |   |    |   |   |     |    |   |   |    |   
 [2]|日付    |    1|   2|  3|   4|  5|  6|   7|  8|  9|   10|  11| 12| 13|  14| 15
 [3]|曜日    |水   |木  |金 |土  |日 |月 |火  |水 |木 |金   |土  |日 |月 |火  |水 
 [4]|勤務者名|H    |H   |   |H   |   |   |H   |   |   |H    |H   |   |   |H   |   
 [5]|        |FALSE|TRUE|   |TRUE|   |   |TRUE|   |   |FALSE|TRUE|   |   |TRUE|   

 B5から右へ上記の式が入っている。
 注視してほしいところ
 FALSEの所は「"火","木","土"」以外なので色はつかない。
 未入力の時も色はつかない。

 ※タイトル「カウント1になると色」は無視して「H」を入力すると色を付けたいです。」を優先する。
(nm) 2022/07/10(日) 21:39

 >Hのセルに色を付けたいです。
 「H」のセルというのがどこのことかわかりませんが
 曜日が「火木土」のいずれかで、13行目が「1以上」の場合に色を付けたいってこと?

 3行目の曜日は =TEXT(B2,"aaa;;") という式にして文字列にする。

 設定したい範囲を選択して、ホームタブの条件付き書式〜新しいルール

 ルールの種類:数式を使用して、書式設定するセルを決定

     数式:=AND(B$13>0,FIND(B$3,"火木土"))

 書式から色を選択

 以上
(笑) 2022/07/11(月) 00:20

 もしかして色を付けるのは 4〜5行目の「H」が入力されてるセル?

 だとしたら、B4:AF5 を選択して条件付き書式

 数式:=AND(B4="H",FIND(B$3,"火木土"))

 以上
(笑) 2022/07/11(月) 00:29

皆さんありがとうございます。
色々言葉が足りず、またタイトルもご指摘があったように「H」を入力すると色を付けたい、よく考えると確かにそうでした。大変申し訳ありませんでした。
曜日は日付をもとにWEEKDAY関数を使用しています。

条件は「"火","木","土"」で13行目が「1以上」の場合に13行目のセルの色が塗りつぶしで変わるようにしたいです。
本当に申し訳ありませんがよろしくお願いします。
(shirosuke) 2022/07/11(月) 21:13


 2022/07/11(月) 00:20 の通りにやればできますけど、試してないんですか?

 >曜日は日付をもとにWEEKDAY関数を使用しています。 
 どんな式か知りませんが、先に書いた通り TEXT 関数の式に差し替えてください。
 もう一度言います。

 B3 =TEXT(B2,"aaa;;")  表示形式「標準」
 AF3セルまで右コピー

 13行目に色を付けたいのなら、B13:AF13 を選択して条件付き書式
 設定方法はすでに書いた通り。

 ただし、色を付けるのが13行目だけなら、複合参照にする必要はないので

 数式:=AND(B13>0,FIND(B3,"火木土"))

 以上
(笑) 2022/07/11(月) 23:17

(笑)ご指摘ありがとうございます。
以前条件が違いますが”月・金・金”で13行目が「0」の場合色が変わるよう条件付き書式で設定していることを忘れていたため確認したところ、数式:=AND(B13=0,ISEVEN(WEEKDAY(B2)))が入っていました。
なぜ、この数式で「月・水・金」で「0」の場合色がつくのかわからず教えて頂けたらと思います。
よろしくお願いします。
(shirosuke) 2022/07/12(火) 06:04

 >2022/07/11(月) 00:20 の通りにやればできますけど、試してないんですか?
 これに対する返信が先ではないですか。
 >なぜ、この数式で
 自分で作成した式ではないですよね。
 作成者に聞いたらどうですか。
 ちなみにISEVENを調べてみてどう。

 「月・水・金」、「火・木・土」の二つの式が入ることになるので
 13行目は全て色が付くことになりますよ。(日は除く)
 でどちらを優先するんでしょうか。
(ひとまかせ) 2022/07/12(火) 09:40

(ひとまかせ)さん(笑)さん大変失礼いたしました。(笑)さんが教えてくださった00:20 の通りに行ったら、B3の曜日ですが「土」は「青」文字、「日」は「赤」文字にならなくなったため違う方法を教えて頂けたらとコメントしてしまいました。
当初の要件は問題なくできました。ありがとうございました。
あとは「土」は「青」文字「日」は「赤」文字になるようやってみたいと思います。

自分で作成した式ではないですよね。

 作成者に聞いたらどうですか。
 ちなみにISEVENを調べてみてどう。
ですが以前このサイトで教えて頂いた数式です。検索を「shirosuke」で行ったのですがでてこなく、また「ISEVEN」も調べたのですが理解できず。またこの掲示板で書き込みをしました。
本当に(笑)さんには失礼な事、また(ひとまかせ)を含め不快にさてしまい大変失礼いたしました。

(shirosuke) 2022/07/12(火) 12:14


間違えました。B3が「日」だったらB1からB5セルが赤でセルの塗りつぶしができるように条件付き書式を設定していました。それがB3セルを=TEXT(B2,"aaa;;")にするとB3が「日」なのに塗つぶされないようになってしまいました。
(shirosuke) 2022/07/12(火) 12:37

 B1:AF5 を選択して条件付き書式

 数式:=B$3="日"
 または
 数式:=WEEKDAY(B$2)=1 ← B3 ではない

 ところで
 >以前このサイトで教えて頂いた数式です。

  ↓ のこと?
[[20210214194531]]『勤務表さくせいについて』(シロスケ)

 以上
(笑) 2022/07/12(火) 12:49

(笑)さん本当に失礼な態度を取ってしまい大変申し訳ありませんでした。
今回私のやりたかった事、また日曜日だけの塗りつぶしも数式の変更によりできるようになり大変ありがとうございました。

以前の質問
[[20210214194531]]『勤務表さくせいについて』(シロスケ)
確かに私が投稿したもので間違いありません。(シロスケが以前カタカナで投稿してるとは・・・
以前投稿した質問まで探していただきありがとうございました。今後検索する時カタカナも含め行います。
(笑)さん含め皆さん最後まで教えて頂きありがとうございました。
(shirosuke) 2022/07/12(火) 14:43


何度も質問すみません。
2月、4月とか「31日間」ない月ですが上記の数式を入れると日付、曜日と空白にもかかわらずセルが塗りつぶしとなってしまいます。空白の場合塗りつぶしされない対応を教えて頂けたらと思います。

当社は20日締めとなっています。勤務表は1年を通して31日分のセルとなっています。日付のセルには=IF($A$1="","",IF(AC2+3>DATE(YEAR($A$1),MONTH($A$1)+1,20),"",AC2+3))が入っています。

(shirosuke) 2022/07/12(火) 18:48


 ちょっと確認だけ

 >上記の数式を入れると 
 上記の数式とはどれのことですか?

 提示された日付の式について
 1)その式はどのセルに入っているのか?
 2)A1セルには何が入力されているのか?

 とりあえず以上です
(笑) 2022/07/12(火) 21:34

(笑)さんコメント遅くなり大変申し訳ありませんでした。
勤務表ですが月ごとにシートを作成しています。全部で12シートあります。シート名は「1月」「2月」・・・「12月」となっています。

今回10月の勤務表で説明をします。シート名は「10月」です。

1)上記の式はAD2に入っています。
AE2には =IF($A$1="","",IF(AC2+2>DATE(YEAR($A$1),MONTH($A$1)+1,20),"",AC2+2))の関数が入っています。
AF2には =IF($A$1="","",IF(AC2+3>DATE(YEAR($A$1),MONTH($A$1)+1,20),"",AC2+3))の関数が入っています。
2)A1には関数「='9月'!A1+30」が入っています。

10月の勤務表は9月が30日までしかない為AF2は何も表示されていません。
しかしAF13はなぜかこの数式に設定してある「=AND(B$13>0,FIND(B$3,"火木土"))の色に塗りつぶされてしまいます。しかもAF2の曜日は10月21日「水」のはずですが・・・なぜか塗りつぶされてしまいます。
よろしくお願いします。

  
勤務表は下記のような形になっています。
  A     B    C    D・・・・L・・・・ AE   AF
1 9月                 10月
2 日付    21   22   23・・・ 1・・・・ 20
3 曜日    水   木    金・・・土・・・・・土
4 勤務者名  B    C    B   B     B
5  勤務者名  B   H    H    B     休
12  B数    2   1    1    2     1   
13 H数    0   1     1   0      0   

よろしくお願いします。
(shirosuke) 2022/07/14(木) 22:32


 13行目は数式が入ってるんですよね。

 2行目に日付が表示されない場合(小の月の場合)
 13行目は数式で空白にしてるんですか?(「0」も何も表示されない)

 だとしたら、条件付き書式の数式を
  ↓ に差し替えてください。

 =AND(N(B13)>0,FIND(B3,"火木土"))   ※Nは関数
      ~~~~~~
 ■参考までに 2行目の式について

 B2 =EOMONTH(A1,-1)+21
 C2 =IF(B2="","",IF(DAY(B2)=20,"",B2+1))
 表示形式〜ユーザー定義 d
 C2をAF2まで右コピー

 これでも21日〜翌月の20日になるでしょう。

 以上
(笑) 2022/07/14(木) 23:58

(笑)さん、できました!! 素晴らしいです。私が作りたかった勤務表が出来、また他のヶ所の関数まで教えて頂きありがとうございました。思っていた以上の出来にびっくりです。本当に最後まで丁寧に教えて頂きありがとうございます。また私の言葉足らずの説明でここまで理解して頂き本当に感謝しかありません。

参考に教えて頂きました関数も使用させて頂きました。これも問題なかったです。

13行目ですが =IF(AF2="","",COUNTIF(AF4:AF11,"H")+COUNTIF(AF4:AF11,"BH"))が入っていて「0」も何も表示されません。

本当にありがとうございました。
(shirosuke) 2022/07/15(金) 12:48


コメント返信:

[ 一覧(最新更新順) ]


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