- ベストアンサー
Excelの関数について
2行目に日付が入ったSheet1があり、土日には条件付き書式の設定で(WEEKDAY関数)色が付けてあります。 Sheet2には祝日が入力されていて範囲指定で「祝日」と名前が付けられています。 Sheet1の日付のセルに、祝日の場合には色をつけようと下記2通りの条件付き書式を試みましたが、どちらを使っても色付けされません。 =COUNTIF(祝日,C$2)>0 =MATCH(C$2,祝日,0)>0 考えられる原因と対処方法を教えていただけないでしょうか? 又、Sheet1だけコピーして別のブックに保存する場合、祝日の色付けをそのままにする方法はあるでしょうか? どうかよろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>29日以降は手入力するしかないのですね。できれば他のシートを参照して自動で表示されるようにしたかった この意味が良くわからないのですが? 仮に A1に 11/1と入れてEnter 2008/11/1 と表示 表示形式ユーザー定義で yyyy年m月 にして 2008年11月 と表示させる A2セルに =IF(MONTH($A1)=MONTH($A1+COLUMN(A1)-1),$A1+COLUMN(A1)-1,"--") と入れて 表示形式 d で 1 と表示させる 右へコピィすると その月の末日以降は -- で表示されます。 A1セルに 日にちを入れるとその月のカレンダーになると思います。
その他の回答 (5)
- hallo-2007
- ベストアンサー率41% (888/2115)
>日付は1日から28日までは数字のみ入力されていて、29日以降は前回こちらで質問して教えていただいたやり方で表示されるようにしています。 >試しに日付の入ったセルの書式を「yyyy/mm/dd」に変えてみたら、「1900/01/01」からの日付が表示されました。 日にちを数値で入れていたためですね、数値の1はエクセルの日付では 1900/1/1ですので1900年1月のカレンダーになって曜日も出ているのだと思います。 日付は11/1とかシリアル値で入力して、表示形式を ユーザー定義で d としてください。
補足
hallo-2007さん、ありがとうございます。 きちんと色付けされるようになりました。 29日以降は手入力するしかないのですね。できれば他のシートを参照して自動で表示されるようにしたかったので、 日付か色付けのどちらを優先するか少し考えてみたいと思います。
- sige1701
- ベストアンサー率28% (74/260)
>日付は1日から28日までは数字のみ入力されていて、29日以降は >前回こちらで質問して教えていただいたやり方で表示されるよ >うにしています。 11/1の様に日付形式で入力してください
お礼
参考になりました。 どうもありがとうございました。
補足
sige1701さん、ありがとうございます。 きちんと色付けされるようになりました。
- sige1701
- ベストアンサー率28% (74/260)
>考えられる原因と対処方法を教えていただけないでしょうか? 祝日一覧はどの様に入力しましたか? 文字として入力されていませんか?
補足
sige1701さん、ありがとうございます。 祝日一覧は日付形式で2008/11/03、2008/11/24、2008/12/23・・・と入力して、 範囲指定をした後に挿入→名前→定義で「祝日」と名前を付けてOK保存してあります。
- hallo-2007
- ベストアンサー率41% (888/2115)
No1です。失礼しました。試してみたら =COUNTIF(祝日,C$2)>0 =MATCH(C$2,祝日,0)>0 両方うまく出来ました。 =COUNTIF(祝日,C$2) でもOKですね。 原因がわかりませんが、下の行にでも =COUNTIF(祝日,C$2) =MATCH(C$2,祝日,0) と入れて右へコピィして何が表示されるか確認しては如何でしょうか。
補足
hallo-2007さん、ありがとうございます。 先程のも試してみたのですが、やはりうまくいきませんでした。 右にコピーしても変化がありません。 困ったことにきちんと表示されていると思っていた土曜日と日曜日も1日ずつ前にズレて色付けされていました。 以前作ったファイルで同様にやっていて問題がなかったため、混乱しています。 日付は1日から28日までは数字のみ入力されていて、29日以降は前回こちらで質問して教えていただいたやり方で表示されるようにしています。 試しに日付の入ったセルの書式を「yyyy/mm/dd」に変えてみたら、「1900/01/01」からの日付が表示されました。 以前作ったファイルでも試してみると同様なのに問題なく表示されるのが何故なのか、全くわからなくなってしまいました・・・。
- hallo-2007
- ベストアンサー率41% (888/2115)
希望する値が 0 でなくエラー値だからでは >=COUNTIF(祝日,C$2)>0 は =COUNTIF(祝日,C$2)=1 >=MATCH(C$2,祝日,0)>0 は =ISNUMBER(MATCH(C$2,祝日,FALSE)) で試してみてください。
お礼
本当にどうもありがとうございました!!
補足
hallo-2007さん、ありがとうございます。 全て希望通りに表示させることができました。 本当にどうもありがとうございました!!