gooID利用規約 改定のお知らせ

sheet1のA4~G35までに
土日祝日を塗りつぶしをしたいのですが、関数を教えてください。
べつのsheetには「祭日」という名前で作成してあります
(A1~A50までは2018/1/1から)
(B1~B50までは祝祭日名)
が作成してあります。
どうかよろしくお願いします。

「エクセルの条件付き書式設定」の質問画像

A 回答 (4件)

No.2です。



>セルA2は西暦で入力して、ユーザー定義で和暦の「年数」だけ表示しています。
>セルB2は同じく、ユーザー定義で「月」だけ表示しています。
>この方法で月が変わった時はセルA2に○/○と入力していました。

最後のA2セルの 「○/○」とは仮に2018年1月であれば
2018/1
と入力している!というコトなのでしょうか?

となるとA4セルの数式を
=IF(MONTH(DATE(YEAR(A$2),B$2,ROW(A1)))=B$2,DATE(YEAR(A$2),B$2,ROW(A1)),"")

としてみてください。
B4・C4セルの数式は前回のままで大丈夫のはずです。

これでC列に祝日名が表示されるはずなので、条件付き書式は曜日列(B列)とC列だけで対応出来ます。
(B列が日~土までの文字列なので・・・)

日・祝日の条件付き書式の数式を
=OR($B4="日",$C4<>"")

土曜の条件付き書式の数式を
=$B4="土"

としてみてください。

結局C列の祝日名表示のためだけにA列シリアル値が必要になります。

※ A2セルをどのように入力しているか?によってB2セルは不要になる場合があります。
仮に
2018/5 
のように入力し、2018年5月分のカレンダーにしたい場合は
単純にA2セルプラス1ずつにしていけばシリアル値がそのまま表示できます。
もちろん月末のエラー処理は必要になりますが・・・m(_ _)m
    • good
    • 0
この回答へのお礼

「できました~!」
ありがとうございました。
これで、毎月祝祭日や土日をカレンダーを見ながら
作成しなくてもすみます。
大変助かりました
こういう事が簡単にできる人って、尊敬します。
又、教えていただく事があるかもしれませんが
その時は、よろしくお願いします。

お礼日時:2017/12/19 20:56

続けてお邪魔します。



投稿後一つ気になったことが・・・
>セルB2は同じく、ユーザー定義で「月」だけ表示しています。

とはどんな形で入力しているのでしょうか?
今までの回答はあくまでB2セルはシリアル値ではなく
単に1~12の数値だけが入るという前提の数式になります。m(_ _)m
    • good
    • 0

こんばんは!



シリアル値で扱った方が簡単なので・・・
一例です。
↓の画像のSheet1のA2セルの表示形式はユーザー定義から
平成0年
とし、単に「29」のように、2018年の場合は「30」の和暦年の数値のみ入力します。
(平成もあとわずかなので、本来であれば西暦の方が良いとは思うのですが、)

B2セルの表示形式をユーザー定義から
0月
とし、こちらも表示したい月の数値のみ入力!

A4セル(セルの表示形式はユーザー定義から d日 としておく)に
=IF(MONTH(DATE(A$2+1988,B$2,ROW(A1)))=B$2,DATE(A$2+1988,B$2,ROW(A1)),"")

B4セルは
=TEXT(A4,"aaa")

C4セルは
=IFERROR(VLOOKUP(A4,祭日!A:B,2,0),"")

とし、A4~C4セルを範囲指定 → C4セルのフィルハンドルで31日分下へコピー!

そして質問の条件付き書式の設定です。
日・祝日は「赤」にし、土曜は色を変えています。
A4~G列最終行までを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=OR(WEEKDAY($A4)=1,$C4<>"")
という数式を入れ → 書式 → 塗りつぶしから「赤」を選択しOK!

同様に・・・中略・・・ → 数式欄に
=WEEKDAY($A4)=7
とし → 書式 → 塗りつぶしから「青」(字が見えにくくなるので、水色にしています)

これで画像のような感じになります。

※ 条件付き書式の優先順位は画像の場合「土曜日」の方が上側になっているので
土曜が祝日でも「青」になります。
祝日優先にしたい場合は「条件付き書式のルールの管理」画面で
「赤」色の条件付き書式を上側に移動させれば可能です。m(_ _)m
「エクセルの条件付き書式設定」の回答画像2
    • good
    • 0
この回答へのお礼

うーん・・・

すみません。土日だけはできたのですが、祭日の表示が上手くいきませんでした。
セルA2は西暦で入力して、ユーザー定義で和暦の「年数」だけ表示しています。

セルB2は同じく、ユーザー定義で「月」だけ表示しています。
この方法で月が変わった時はセルA2に○/○と入力していました。
(これを変更しないで、条件書式の関数を入力出来ないでしょうか?
すみません。

お礼日時:2017/12/18 20:26

条件付き書式を使って、土・日・祝日のセルに塗りつぶし色を設定できます。


WEEKDAY関数またはNETWORKDAYS関数を使います。

http://office-qa.com/Excel/ex140.htm
    • good
    • 0
この回答へのお礼

うーん・・・

ごめんなさい。
祭日の列には祭日名も入れたいのですが
関数がよく分からなかったです。
無知ですみません。

お礼日時:2017/12/18 17:48

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

このQ&Aと関連する良く見られている質問

Qエクセル ある条件でセルの塗りつぶし。

エクセルを勉強中の初心者です。
あるセルに数値がある場合に、隣の空白セルを特定の色で塗りつぶしたい。

例えば黄色に塗りつぶした空白セルをコピーして他のセルに貼り付けると、貼り付けたセルは黄色になります。

やりたいことは、B2に数値がある場合にC2を塗りつぶしたいので、次のようにやってみました。

予め空白のE1を黄色にしておく。
C2に以下の式を入れましたが、黄色のE1を貼り付けることにはなりませんでした。
=IF(B2="","",E1)

関数式はあくまでも数値を扱うもので、根本的に間違っていたようです。

ある条件であるセルを塗りつぶすにはどうすればよろしいでしょうか?
よろしくお願いします。

Aベストアンサー

こんばんは!

数式によって「書式」は表示できませんので、
今回の質問の場合には「条件付き書式」を使います。

お使いのExcelのバージョンが判りませんが・・・

Excel2007以降の場合は
C2セルを選択 → ホーム → 条件付き書式 → 新しいルール → 「数式を使用して・・・」を選択 → 数式欄に
=B2<>""
という数式を入れ → 書式 → 「塗りつぶし」 → 好みの色(黄色)を選択しOK

Excel2003以前の場合
C2セルを選択 → メニュー → 書式 → 条件付き書式 → 「数式が」を選択 → 数式欄に
=B2<>""
とし → 書式 → パターン → 好みの色を選択しOK

これで大丈夫だと思います。m(_ _)m

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル 別シートの書式(塗りつぶし)を条件付き書式の塗りつぶしに自動的に反映させたい

エクセルで(2010)予約表を作っています。

データ用のシート(Sheet1)に名前を入力し、別シート(Sheet2)に「データの入力規則」を使ってプルダウンリストで時間別(1時間ごと)の予約表を作りました
Sheet1のデータに名前ごとに色分けしてセルを塗りつぶしています。
今の段階ではSheet2で同じく色分けをしようとすると、条件付き書式で書式(塗りつぶし)をいちいち入れなおさなければできません。
始めは、人数も少なかったので既定の色で間に合ったのですが、人数が増えると色も微妙に変えなければならず、その色をいちいち探して入れなおすのが面倒になってきました。
何か手数を減らして、効率的に塗りつぶしを反映する方法はありませんか?
マクロを使う方法しかないのでしょうか?
マクロもよくわかっていないので、いつも教えて頂いたマクロをコピペしているようなレベルです。

なのとぞご教示いただけますようよろしくお願い致します。

Aベストアンサー

>フォントの色や、太字などの設定のコードがあれば・・・

前回のSheet2の表はフォント色と塗りつぶしの色を両方をA列だけにしてみてはどうでしょうか?

そして、条件付き書式が設定してある場合は条件付き書式の方が優先されますので、
条件付き書式は解除しておいてください。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lastRow As Long, lastCol As Long
Dim c As Range, myRng As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
lastRow = Cells(Rows.Count, "C").End(xlUp).Row
lastCol = Cells(3, Columns.Count).End(xlToLeft).Column
Set myRng = Range(Cells(4, "G"), Cells(lastRow, lastCol))
If Intersect(Target, myRng) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
Set c = wS.Range("A:A").Find(what:=.Value, LookIn:=xlValues, lookat:=xlWhole)
.Interior.Color = c.Interior.Color
.Font.Color = c.Font.Color
If c.Font.Bold = True Then '//★//
.Font.Bold = True
End If '//★//
Else
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
.Font.Bold = False
End If
End With
End Sub

※ フォントスタイルは「太字」か「標準」のどちらかだという前提です。
たとえば「斜体」などある場合は、一つ一つ指定するより
いっそのことSheet2のA列該当セルをそのままコピー&ペーストする方が手っ取り早いかもしれません。
ただし、この場合無限ループに陥りますので気を付ける必要があります。

※ 「★」の行だけに手を加えています。m(_ _)m

>フォントの色や、太字などの設定のコードがあれば・・・

前回のSheet2の表はフォント色と塗りつぶしの色を両方をA列だけにしてみてはどうでしょうか?

そして、条件付き書式が設定してある場合は条件付き書式の方が優先されますので、
条件付き書式は解除しておいてください。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lastRow As Long, lastCol As Long
Dim c As Range, myRng As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
lastRow = Cells(Rows.Count, "C").End(xlUp).Row
l...続きを読む

Qエクセル:特定のセルに入力するとセルが塗りつぶされるには?

エクセルで、ある特定のセルに日付を入力した時に、そのセルを含む行に色をつけたい場合はどのような設定をしたらいいのでしょうか?

例えば、C1に日付を入力するとA1~F1までのセルが全て黄色になるといった感じです。

Aベストアンサー

次の方法は如何でしょうか。
(1)A1:F1を選択
(2)書式→条件付き書式→数式がを選択、数式欄に=$C1<>""を入力→書式→パターンタブで黄色を選択→OK
因みに日付の条件が不明でしたので安直ですがC1に何か入力されていれば色付けできるようにしています。

QExcelによる土日と祝祭日の算出関数

役所でExcelを人並みに使っていると思いますが,最近になって色々と関数を駆使しようと思いついたのが,Excelによる土日と祝祭日の算出関数です。色々と試みてみたのですが,全く×です。セルに対してどのようにすればいいのかヨロシクご教授ください。

Aベストアンサー

>Excelによる土日と祝祭日の算出関数です
質問の意味が2つに取れる(算出?)
(1)ある日を考えて土か日か祝日か判定する場合
   =WEEKDAY("2004/12/15")か=WEEKDAY(A1)のように
  聞いて
   土  7
   日  1
  かどうかで判る。コードの表現種類に他2種類ありま  す。
  祝日は各国固有で日本は年により移動するので、関数
  がなく、関数では判定できない。ユーザー関数を作る
  よりほかない。万年向けのものは難しそう。
(2)ある期間を考えて、土日祝日を除いて、それ以外が
  何日あるかを算出する関数
   NETWORKDAYS関数があります。
   NET(正味の)のWORKDAYの意味でNET   WORKのDAYではない。最後のSを落とさない   ように。
  ただし祝祭日は関数内に手入力で指定する。
  例えば=NETWORKDAYS("2004/12/15","2004/12/25",{"2004/12/23"})で7と出ました。
土日と祝祭日と重なっていてもOK。
「アドイン」関数なので、エラーが出る場合は組みこむ必要があります。
あとWORKDAY、DATEDIFを使えれば、日付関係はほぼ全てでしょう。

  
  

>Excelによる土日と祝祭日の算出関数です
質問の意味が2つに取れる(算出?)
(1)ある日を考えて土か日か祝日か判定する場合
   =WEEKDAY("2004/12/15")か=WEEKDAY(A1)のように
  聞いて
   土  7
   日  1
  かどうかで判る。コードの表現種類に他2種類ありま  す。
  祝日は各国固有で日本は年により移動するので、関数
  がなく、関数では判定できない。ユーザー関数を作る
  よりほかない。万年向けのものは難しそう。
(2)ある期間を考えて、土日祝日を除いて...続きを読む

QエクセルのIF文で「NOT=」はどう書くのですか?また、>=や<=の場合の書き方を教えてください

タイトルのとおりです

IF文で下記の3つの書き方がわかりません。

NOT=は、<>?
0以外の場合は、A1<>0?

A1が0と同じか、大きい場合は
A1>=0?

なんだか、うまくいきません^^;

よろしくお願いいたします

Aベストアンサー

A1が・・・・・
A1 <> 0  0以外
A1 >= 0  0以上(0を含む)
A1 > 0   0より大きい(0は含まない)
A1 <= 0  0以下(0を含む)
A1 < 0  0未満
A1 = 0  0

=<,=> などの書き方は使えません。

Qエクセルで〇の数を数えたい

エクセルで〇の数を数えたい。関数式はどうなりますか。
c5~c45の○を挿入したセルの数をc50にだしたいのですが。
ひさしぶりにエクセルやったので、忘れてしまいました。

Aベストアンサー

#1です。
おかしいですねえ。

まさかとは思いますが、
・「○」のつもりが、英語の O になってるとか、数字の0とか、漢数字の〇になってるとか
・○の前後にスペースが入っていないか

このあたりを見てみましょう。

Qエクセルで数字の頭に0をつける方法

こんにちは。いつもいろいろ教えていただいて助かっています・・m(__)m

今回も初心者の質問で申し訳ございません・・。
エクセルで、入力済みのすべての数字の頭に後から「0」を付けたいのですが、その方法がわかりません・・。

例)
入力済み数字が「120」とすれば「0120」というように全ての数字の頭に「0」をつけたいのです。

「ユーザー定義」なるものを使うというのはなんとなく判るのですが・・・。

お願いいたします。m(__)m

Aベストアンサー

セルの持っている本当の値をどうされるかによって方法が違ってくるように思います。

セルの持っている値を4桁にされるのでしたら、
入力の際にセルの書式を文字列にされて0から始められるか、
頭にシングルクォーテーションをつけて0から入力されるか、
またはA1の数値の頭に0を付けられるのでしたら
B1に ="0"&A1 と入力されるかです。

これらはセルの持っている値のタイプはどれも「文字列」です。

また、セルの持っている値は3桁のままで表示だけ4桁にされるのでしたら
ユーザー定義で0000と桁を指定してください。
これはセルの持っている値のタイプは「数値」です。

Qエクセルで数式の結果が反映されない(自動計算になっているのに)

すいません、教えてください。

エクセル(XP)で数式が自動計算されなくなって
しまいました。

  ※ツールのオプションはちゃんと自動計算に
   なっているのに全く反映されません。

今まで全く問題なく作業できていたので
原因が分からず困っています。

数式等のエラーだとは考えにくいです。
と言うのも数式のあるセルをダブルクリックして
選択し、そのままEnterキーを押すと計算結果が
反映されます。
ただ、今まで全て自動計算されていたのが
全く動かなくなってしまったんです。

同じようなトラブルを経験された方、又は
詳しい方、どうかよろしくお願いします。

Aベストアンサー

原因は分からずじまいになってしまいましたが
同じことがありました。

「Officeの救急隊」を試してみましょう。
ボタン一発で全ての設定が元に戻ります。
http://www.vector.co.jp/soft/win95/util/se247118.html
(ツールバーなども初期状態に戻ります)

私の場合はコレで直ってしまいました^^

参考URL:http://www.vector.co.jp/soft/win95/util/se247118.html

Qエクセル 特定の文字を入れると他のセルの色が変わる

例えばセルA1に[りんご]と入力したらB2からB5までの文字の色が赤に変わる・・・などということは、関数や書式の設定なので出来るのでしょうか?
おわかりの方教えてくださーい!

Aベストアンサー

B2からB5のセルを選択し
書式メニューの条件付書式設定を選択し
数式が
=$A$1="りんご"
と入力し、書式で色を赤に変更してください。


人気Q&Aランキング

おすすめ情報