エクセルで予定表のようなものを作っています。A列に日にち,B列に曜日を入れます。

    A    B    C
 1  5/1   金

 2  5/2   土

 3  5/3   日


土日の文字を赤くしたいのですが、毎月毎月、土日だけ選択して文字の色を変えるのが面倒なのです。B列に土または日と入力されたら日付と曜日の文字が赤くなるようにするにはどうしたらいいのか教えてください。祝祭日までとは言いませんので。
 

このQ&Aに関連する最新のQ&A

A 回答 (9件)

=WEEKDAY(A1・・)・・のA1なんですが、前の回答では、A1からBnまで範囲を指定しておいて条件付書式で上記の式をいれましたよね。

値のところは日付や日付を表すセル又は数式ということですが、なぜA1:BnでなくてA1なんですか?

質問はそう言う意味だったのですね。 (^^;;

条件付き書式を複数のセルに同時に設定するときは、選択した複数セルの反転しているセル(連続範囲選択だと普通は左上角に来るセル)に当てはまるセルで数式を指定すると、選択された範囲にそのセルの数式がコピーされたのと同じ結果になります。 各セルごとに条件付き書式を確認するとそれぞれ該当セルに置き換えられた数式が確認できますよ。(A1以外のセルで条件付き書式を設定しようとすると、例えばA2には=weekday(A2,2)>5というように設定されているのが確認できます。
この方法ではB列は=weekday(B1・・・となりますが、もしB列以降の列にもA列の条件で書式設定する場合には
=weekday($A1,2)>5 と $ をつけるとどの列でも$Anを参照します。
先の回答ののケースではB列もA列と同じ日付データにしたのでよいのですが、もしB列が文字列で表記されていたりするのであればこの$付きの数式を使っても同じ事が可能です。

似たような例としては
例えばB1~Bnに=Anと埋める場合にも、範囲選択の後(B1が反転している状態で)
=A1をCTRL+リターンで入力すれば、Bnに=Anと一気に入力されます。 =A1と入力されたB1の数式をコピーしたのと同じになります。 

エクセルの仕様なんだろうな 、と理解しています (^^;;
    • good
    • 0
この回答へのお礼

とてもよくわかりました。ありがとうございました。しつこい質問に根気よく答えていただき感謝,感謝です。あとは,エクセル技道場にある1年分の、休日を含めたのに挑戦してみます。取り敢えず疑問が解決しましたので今回はこれで終わりたいと思います。また解らないことが出たとき、教えてください。

お礼日時:2001/05/28 18:43

こんにちは



【エクセル技道場】-条件付き書式-土日祝日に色をつける
http://www2.odn.ne.jp/excel/waza/cformat.html#SE …

 ↑の【解説】のところに置いてある calendar というファイルがこの【問題】についてのサンプルファイルです。説明とサンプルは全く同じものです。
    • good
    • 0
この回答へのお礼

ありました!すみません,全く手のかかる人で。これからじっくり時間をかけてやってみようと思っています。いつもご親切にありがとうございます。これからもよろしくおねがいします。

お礼日時:2001/05/27 22:43

WEEKDAY関数は日付に対応する曜日を1~7などの数字で


表す関数です。
=WEEKDAY(値,種類) ということになるんですが
値は日付や日付を表すセル・数式など、
種類は
 1(または省略) 日~土 1~7
 2       月~日 1~7
 3       月~日 0~6
というように、その時に都合のいい結果を引き出せばいいわけです。
今回は土日を指定しやすいように2を使いました。
=weekday(A1,3)とした場合は 土:5 日:6 ということになりますので >4と条件指定すれば同じ結果になります。 1,2,3のどれを使うかは自分が得たい値によって選べばよいわけです。

aaa:日付データを表示させる形式のひとつです。
yyyy/mm/dd が 2000/05/01 と表示されるように
aaa:火 aaaa:火曜日 ddd:Tue dddd:Tueseday
等と表示されます。
B1にあるデータは”火”という文字のデータではなく
あくまでも5/1を表す日付のデータを表示形式で曜日表示させていると言うことになります。

うまく説明しきれなくて済みません。 (^^;;

この回答への補足

ありがとうございました。とても解りやすく説明していただいたのでよくわかりました。でももうちょっと教えてください。
曜日を表す1.2.3はオッケーです。
=WEEKDAY(A1・・)・・のA1なんですが、前の回答では、A1からBnまで範囲を指定しておいて条件付書式で上記の式をいれましたよね。値のところは日付や日付を表すセル又は数式ということですが、なぜA1:BnでなくてA1なんですか?あー、emutannはなにもわかってないみたいです。すいません!

補足日時:2001/05/27 22:56
    • good
    • 0

補足拝見しました。


過去の同様な質問も参考になるかと。
(weekday関数も簡単な説明をしてあります)

http://www.okweb.ne.jp/kotaeru.php3?q=35975

条件式書式は3つまで設定できます。
土、日を別に指定することも可能です。

下の回答ではとりまとめて土日を条件指定するために
">5"と記述しましたが
土曜日は "=6"
日曜日は "=7" という意味です。

無事解決されることをお祈りします。 (^^

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=35975

この回答への補足

もうひとつ忘れていました。曜日に関してですが、A1に5/1、B1に「=A1」と入力して、ユーザー定義でaaaとすると5/1がちゃんと火曜日になるってことは?

補足日時:2001/05/27 00:24
    • good
    • 0
この回答へのお礼

何度もありがとうございます。説明よくわかりました。=6、=7の意味もわかりましたので、>5で土日、<=5で月~金で数式を入れて無事色をつけることができました。わかってみればな~んだそうだったの、って感じです。でもまだもうひとつ。=WEEKDAY(A1,2)>5の ”(A1,2)”の部分の意味がわからないのです。あと曜日を入力する代わりにaaa、とても気に入りました。「月」と入力してコピーすれば簡単ですけど,こんな方法もあるのかと。今度はjanmaさんに紹介していただいたのに挑戦です。

お礼日時:2001/05/27 00:19

条件付書式の設定をするときに「追加」」ってボタンがありますので、そこに条件2として追加すればいいですよ。


いくつまでできるかわかりませんが、いくつか設定できると思いますので、祭日なども可能ですよ。
    • good
    • 0
この回答へのお礼

ご親切にありがとうございました。今回皆さんに色々回答をいただき、条件付書式初めて使ってみました.RayKnollさんのはWEEKDAY関数なしですね。”値が”を使えばできることがわかりました。追加ボタンで試してみました。結局平日にも色をつけてしまいました!

お礼日時:2001/05/26 23:55

こんにちは



 【エクセル技道場】に置いてあるサンプルファイルは全て圧縮されており、開
くには解凍ソフトが必要です。

 解凍ソフトを持っていないという方は、"解凍レンジ"はいかがでしょうか?

解凍レンジ
http://www.vector.co.jp/soft/win95/util/se094501 …

 解凍レンジのダウンロード&インストール手順は以下です。

1.上記ページよりダウンロード
2.ダウンロードしたファイル range14.exe をクリック(ないしはダブルクリック)
→インストールのダイアログボックスが開く。
3.ここで、左下の[説明書...]というボタンをクリックして、内容をよく読んでお
く。
4.[すべての書庫ファイルに関連付ける]にチェック
5.[インストール実行]ボタンをクリック

 これで、ダウンロードしたサンプルファイルをダブルクリックすると圧縮され
たファイルが解凍処理され、開けるようになります。

参考URL:http://www.vector.co.jp/soft/win95/util/se094501 …
    • good
    • 0
この回答へのお礼

いつもすぐに回答をいただきありがとうございます。お蔭様で無事サンプルファイルを開くことができました。エクセル技道場ではシートを2枚用意するようになっていますが、サンプルは日付が並んでいるシートが1枚ですね。条件付書式が設定されているのは確認しました。エクセル技道場の説明とサンプルは別のものなんでしょうか?サンプルはどのように役立てればいいのでしょうか?

お礼日時:2001/05/26 23:44

先に回答された方々のやり方で充分だとも思うのですが、


「参考まで」に私のやり方です。
おなじく書式の条件付書式で、「値が」「土」に等しい場合、文字を赤とかにするようにしてます。
その際に条件はいくつもつけられますので、「祝」とかにも対応できるのではと思います。
なんだか素人っぽいのであんまりよくないのかな??
    • good
    • 0
この回答へのお礼

ありがとうございます。曜日を入力しておいて,条件付書式で赤を指定するのはわかりました。私にもできそうです。値を土・日両方にすることできますか?その場合
はどうするのですか?

お礼日時:2001/05/22 21:42

すでにjanmaさんがご自身のHPを紹介されていますので


参照されれば解決すると思いますが、ご参考まで。

A列に日付が入力されます。
このときB列は問題がなければ=A1という数式にしてコピーします。 そしてB列の範囲を選択してセルの書式設定で
ユーザー定義として aaa とします。これでデータとしては日付データですが表示は和曜日省略型?(月・火・・・)になります。 B列は入力する手間が省けます。

そしてA1:Bnの対象範囲を選択し、メニューの「書式」>「条件付き書式」で設定します。
設定は 条件を
「数式が」 「=weekday(A1,2)>5」 として
希望の書式(文字色など)を選択すればOKです。

weekday関数についてはEXCELの関数ヘルプをご参照下さい。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。janmaさんの回答がちょっと難しそうに見えて、Kaz003さんのはすぐに手がつけられそうだったので早速やってみようと思ったんですが、やっぱりWEEKDAY関数でつまってしまって・・・で、できなかったので。もうちょっと勉強しないといけませんね。がんばります!できたら報告したいですが、ああ、締め切ったらできないのか・・・

お礼日時:2001/05/22 21:37

こんにちは



 以下のページがご参考になるのでは?サンプルファイルもあります。

【エクセル技道場】-条件付き書式-土日祝日に色をつける
http://www2.odn.ne.jp/excel/waza/cformat.html#SE …

参考URL:http://www2.odn.ne.jp/excel/waza/cformat.html#SE …
    • good
    • 0
この回答へのお礼

すぐに回答いただいていたのに、お返事が遅くなってすみません。すぐにエクセル道場に行ってきました。祝日までできるんですね。WEEKDAY関数勉強不足です。がんばります。サンプルファイル開くアプリケーション、エクセルでいいんですよねえ。開けないんです。

お礼日時:2001/05/22 21:28

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

このQ&Aを見た人が検索しているワード

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

Q動詞一覧・目的語一覧・補語一覧みたいな英語の詞・語ごとにずらーと並んだ

動詞一覧・目的語一覧・補語一覧みたいな英語の詞・語ごとにずらーと並んだサイトってないですか?

Aベストアンサー

動詞はともかく「目的語」とは「補語」というのは文における働きなので, そんな一覧を求めることがそもそも全く無意味.

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む

Q新着順や新着順一覧を英語で書くと??

英語で新着順ってなんて書きますか?
HPに写真を載せていて
写真を新着順一覧に表示するスペースの名前を英語にすると、なんて書けばいいんでしょうか?
新着順や新着順一覧…という感じでお願いします。

Aベストアンサー

Sort by Date (日付順)というリンクが多いですね。

順番の切り替えに latest to earliest (最新から最古へ) とその逆を書いてある場合や、上向き三角▲と下向き三角▼のボタンを使っているところもあります。

到着というのをわざわざ盛り込んでいるところは少ないですが、長くても良いならば、Sort by Date arrived か Sort by Arrival Date とも書けます。

今回に写真という語も入れようとすると、Photos sorted by date (latest to earliest) のようになって見た目は冗長になってしまいます。

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む

QWindows7でプログラム一覧が英語表示される

Windows7でプログラム一覧が英語表示される

Windows7 Professionalを使っています。
最近気がついたのですが
普通ならプログラム一覧で
「アクセサリ」と表示されるはずの部分が
英語で「Accessories」と表示されるようになっていました。
メニュー自体もすべて英語で
たとえば「電卓」なら「Calculator」といった具合です。

ちなみに「ゲーム」は「Games」
「既定のプログラム」は「Default Programs」となっていますが
「スタートアップ」はそのままです。

ソフト自体に不具合はないのですが
何となく気になります。
かといって
名前を一つ一つ変更するのも面倒です。
簡単に元へ戻す方法がお分かりでしたら
よろしくお願いいたします。

Aベストアンサー

詳しくは分かりませんが、C:\Users\○○\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\AccessoriesにあるはずのDesktop.iniをうまく設定すればよいと思います。ちなみに○○はユーザー名です。

Qエクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるよ

エクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるように作成しています。
条件付書式で土日祭日の場合はC列からF列に色を表示させています。
この色付セル(土日祭日)の場合にはデータ入力が無いので自動で0を表示させ、なおかつデータ入力が出来ないようにしたいのですが、そのようなことは出来るでしょうか。エクセルは2003を使ってます。

Aベストアンサー

C2セルに以下の数式を入力します。

=IF(AND($A2<>"",WEEKDAY($A2,2)>5),0,"")

同様にC2セルに以下の入力規則を設定します。

「データ」「入力規則」で「ユーザー設定」にして数式欄に以下の式を入力します。

=WEEKDAY($A2,2)<6

最後にC2セルを右方向および下方向にオートフィルします。

Qヘンな日本語英語の一覧があるサイト

ヘンな日本語英語の一覧があるサイトなんてご存知ありませんか?
ピアース、ピーマン、ビデオデッキ、シャーペンなど、実際には使われない英語がたくさん日本で使われていたりしますが、こういうリストが載っているサイトを探しています。

ご存知の方いらっしゃいましたら教えて下さいっ!
よろしくお願いしまっす!

Aベストアンサー

洋サイトですが

参考URL:http://www.engrish.com/

QExcel 土日祝祭日の判断

よろしくお願いします。

シート上、A列に日付が並んでいます。
B列に、A列の日付が平日の場合   = 0
   A列の日付が土日祝祭日の場合 = 1
といった風にフラグを立てたいのですが、やり方を教えていただけますでしょうか?
基本は、日付マスターを持たないやり方で考えております。

A(日付)   B(土日祝祭日フラグ)
1 2007/1/1    1
2 2007/1/2    0
3 2007/1/3    0
4 2007/1/4    0
5 2007/1/5    0
6 2007/1/6    1
7 2007/1/7    1
・・・

Aベストアンサー

こんにちは。

>基本は、日付マスターを持たないやり方で考えております。

一応、すべて祝日・祭日計算は、未来のものでない限りは計算で出ます。私は、最初に、VBAで作ってから、ワークシートの関数で自分で考えて作りました。日付マスターとはいっても、たかだか10数行を書き込む手間なのに、それナシにしたいというのは、それを計算で解くのとでは、ギャップが大きすぎます。少なくとも、祭日計算で、分からない計算部分を教えてほしいなら書けますが。

以前、ここで、VBAのユーザー定義関数を書いていた人がいましたが、チェックしてみて、綿密に細かく丁寧に作っていました。私もありますが、私のものは、著作権を主張したいので、そのすべてを公開するというのは好みません。
http://oshiete1.goo.ne.jp/kotaeru.php3?qid=2631908
の#4 のNii さんという方のコードです。

それを使えば、
=OR((WEEKDAY(F1,2)>5),LEN(国民の祝日(F1,1)))*1

と出来ます。

アドインは、後々、邪魔になることがありますし、レジストリの記録が残ったりしますから、ユーザー定義関数で十分だと思います。

こんにちは。

>基本は、日付マスターを持たないやり方で考えております。

一応、すべて祝日・祭日計算は、未来のものでない限りは計算で出ます。私は、最初に、VBAで作ってから、ワークシートの関数で自分で考えて作りました。日付マスターとはいっても、たかだか10数行を書き込む手間なのに、それナシにしたいというのは、それを計算で解くのとでは、ギャップが大きすぎます。少なくとも、祭日計算で、分からない計算部分を教えてほしいなら書けますが。

以前、ここで、VBAのユーザー定義関数を書いてい...続きを読む

Q色の名前は、日本語と英語のどちらを多く使う?・・・例えば「緑」と「グリーン」

「緑」と「グリーン」、「灰色」と「グレー」・・・

色の名前を言う時、日本語と英語のどちらを多く使いますか?

例えば、
・服の色は?
・車の色は?
・携帯機器(電話・プレイヤーなど)の色は?
どちらの表現を多く使いますか?

又、その他
「このもの(種類)は、日本語(英語)で言う」
「この色は、日本語(英語)で言う」
「殆ど、日本語(英語)で言う」
といったご回答も、歓迎します!

Aベストアンサー

じゃあいきましょか。英語です。私ら。

ピンク、ローズピンク、チェリーレッド、マローピンク、チリアンパープル、コスモス、チェリーピンク、ベビーピンク、ラムプラーローズ、ラズベリー、ローズマダー、カーマイン、パーシアンローズ、プラム、ガーネット、ピアニーレッド、プリムラ、コーラル、サルビア、マゼンダ、バーミリオン、シグナルレッド、ホビーレッド、ロブスター、ケチャップ、ファイヤー、スカーレット、バーミリオンレッド、ルビー、オペラ、ブリック。ベルベット。
以上赤系統。
日本にも古来のゆかしき呼び方はありますが、この点に関しましては英語に軍配をあげます。

グレーといいましても、シルバーホワイトグレー、パールグレー、オレンジグレー、イエローグレー、ブルーグレー、ピンクグレー、フレンチグレー、ミディアムグレー、グレー、ダークグレー、カーボングレー、チャーコールグレー、…あぁしんど。
私は日本男児ですが色名は英語です。

Qマクロ初心者です。 よろしくお願いします。 A列に約20文字以上の入力がある場合、B列には5文字目か

マクロ初心者です。
よろしくお願いします。

A列に約20文字以上の入力がある場合、B列には5文字目から10文字目を、C列には15文字から18文字目までを反映されたいです。

関数ではできるのですが、マクロてのやり方を教えて頂けないでしょうか。
よろしくお願いします。
A列の入力数は不特定です。

Aベストアンサー

マクロの登録からだと、
Alt+F11でVBEditor起動。
左側のプロジェクトエクスプローラで、Sheet1を右クリック-[コードの表示]を選択。
「Sheet1(コード)」で、下記のマクロをコピペ。

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("A:A")) Is Nothing Then 'A列が変更された?
  If 20 <= Len(Target.Text) Then '20文字以上?
   ' 1つ右のセル(B列)に、対象の5文字目からの6文字を抽出
   Target.Offset(0, 1).Value = Mid(Target.Text, 5, 6)
   ' 2つ右のセル(C列)に、対象の15文字目からの4文字を抽出
   Target.Offset(0, 2).Value = Mid(Target.Text, 15, 4)
  End If
 End If
End Sub

とか。


人気Q&Aランキング

おすすめ情報