- 締切済み
EXCEL*日付・曜日・文字色の自動変更は?*
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
>『条件 条件付き書式 で他のブックへの参照を使用することはできません。』と出てしまいます 申し訳御座いません、ANo.3の回答を行う際に、一寸、家族から急かされていたため、条件付き書式の「次の数式を満たす場合に値を書式設定」欄に、入力する数式の中の参照先のシート名が、別のシート名となっていたものを、修正し忘れておりました。 【Excel2007以降のバージョンの場合】 《誤》 =OR(WEEKDAY($A2)=1,COUNTIF('Sheet9 (2)'!$B:$B,$A2)>0) 《正》 =OR(WEEKDAY($A2)=1,COUNTIF(Sheet2!$B:$B,$A2)>0) 【Excel2007よりも前のバージョンの場合】 《誤》 =OR(WEEKDAY($A2)=1,COUNTIF('Sheet9 (2)'!$B:$B,$A2)>0) 《正》 =OR(WEEKDAY($A2)=1,COUNTIF(INDIRECT("Sheet2!B:B"),$A2)>0)
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、適当な列に(例えばSheet2のB列)に、祝日の一覧表を作成して下さい。 【参考URL】 国立天文台 > 暦計算室 > 暦要項 > 平成23年(2011) http://eco.mtk.nao.ac.jp/koyomi/yoko/2011/rekiyou111.html 次に、A1~C1セルを結合して1つのセルして下さい。 次に、D1セルに「月程」と入力して下さい。 次に、A2セルに次の数式を入力して下さい。 =IF(MONTH($A$1-1+ROWS($2:2))=MONTH($A$1),$A$1-1+ROWS($2:2),"") 次に、A2セルをコピーして、B2セルに貼り付けて下さい。 次に、A2セルの書式設定の表示形式を[ユーザー定義]の d として下さい。 次に、B2セルの書式設定の表示形式を[ユーザー定義]の aaa として下さい。 次に、A2~B2の範囲をコピーしてA3~B32の範囲に貼り付けて下さい。 次に、条件付き書式を設定するのですが、条件付き書式の設定方法は、使用するExcelのバージョンが、Excel2007以降のバージョンの場合と、それよりも前のバージョンの場合では、操作方法が異なります。 【Excel2007以降のバージョンの場合】 A2セルを選択 ↓ [ホーム]タグをクリック ↓ [条件付き書式] をクリック ↓ 現れた選択肢の中にある[新しいルール] をクリック ↓ 現れた「新しい書式ルール」ウィンドウの[数式を使用して、書式設定するセルを決定] をクリック ↓ 「次の数式を満たす場合に値を書式設定」と記されている欄に次の数式を入力 =OR(WEEKDAY($A2)=1,COUNTIF('Sheet9 (2)'!$B:$B,$A2)>0) ↓ 「新しい書式ルール」ウィンドウの[書式]ボタンをクリック ↓ 現れた「セルの書式設定」ウィンドウの[フォント] タグをクリック ↓ 現れた[色]欄をクリック ↓ 赤色の四角形をクリック ↓ 「セルの書式設定」ウィンドウの[OK]ボタンをクリック ↓ 「新しい書式ルール」ウィンドウの[OK]ボタンをクリック ↓ 選択しているセルを変えずに、再度[条件付き書式] をクリック ↓ 現れた選択肢の中にある[ルールの管理] をクリック ↓ 現れた「条件付き書式ルールの管理」ウィンドウの「書式ルールの表示」欄が[現在の選択範囲]となっていることを確認 ↓ 「ルール(表示順で適用)」欄が「数式: =OR(WEE...」となっている行の「適用先」欄の内容を =$A$2 から =$A$1:$B$32 に変更する ↓ 「条件付き書式ルールの管理」ウィンドウの[OK]ボタンをクリック 【Excel2007よりも前のバージョンの場合】 A2セルを選択 ↓ メニューの[書式]をクリック ↓ 現れた選択肢の中にある[条件付き書式]をクリック ↓ 現れた「条件付き書式の設定」ウィンドウの左端の欄をクリック ↓ 現れた選択肢の中にある「数式が」をクリック ↓ 「条件付き書式の設定」ウィンドウの左から2番目の欄に次の数式を入力 =OR(WEEKDAY($A2)=1,COUNTIF('Sheet9 (2)'!$B:$B,$A2)>0) ↓ 「条件付き書式の設定」ウィンドウの[書式]ボタンをクリック ↓ 現れた「セルの書式設定」ウィンドウの[フォント]タグをクリック ↓ 現れた[色]欄をクリック ↓ 赤色の四角形をクリック ↓ 「セルの書式設定」ウィンドウの[OK]ボタンをクリック ↓ 「条件付き書式の設定」ウィンドウの[OK]ボタンをクリック ↓ A2セルにカーソルを合わせて、マウスを右クリック ↓ 現れた選択肢の中にある[コピー]をクリック ↓ A2~B32の範囲を範囲選択 ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック ↓ 現れた「形式を選択して貼り付け」ウィンドウの中にある「書式」と記されている箇所をクリックして、チェックを入れる ↓ 「形式を選択して貼り付け」ウィンドウのの[OK]ボタンをクリック これで準備は完了で、最後にA1セル(からC1セルまでの結合セル)に 2011年9月 等の形式で、年と月を入力して下さい。
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート1に表がありシート2のA列にはA1セルから下方に祝日などが2011/1/1のように入力されているとします。 また、シート1のA1セルには2011年9月のように年月が入力されているとします。A1セルについて数式バー上では2011/9/1のように年月日で表示されていると思います。それがこれからの操作で大事なことになります。 A2セルには次の式を入力してB2セルまでオートフィルドラッグしたのちに下方にも(32行まで)オートフィルドラッグします。 =IF(MONTH($A$1+ROW(A1)-1)<>MONTH($A$1),"",IF(COLUMN(A1)=1,DAY($A$1+ROW(A1)-1),IF(COLUMN(A1)=2,TEXT($A2,"aaa"),""))) これでA1セルの年月が変われば自動的にその月の最終日までの日付や曜日が変わります。 次に日曜日や祝日の日付と曜日の文字色を赤色にするのですが次のようにします。エクセル2010のケースですが同じような操作を他のバージョンで操作すればよいでしょう。 A2セルからB32のセル範囲を選択してから「ホーム」タブの「条件付き書式」をクリックし、「新しいルール」を選択します。 表示の画面で「数式を設定して書式設定するセルを決定」を選択し、下の窓には次の式を入力します。 =OR(WEEKDAY($A2)=1,COUNTIF(Sheet2!$A:$A,$A$1+$A2-1)>0) 同じ画面の「書式」をクリックして「フォント」のタブで「色」が自動になっているところで「赤」に設定してOKします。 以上ですべてが完成です。
- Cupper-2
- ベストアンサー率29% (1342/4565)
「条件付き書式」で修飾する。 …ですね。 土日なら WEEKDAY関数 で判別できます。 =IF(WEEKDAY(日付,2)>5,TRUE,FALSE) ※=WEEKDAY(日付,2)>5 だけでもOK。 祭日は別途リストを作成してそれを VLOOKUP関数 で参照することで可能です。 2011/01/01 2011/01/02 … 2011/12/23 と祭日のリストを作成しておきます。 そのリストの範囲に名前を付けます。 ※ 範囲を選択して 左上の名前ボックス(A1セルを選択すると A1 と表示されるところ)に 「祭日」 とでも名前を付けます。 =VLOOKUP(日付,祭日,1,0) これで祭日を判断できます。(祭日の文字はダブルクォーテーションで"祭日"と囲まないように!) この2つの条件を設定することで土日祭日を自動判定できるようになります。 …祭日のリストには振替休日も登録しておくこと!振替について考えると面倒なので… なお、日付については質問者さんで解決しましょう。 なぜなら質問にある図を見ても日付がどのように付けられているのか判断できないからです。 必ずシリアル値である必要がありますから、シリアル値が何か分からないのでしたら、自身で調べてみましょう。 これ、日にちや時間を扱うときに重要なポイントです。
補足
>赤色の四角形をクリック ↓ 「セルの書式設定」ウィンドウの[OK]ボタンをクリック ↓ 「新しい書式ルール」ウィンドウの[OK]ボタンをクリック ここでOKボタンをクリックすると 『条件 条件付き書式 で他のブックへの参照を使用することはできません。』と出てしまいます(+o+) どうしたら良いのか意味が分かりません…すみません…