MS Excel のカレンダー

MS Excel のカレンダー

Excel タイムシートを作成し、ドロップダウン リストから 2019 年 11 月を選択すると、1 日から 31 日までの列に対して曜日が正しく表示されるようにしたいです。これは可能ですか? よろしくお願いします。

ここに画像の説明を入力してください

残業カテゴリで開始時刻を入力しないと、0 の値が出力されません。それを削除する方法はありますか?

Off-In Lieu カテゴリでは、午後 9 時以降の時間のみが考慮されます。これらの ### または 0 の値を削除するにはどうすればよいですか?

答え1

前提:

  1. 日数 (1 ~ 31) は単に列に「ハードコード」されていると想定しています。唯一の変数は、ドロップダウンから月と年を変更することです。
  2. ドロップダウンは月と年としてエンコードされており、Excel では通常、その月の 1 日として表されます (例: 2019 年 11 月は 11/1/2019 として保存されます)。表示には「2019 年 11 月」と表示されますが、値は日付として内部的に保存される必要があります。
  3. 以下の数式では、ドロップダウンが にありA1、日数が で始まることを前提としていますA3

上記の仮定を踏まえると、この数式を使用して曜日を数値として取得できます (日曜日 = 1)。

=WEEKDAY(DATE(YEAR($A$1),MONTH($A$1),A3))

曜日の名前をテキストとして取得したい場合は、次のコードを使用できます。最初のコードでは、曜日の最初の 3 文字が返されます。

=TEXT(WEEKDAY(DATE(YEAR($A$1),MONTH($A$1),A3)),"ddd")

2番目にはその日の正式名称が記されています。

=TEXT(WEEKDAY(DATE(YEAR($A$1),MONTH($A$1),A3)),"dddd")

編集:サンプル出力は以下のとおりです

ここに画像の説明を入力してください

関連情報