No.3
- 回答日時:
1.入力した日付が何曜日であるかを示す方法
例えば2003年10月4日を入力するのに
2003/10/4
のように入力しますね。これをセルの書式で「ユーザー定義」を選択し、「種類(T)」のところに下のように打ち込みます。
yyyy-mm-dd"("aaa")"
そうすると 2003-10-04(土) のように表示されます。表示の桁をそろえる必要がなければ
yyyy-m-d"("aaa")" としてもOKです。日付の入力個所に予めこの書式を設定しておくと便利です。ただし祝日には対応できません。
2.土日であれば警告を発する方法
例えば2003年10月4日を入力するのに
2003/10/4
とした場合、この表記は西暦1900年1月1日(だったと思います)からの累積日数として記憶されています。つまりこの日付は割り算ができるのです。(セルの書式によっては割った答えが日付形式で表示されることがありますが、書式を「数値」に設定すれば数字で示されます。)
この日付を入力したセルを1週間の日数である7で割って、そのときに求められる「あまり」の数値でもって曜日を割り出せます。
因みに 2003/10/4 を7で割ると余りは 0です。
2003/10/5 では余りが 1になります。
ということから余りが0または1の場合に「休日です!」というようなメッセージを隣のセルに表示する方法があります。
具体的には余りをもとめる MOD関数を用います。つまり
=mod(日付のセル,7)
として、その値(余り)を求め、さらに IF関数でもって、もしも余りが0または1であれば「休日」と表示し、そうでなければ(スペース)とする、というように設定されたらいかがでしょう。
どちらかというと1.の方が簡単ですが、2.の方法は別の機会にも応用が利くと思いますので・・・ご参考まで
No.4
- 回答日時:
ちょっとずれますが
書式-条件付き書式-式が、で
式を=AND(WEEKDAY(A1,2)>5,ISNUMBER(A1))
にしてパターンや文字を白黒色以外を設定すると
土日の日付を入れると、色がつくので、警告をしたことになります。
ISNUMBER(A1))は、この部分がないと、未入力セルに色がついてしまうので、防ぐために入れました。
この回答へのお礼
お礼日時:2003/10/06 15:14
ウ~ム。なるほど!
参考になりました。 みなさん良回答ばかり。"imogas"(芋菓子?)さんに、ポイントがあげられなかったらゴメン。
No.5
- 回答日時:
入力規則で「式が」=WEEKDAY(A1,2)<6 のやり方は、スマートですが、いろいろやって見ると、オートフィルしたり、コピー貼りつけするとエラー警告がでませんでした。
キーボード入力に限る?これって本当?
それと未入力セル(DELキーを押したと同じ状態)に対し、=WEEKDAY(A1)が7を返し、=WEEKDAY(A14,2)が6を返すのも、なんか使う上で不安です。
No.6ベストアンサー
- 回答日時:
再び こんにちは
少々、疑問符が付きましたので解説をかねて追記します
>いろいろやって見ると、オートフィルしたり、
>コピー貼りつけするとエラー警告がでませんでした。
コピー貼りつけに関して
入力規則は、入力時の監視ですから
設定されていないセルをコピペすれば反応しません
コピー貼り付けに関しては 条件付き書式設定も
同様で上書きされてしまいます。
フィルに関しては既に入力済のセルであるので同様です。
ご質問の内容が、連続した日付の生成なら出だし
の日付の入力を監視すればあとは式で可能ですし
そうでない場合は、不連続の予定のある日付を入力
するとの判断からの設定です。
>それと未入力セル(DELキーを押したと同じ状態)に対し、=WEEKDAY(A1)が7を返し、
>=WEEKDAY(A14,2)が6を返すのも、なんか使う上で不安です。
何が不安なのでしょうか?
空白=0=シリアル値の1900/1/0 (土) ですから
必然的にそうなります。
WEEKDAY()とWEEKDAY(,2)の違いはヘルプを見れば
すぐに解る筈ですから一読されては如何でしょうか?
No.7
- 回答日時:
VBAですが、A列に限り(If Target.Column = 1 Then)
土日を入れると、メッセージを出し、消去します。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Weekday(Target) = 1 Or Weekday(Target) = 7 Then
MsgBox "土日です"
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
End If
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 一度入力した文字や数字を誤って削除や変更しないために、削除や変更を 3 2022/10/30 10:36
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Microsoft ASP グーグルフォーム 1 2022/12/30 18:16
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- livedoor Blog(ライブドアブログ) Googleスプレッドシートで期日前に色変わるようにするには 1 2022/09/28 19:46
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- Excel(エクセル) エクセルで不可日と祝祭日の考慮してランダムに毎日の当番表を作成したいと思っています。 1 2023/07/12 21:14
- Excel(エクセル) 条件付き書式で文字入力 6 2022/08/29 10:40
- 輸入車 BMW2シリーズ アクティブツアラーの警告表示について 2016年製 走行39000km 2022年 2 2022/11/15 07:54
- Excel(エクセル) エクセルで数値や日付を入力する際に、自動で頭に半角スペースが付くようにする書式設定はありますか? 3 2022/05/20 08:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで文字入力してEnterキ...
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字列としての指数...
-
エクセルのセルや文字を点滅表...
-
エクセルであるセルに数字を入...
-
エクセルで時間入力10:30の:...
-
エクセルで【0.5日と1日】を表...
-
エクセルの入力で15分単位以外...
-
EXCELの日付入力で年を省略したい
-
エクセルの「○分○秒」の表示形...
-
平方センチメートルの入力の仕方
-
エクセルで原子記号等を入力す...
-
【Excel】true を入れると大文...
-
文字の上にバーをつけるには?
-
エクセルでの秒未満の入力
-
エクセル関数で在庫数の増減を...
-
名簿からあ行の人だけを抽出で...
-
エクセルでセルに3/12と分数で...
-
関数CONCATENATEの表示で
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字入力してEnterキ...
-
エクセルで文字列としての指数...
-
エクセルのセルや文字を点滅表...
-
EXCELで勝手に予測入力される
-
Excelで時間順で並べ替えしたい
-
エクセルで【0.5日と1日】を表...
-
エクセルで自動的にイコール(...
-
文字の上にバーをつけるには?
-
セルに数字を入れると×1000にな...
-
エクセルの「○分○秒」の表示形...
-
平方センチメートルの入力の仕方
-
エクセルで時間入力10:30の:...
-
関数CONCATENATEの表示で
-
Accessのフォーム上のテキスト...
-
EXCELで特定の文字列を入力→エ...
-
Excelで【1-1】【1-2】【1-3】...
-
WORD2010 差し込み印刷の時間...
-
入力規則でスペース入力を禁止...
おすすめ情報