アプリ版:「スタンプのみでお礼する」機能のリリースについて

よろしくお願いします。

添付の画面のように横軸に日にち、曜日を記入、5行目に祝日や有給のフラグ
7行目に曜日を記入し、土日や祝日、有給の列を灰色に自動的に網掛け出来るようにしたいのですが
どのようにすればよいのでしょうか。

一番簡単な方法を教えてください。
よろしくお願いします。

「エクセルで自製のカレンダーを作る、土日祝」の質問画像

A 回答 (9件)

No.4です。



数式の説明ですね。
当方がココで文章で説明するより、ご自身で手を動かした方が理解しやすいと思います。

まず、
>IF(MONTH($A1+COLUMN(A1)-1)=MONTH($A1),$A1+COLUMN(A1)-1,"")
の部分ですが、
お礼欄にあるような
>MONTH($A1+COLUMN(A1)-1)は8月+1列-1=8月
ではありません。

MONTH関数は「$A1+COLUMN(A1)-1」の部分すべてになります。
ここで大切なのは、「COLUMN(A1)」です。
「1列」ではなく「1」です。どこか使っていないセルに
=COLUMN(A1)
と入力し右へフィル&コピーしてみてください。
1・2・3・・・と順に増えていくはずです。
すなわち列番号が表示されるだけです。
「COLUMN(A1000)」としても結果は「1」です。
COLUMN関数についてはネットで検索してみてください。

結局「-1」としているのはA1セルのシリアル値に「1」ずつプラスするのですが、
B7セルに「1日」を表示するために「-1」としています。

これもどこか使っていないセルに
=COLUMN(A1)-1
として右へフィル&コピーしてみてください。
0・1・2・3・・・となり、A1セルのシリアル値に「0」から順に自然数をプラスするだけ!という数式です。
ただ、そのシリアル値がA1セルの「月」の場合のみ「日付」を表示させ、
次の月になる場合は「空白」にして何も表示させないためのIF関数になります。(小の月に対応するため)

次に
>=(WEEKDAY(B$6,2)>5)+(B$5<>"")
の説明ですが、プラスの場合は「OR」条件になります。
すなわち
=OR(WEEKDAY(B$6,2)>5,B$5<>"")
と同じ意味になります。
(掛け算の場合は「AND」条件です)

Excel的には「0」が「FALSE」でそれ以外は「TRUE」になり、結局「TRUE」の場合のみ条件付き書式が適合します。

最後に
>また、条件付き書式の範囲でA列も指定したら
>A列も灰色になってしまいました。

Excel的には 空白=0 とみなします。
シリアル値でいうと「0」は「1」のひとつ前!というコトです。
シリアル値の「1」とは 1900/1/1 になり、「0」はそのひとつ前の日!と認識します。
1900/1/1 は日曜日なので、Excelでは「0」とは「土曜日」となり、A列も色がつく!
というコトになります。

以上、長々と書きましたが
この程度でよろしいでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

理想としていた物が出来ました。

ありがとうございます。

お礼日時:2020/08/04 14:32

[No.8]の補遺、


ステップ4の「…と(AF列迄)オートフイル」の直後を改行して御讀み下さい。m(_._)m
    • good
    • 0
この回答へのお礼

度々の回答ありがとうございます。

お礼日時:2020/08/04 14:31

1.2つの範圍 AH1:AH19、AK1:AK19 を選擇⇒Alt+MC⇒“上端行”のみに


 ̄ ̄チェック入れ⇒[OK]
2.セル A1、A2 に、夫々、數値 2020、8 を入力、且つ、
 ̄ ̄夫々、G/標準"年" 、G/標準"月" に書式設定
3.次の書式設定した各セルに夫々右側に示した式を入力
 ̄ ̄G/標準 B5: =IF(MONTH(B6)=$A2,IF(COUNTIF(祝日,B6),"祝",IF(COUNTIF(有休,B6),"有","")),"")
 ̄ ̄d ̄ ̄ ̄B6: =DATE($A1,$A2,COLUMN(A1))
 ̄ ̄aaa ̄ ̄B7: =B6
4.範圍 B5:B7 を右方にズズーッと(AF列迄)オートフイル5.範圍 B5:AF7
 ̄ ̄を選擇して下記の[条件付き書式]を設定
 ̄ ̄ルールの種類:“数式を…を決定”
 ̄ ̄ルールの内容↓
 ̄ ̄ ̄ ̄数式→ =MONTH(B$6)<>$A$2
 ̄ ̄ ̄ ̄書式→ 白のフォント色
6.範圍 B1:AF11 を選擇して下記の[条件付き書式]を設定
 ̄ ̄ルールの種類:“数式を…を決定”
 ̄ ̄ルールの内容↓
 ̄ ̄ ̄ ̄数式→ =AND(MONTH(B$6)=$A$2,OR(MOD(B$6,7)<2,COUNTIF(祝日,B$6),COUNTIF(有休,B$6)))
 ̄ ̄ ̄ ̄書式→ 灰の塗りつぶし色
「エクセルで自製のカレンダーを作る、土日祝」の回答画像8
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2020/08/04 14:31

No.4・6です。



投稿後気になったのですが、
>A列も灰色になってしまいました。
>A列の5行目、6行目には何も入力されていないのですが。。。

の件について、
もしかして、A列も条件付き書式の範囲に指定したのでしょうか?

No.4に記載したようにB列~AF列を範囲指定して!
とB列以降を指定したとしての数式です。

条件付き書式の設定範囲は書式を反映させたセルを範囲指定して、設定するのが一般的です。
お示しの画像ではA列は無視してもいいのでは?

どうしてもA列を指定し、B列以降に条件付き書式を設定したい!というコトであれば
数式も変わってしまいます。
その場合の条件付き書式の数式欄は
=(A$6<>"")*((WEEKDAY(A$6,2)>5)+(A$5<>""))
のようにする必要があります。

※ 実際はそのようなコトはしないと思いますが・・・

もう一点!
>真の場合は,$A1+COLUMN(A1)-1は2020/8/1+1(列)-1
>偽の場合は"" (空白)
>という理解でよろしいでしょうか。

に関してはその通りでしたね。
どうも失礼しました。m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
出来ました!

お礼日時:2020/08/04 14:32

「有給の列を灰色に」の「有給」は「有休」が正しいのでは?「有給」は生々しい?(*^_^*)

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
調べたところどちらでも間違いなようですね。

ただ、日経新聞は有休で統一していくとのことです。
勉強になりました。

お礼日時:2020/08/03 17:56

こんにちは!



No.3さんが回答されているようにシリアル値で処理するのが簡単だと思います。

A1セルはシリアル値で数式バー内の表示は「2020/8/1」になっているという前提です。
まずB6セル(セルの表示形式はユーザー定義から d日 にしておく)に
=IF(MONTH($A1+COLUMN(A1)-1)=MONTH($A1),$A1+COLUMN(A1)-1,"")

B7セルに
=TEXT(B6,"aaa")

という数式を入れ B6・B7セルを範囲指定 → B7セルのフィルハンドルで31日分のAF列までコピーしておきます。
(これで小の月の対応もできます)

列全体に色を付けたいのですかね?
その場合はB~AF列を範囲指定(色を付けたい行だけを範囲指定しても構いません)し
条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=(WEEKDAY(B$6,2)>5)+(B$5<>"")

という数式を入れ → 書式 → 塗りつぶしタブから「灰色」を選択しOK!

これで大丈夫だと思います。m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。式についてもう少し教えて頂けますでしょうか。
IF(MONTH($A1+COLUMN(A1)-1)=MONTH($A1),$A1+COLUMN(A1)-1,"") についてですが

MONTH($A1+COLUMN(A1)-1)は8月+1列-1=8月
MONTH($A1)=8月
IF(MONTH($A1+COLUMN(A1)-1)=MONTH($A1)で8月=8月

真の場合は,$A1+COLUMN(A1)-1は2020/8/1+1(列)-1
偽の場合は"" (空白)

という理解でよろしいでしょうか。

教えて頂いた式を入れるとキチンと1日に成るのですが。。。
ユーザー定義で”D日”にしているから1日、2日となるのでしょうか

また、

条件付き書式ですが

=(WEEKDAY(B$6,2)>5)+(B$5<>"")

種類が2なので、6=土曜、7=日曜ですね。
(B$5<>"")は何を意味しているのでしょうか

B5には、(5行目)は全て空白なのですが。。。
でも教えて頂いたとおり記載したらきちんと出来ました。


また、条件付き書式の範囲でA列も指定したら
A列も灰色になってしまいました。
A列の5行目、6行目には何も入力されていないのですが。。。

もう少し教えてください。

お礼日時:2020/08/03 18:44

こんにちは



以下、ごく簡単に。

◇A1セルに年月を入力すると、全体が書き換わるものと想定しました。
1)B6セルにA1セルの年月の1日のシリアル値になるように関数式を設定
2) C6セルを =B6+1 として、右方にフィルコピー
3) 7行目は =B6 のように6行目と同じ値にして、表示形式で曜日を設定
4) 各列に対して「条件付き書式」で「上記日付が土日あるいは5行目に祝日などの記入があれば」背景色を灰色とするように設定

概ね上記で可能と思います。
月末の日が大の月、小の月があるので、その判定だけ追加が必要かも知れません。

※ カレンダーの作り方は検索すればたくさん見つかるはずなので、詳細についてはそちらをご参考に。
 (ご質問の場合は、祝祭日の判定をする必要が無いので、一般的なものより簡単になっているはずです)
    • good
    • 1

条件付き書式で設定ですね。



「数式を使って~」で、
土日はWEEKDAY関数で検出して、セルを修飾するようにすれば良い。

祝日も同様に「数式を使って~」を用いる。
この場合、祝日のリストを別のシートに作り、
祝日のリストと比較して該当したらセルを修飾するようにすれば良い。

これがカレンダーの土日祝祭日を色分けするスタンダードな作り方ですね。

この ”祝日リスト” を応用すれば、有給取得日を入力したらその日付けの箇所にセル修飾することができる。

・・・
あとは応用してみましょう。
ここは「代わりに作って」と ”作業依頼” する場所ではありませんので、
上記の内容で分からない所を聞き返せば、それなりのアドバイスを貰えるでしょう。
「全部分からない」では「諦めなさい」としか返ってこないと思って良い。
自分で作る気が無いと思われちゃいます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2020/08/04 04:35

条件付書式で、5行目のフラグと、曜日の『土日』を条件指定するだけです

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2020/08/03 18:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!