• ベストアンサー

エクセルのWEEKDAYを使って土日のセルに色をつける

エクセル初心者です。 WEEKDAY機能を使用して、土曜日セルに青、日曜日セルに赤を塗りたいのですが、ネットで検索した方法でやってみてもうまくいかないのでここで質問させていただきました。 1の行には月(1日~31日分範囲をセルの結合で1つにして月を記入)、2の行には日付のみを1、2、3・・・と入れ、3の行には適応される曜日をそれぞれ手動で入れました。 4~20の行は何も記入していませんが、曜日の色付けに対応させたいです。 例えばA2が1、A3が月で始まったとしたら、F2が6、F3が土となりますよね。 それで私が試したのは、カレンダーの全範囲を選択後、条件付けの数式で「=WEEKDAY($F2,F3)=7」を入力、書式で青を選択しました。 そうすると、変な範囲が青になってしまいます。 正しい方法を教えて下さい。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.6

シートの構成を含めてアドバイスですが 1行目を月、2行目に日にち、3行目に曜日でしたら A1セル(結合された1行目?)に 2008/11/1 と入れて 書式、表示形式、ユーザー定義で m"月"と入れると 11月 とでます。 A2セルに =$A$1+COLUMN()-1 と入れて右へコピィすると日にちが入ります。 毎月 1行目に 2008/12/1 と日付だけ入れれば、1月のカレンダーが出来ます。 A3セルには =A2 と入れて、書式、表示形式、ユーザー定義で aaa と入れると 曜日が表示されます。 2~3行目の範囲を選択して、条件付書式で 数式が =Weekday(A2)=1 パターン ピンク でも 追加 数式が =Weekday(A2)=7 パターン ブルー でも入れてOKします。 Weekday関数には日付のシリアル値を入れます。数値をいれてもきちんとした曜日はでません。

mimitomato
質問者

お礼

A1セル、A3セルに関しては教えていただいた方法でうまくいきました。 この方法だと簡単に入れられていいですね。 でもA2セルの=$A$1+COLUMN()-1を入力したら、何故か全部「11月」と表示されてしまいます。なぜでしょうか? 色をつける条件付けも教えていただいた方法でうまくいくました。 これで色がつくのはA2とA3の範囲ですが、A4~A10の何も入っていないセルも同じように色をつけるにはそうしたらよいでしょうか? 範囲を選んでも、適応されるのはA2とA3のみになってしまって・・・ 宜しくお願い致します。

その他の回答 (7)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.8

No6です。 >何故か全部「11月」と表示されてしまいます。なぜでしょうか? セルの書式、表示形式でユーザー定義 d としてください。 mが月 yが年 dが日 ちなみに aaaで曜日がでます。 >何故か全部「11月」と表示されてしまいます。なぜでしょうか? 範囲指定して、 数式が =Weekday(A$2)=1 パターン ピンク でも 追加 数式が =Weekday(A$2)=7 パターン ブルー でも入れてOKします $のマークがみそです。行方向に同じ条件付書式が入ります。

mimitomato
質問者

お礼

教えていただいた通りにやったらできました。 有難うございました!

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

初心者らしく、作り方がまずい。 第1行目はそれでよいでしょう。 2行目は A2にとりあえず2008/11/1と入れて、11/30日まで、右方向に引っ張る(連続データの作成)。これで30日までの日付(日付シリアル値という整数)が入る。日付シリアル値はWEBででも勉強のこと(大切なことです)。 第3行目は、1-30日まには、第2行目の値を複写する。 第3行目を指定して、書式ーセルー表示形式ーユーザー定義ーaaa 見た目が月ー日になる。 ーー A1:AD20を範囲指定(第20行まで色づける場合です) 書式ー条件付き書式ー式が =OR(WEEKDAY(A$2)=1,WEEKDAY(A$2)=7) セルのパターン色を淡い色に設定。 OK これで土日の列に色がつく。 式の意味は、自分の列(Aに$が着いてない意味はこれ)の「どの列でも決まって第2行」を見て(2に$がついている意味はこれ)、WEEKDAYを判断しろ、という意味です。 式の入れ方は、初心者には難しいと思うが、勉強してください。 月により、28-31日が月末になる点の対策は、初心者に課題があれもこれもとなるので、省略。とりあえず、人間が判断して、やってください。徐々に勉強すること。 やり方について、これ以外にも相当数の、バリエーションがある。

mimitomato
質問者

お礼

とてもわかりやすく教えていただいて有難うございました。 仰るように、他の方の回答を見ても色々バリエーションがあるなとおもいましたが、この方法が一番シンプルで初心者向けのように感じました。 $が付いているもの、いないものの意味もよくわかっていなかったので、ここで教えていただけて大変勉強になりました。 徐々に勉強していきます。 有難うございました。

回答No.5

作りたいのはこんな感じの表でしょうか。 http://www11.plala.or.jp/koma_Excel/contents1/mame1001/mame100101.html このサイトではセルの書式設定、条件付書式などの使い方がわかりやすく説明されています。 ご参考にどうぞ。

mimitomato
質問者

お礼

列と行が逆ですが、やりたいことはこれと一緒です。 色々のっていて勉強になりそうなページですね。 じっくり見てみます。 有難うございました。

回答No.4

WEEKDAY関数の使い方を間違えていると思います。 WEEKDAY関数は、日付シリアル値から曜日を示す数字に変換する関数で、1つめの引数に日付シリアル値を、2つめの引数に変換方法(1:日曜~7:土曜/1:月曜~7:日曜/0:月曜~6:日曜)を指定するものです。 ですから、この場合3行目の曜日を自動で設定したい場合などに使います。 例えば、 A3 =CHOOSE(WEEKDAY("2008/"&$A$1&"/"&A$2,2),"月","火","水","木","金","土","日") というようにすれば、曜日が設定できます。 (実際には、DATE関数を使って表示形式をいじった方が楽かと思いますが) で、条件付き書式は簡単に、 =(A$3="土") で青色 =(A$3="日") で赤色 と設定するとできると思います。 仮にWEEKDAY関数を使うとしても、 =(WEEKDAY("2008/"&$A$1&"/"&A$2,2)=6) で青色 =(WEEKDAY("2008/"&$A$1&"/"&A$2,2)=7) で赤色 じゃないでしょうか。

mimitomato
質問者

お礼

>ですから、この場合3行目の曜日を自動で設定したい場合などに使います。 自動で設定したいと思っていたので、教えていただけて良かったです。 同じようにやったらできました。 でもその次の条件付き書式に関してはうまくできませんでした。 土曜日だけでなく、選択した範囲全部が土曜の色になってしまったり・・・ 条件付き書式のやり方を間違えているのかもしれませんね。 そのあとのWEEKDAY関数を使う方法を試したら、自分がやりたい結果になりました! 有難うございました。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

「3の行」の曜日は単に文字として「土」と入っているのではないですか? でしたら、書式の式は「=F3="土"」とかで良いのでは?

mimitomato
質問者

お礼

仰るとおり、単に文字として「土」と入れていました。 その場合は"土"と直接文字を入力して指定してもいいんですね。 知りませんでした。有難うございました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

>「=WEEKDAY($F2,F3)=7」 これがおかしいです 条件付き書式は1つのセル範囲に指定するのです F2セルに色をつけたいなら  =WEEKDAY(F2)=7 が条件式になります そのセルをコピーして同様に色づけしたいセルに  「編集」→「形式を選択して貼り付け」→「書式」 で貼り付けてください

mimitomato
質問者

お礼

>条件付き書式は1つのセル範囲に指定するのです 1つのセルだけなんですね。勉強になりました。 ひとつのセルに条件つけをし、それをコピーする手もあるんねすね。 有難うございました。

  • wellow
  • ベストアンサー率46% (892/1932)
回答No.1

挙げられている実例の行、列の関係が良く分りませんが、例えば以下の例で試してみてください。 A列は日付、例えば2008/1/1と入力する。表示形式はユーザー定義でdd、表示は「01」、[02」のように日になる。 B列は曜日、例えばB1は「=IF(A1="","",WEEKDAY(A1))」とする。表示形式はユーザー定義でaaa、表示は「日」、「月」のようになる。 A列とB列を選んで(必要ならばC、D列なども)、条件付書式で 数式1: 「数式が」、「=$B1=7」のときはセルの書式で背景を青、 数式2: 「数式が」、「=$B1=1」のときはセルの書式で背景を赤 とかにしてみてください。

mimitomato
質問者

お礼

有難うございます。 教えていただいた方法で試してみたらできました。 ただ、列と行を逆にした場合(A列、B列とかでなく、1の行に日付、2の行に曜日と、カレンダーが縦方向でなく、横方向に展開していくパターン)で試してみるとうまくいきません。 行と列が入れ替わっただけなのに・・・ 難しいですね。

関連するQ&A

  • エクセルで指定曜日の縦の列のセルに色をつける

    いつもお世話になっています。エクセルに関して質問いたします。 前回の質問(見ていない方は申し訳ありません)で管理表で横列に曜日と日付を自動で 出力させたいの件はおかげさまで解決しました。 次に特定の曜日(土日)の縦の列の選択した範囲でセルに自動で色付けを行いたいと思い各HPを 参考にさせていただていたのですが、今度は横の色付けはあったのですが、縦方向の色付けが 見つかりません。そこでまた皆様のお力をお借りいたします。 例)A1のセルに土B1に日と表示されている場合A1~A10までのセルの色を青、B1~B10までのセルを赤の様に自動で表示させたい。 どうかご教授お願いいたします。

  • 土日だけ色をつけたい

    昨日も質問したものです。急ぎの資料なので独学はあとでゆっくりします。教えてください。 昨日、教えていただいて A1に西暦 A2に月 A3からずらっと日がDateとColumnを使って数式が入っています。 A4の行にはWeekdayを使って曜日になります。 で、この表は曜日の下の行から いくつか項目があって 土日の部分だけ項目も日付も曜日も含めて色をかえたいのです。 いろいろ過去の質問などで読んでみたり、 条件付き書式のルールを読んでみても さっぱり理解できません。あせっているのもあると思います。 どうしたら色をつけられるでしょう? 教えてください。お願いします。

  • 行を挿入すると、色が付いてしまう

    excel2013です。 画像のような感じのカレンダーを作っています。 セルには、条件式書式で、上から、 =COUNTIF(祝日!$A$2:$A$54,$A791)>=1 =WEEKDAY(A791)=1 =WEEKDAY(A791)=7 を入力して、日曜・祝日は、文字色赤、土曜日は、文字色青、背景はどれも薄い青にしました。 そこで質問です。 行を挿入すると、土日祝日以外でも、上記の曜日のように、色が付いてしまいます。 なぜこのようになるのでしょうか? また、解決するには、条件式書式をどのように変更するば良いのでしょうか?

  • エクセル2007 土日の行に色をつけたい

    エクセルはVer2007です。 出勤簿を作成していて、現在下記のようになっています。     A    B  C  D  ~   J 6   1日   木  ↑ここから作業内容等 7   2日   金 36  31日 土 A6には =DATE(A1,C1,1) といれてあり、 A1やC1にある年月を記入すると自動的に日付がその月の月末まで 入力されるようになっています。 B6には =WEEKDAY(A6) とし、自動で曜日が割り振られるようになっています。 この場合で、土日にときにその行はすべて(Jまで)赤いドットの塗りつぶしにしたいのですが条件づけるにはどうすればいいのか、教えてほしいです。

  • 複数の色つきセルを一つにまとめる

    エクセルで複数の色つきセルを一つにまとめる方法について伺いたいです。 例えば、A1が赤、B1が青、A2が赤、B2が赤、A3が青、B3が青、C3が緑などのセルがあります。(これはセル内の文字に対応させて色づけさせたものです。)このときに、1行目に対応した1つのセル内に赤1/2,青1/2、2行目に対応した1つのセル内に赤1色、、1行目に対応した1つのセル内に赤1/3,青1/3,緑1/3を表示させたいと考えています。 最終的には、パワーポイントに貼り付けるため、対応するセルがかたまりのように見えればよいのですが、このようなことは可能でしょうか? よろしくお願いします。

  • 色つき行を非表示にしたい。

    お世話になっております。 エクセル(2007)で悩んでいます。 月ごとのカレンダーをつくっているのですが、 A列は日付、B列はWEEKDAY関数で曜日を入れてあります。 C列以降は備考欄にしています。 土日祝日は日付と曜日を色つきセルにして、わかりやすいようにしてるのですが、この色つきセルの行を非表示にしてしまいたいのですが、どのようなマクロが使用できるのでしょうか、ご教示ください。

  • Excel 条件付書式で土日の左・右隣セルにも色をつけたい

    エクセルで5年分のカレンダーを作りました。 「日にち」「曜日」「備考欄」という列の構成にしました。 土&日のセルに色をつけるまでは、できたのですが、土&日の隣のセル(左右)にも色付けする設定がわかりません。 2004.1        2005.1 1日  木  備考   1日  日  備考 2日  金  備考   2日  月  備考 3日  土  備考   3日  火  備考 解答よろしくお願いします。

  • Excel2003 エクセル ある行の範囲内で最小値のみのセルに色をつ

    Excel2003 エクセル ある行の範囲内で最小値のみのセルに色をつけ 条件付き書式の設定で セルの値が 次の値に等しい =MIN(A1:D1)より 書式からパターンを選択して色付けはできています。 しかし、範囲内のセルに全て未入力の場合、全てのセルにパターンが入ってしまいます。 何か良い方法を教えて頂けませんでしょうか?

  • エクセルのWEEKDAYに詳しい方

    日本語を勉強中の中国人です。エクセルのある式についてお伺いします。 A1+11-WEEKDAY(A1,2) A1というセルに年月日を入力したら、上記の式で新しいセルで次の週の木曜日の年月日という結果を得ることができます。どういう考え方でこの式を作るのしょうか。WEEKDAYに詳しい方、教えていただけませんか。 また、質問文に不自然な表現がありましたら、それも教えていただければ幸いです。よろしくお願いいたします。

  • 結合セルでの条件付き書式の方法

    エクセルで結合セルの条件付き書式の方法について教えていただけたら幸いです。 Excel2010を使用しております。 カレンダーを作成しようと、月によって曜日が自動で入力されるように設定をし、特定の曜日や祝日に網掛けをするように設定をしました。 (網掛けは条件付き書式で特定の曜日はWEEKDAYの数式、祝日はCOUNTIFの数式を使って設定しました) 添付画像ですと例えばA8とA9、B8とB9がセルの結合してあるのですが、網掛けが適用されるのが8の行だけで9の行には網掛けが適用されません。 セルの結合で空データのためそのようになっているのかとは思いますが、8の行、9の行ともに網掛けをするように設定することはできないのでしょうか? 回答よろしくお願いいたします。

専門家に質問してみよう