プロが教えるわが家の防犯対策術!

毎日入力する業務があります。
平日だけ月日を4桁でカレンダー表示したいです。

例:4月1日→「0401」
12月10日→「1210」

どうすれば、自動でこのような表示ができるのでしょうか?

※ 平日とは土・日および祝日(任意の休日も含められたらなお嬉しいです。)

A 回答 (4件)

自己添削(#1と#2での回答は、エレガントさを欠いてました)


ということで、

=IF(OR(A1="",WEEKDAY(A1,2)>5),"",TEXT(A1,"mmdd"))

WEEKDAY関数で、 日付から曜日を算出(「2」指定で、月→1、・・・、土→6、日→7に対応)
この値が、5より大きい(6、7のとき)空白にします。

平日の中に、休みが有る場合にも、自動的に空白にするとしたら
年ごとの、休日(祝祭日)を別テーブルに設けて、そのテーブルのデータと比較して、判定する式を作ることになります。
この場合、毎年決まった日付のものと、第◯日曜の次の日(月曜)のもの、春分の日や秋分の日のような、年によってずれる日 などを考慮。(不可能では有りませんが、・・・・やや、面倒かな?と感じるかも)

提案になりますが、
土日は、自動で表示は可能。
 且つ、平日で休みになる日を、列を追加して、その列に「休」とかで入力
それが入力されていれば、空白にするというのは?

仮に、その列をB列に追加すれば(列の挿入で)

=IF(OR(A1="",WEEKDAY(A1,2)>5,B1="休"),"",TEXT(A1,"mmdd"))
    • good
    • 0

再び1です。


別解で
日付の 表示形式を ユーザー定義で  mmdd
且つ、条件付き書式 で 土日判定部分を数式にする

という方法も、ありました。
    • good
    • 0

#1です。


空欄 は  表示無し。土日部分は 表示無し。 祝祭日は考慮してませんW


=IF(OR(A1="",WEEKDAY(A1,2)>5),"",TEXT(MONTH(A1),"0#")&TEXT(DAY(A1),"0#"))
    • good
    • 0

>平日だけ


月から金 までですよね?

日付がA1に入っているとしたら

=TEXT(MONTH(A1),"0#")&TEXT(DAY(A1),"0#")

月から金までなら この式にIF関数で、 曜日の判定式を追加 になります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
IF関数での分岐と言うことですが、どのようにすればできるのでしょうか?
具体的にお教えいただければ助かります。

お礼日時:2006/06/17 10:39

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