みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

数式の入っているセルに文字入力

エクセル2003を使っています。
数式(関数)の入っているセルに文字入力はできないでしょうか。

エクセルでカレンダーを作っているのですが、
ボックスカレンダーで関数で年月を入力したら
日にちが入るように関数を入れています。

1月のカレンダーで1と日付が入ったセルに
元旦と文字を入力したいのですが
できるのでしょうか?
できるとしたら どうしたらいいのでしょうか?

投稿日時 - 2011-01-13 13:40:32

QNo.6444845

すぐに回答ほしいです

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

1例を示しますので、適当に応用してください。

A1に2011、A2に1、
D1:E19に祝日リスト

1月1日元旦
1月2日振替休日
1月10日成人の日
2月11日建国記念の日
3月21日春分の日
4月29日昭和の日
5月3日憲法記念日
5月4日みどりの日
5月5日こどもの日
7月18日海の日
9月19日敬老の日
9月23日秋分の日
10月10日体育の日
11月3日文化の日
11月23日勤労感謝の日
12月23日天皇誕生日

A4=TEXT(DATE($A$1,$A$2,ROW()-3),"d")&IF(ISNA(VLOOKUP(DATE($A$1,$A$2,ROW()-3),$D$4:$E$19,2,FALSE)),"",VLOOKUP(DATE($A$1,$A$2,ROW()-3),$D$4:$E$19,2,FALSE))

投稿日時 - 2011-01-13 14:19:16

補足

祝日表示されました。
曜日も入れたいときはどうしますか?

たとえば 1つのセルに

 1(土)元旦

どのように手を加えたらできますか。

よろしくお願いします。

投稿日時 - 2011-01-20 16:53:10

お礼

いろいろありがとうございました

投稿日時 - 2011-01-14 13:12:23

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(7)

ANo.7

オリジナルになるべく手を加えないで結果が希望通りになるようにしましたが、元旦以外の祝休日を表示させたくなると、条件式が複雑になりすぎるので、ANo.2の方法が良いと思います。

A3=IF(AND($C1=1,$G3=7),"元旦",IF(OR($G3="元旦",$G3<7),"",$G3-6))
B3=IF(AND($C1=1,$G3=6),"元旦",IF(OR($G3="元旦",$G3<6),"",$G3-5))
C3=IF(AND($C1=1,$G3=5),"元旦",IF(OR($G3="元旦",$G3<5),"",$G3-4))
D3=IF(AND($C1=1,$G3=4),"元旦",IF(OR($G3="元旦",$G3<4),"",$G3-3))
E3=IF(AND($C1=1,$G3=3),"元旦",IF(OR($G3="元旦",$G3<3),"",$G3-2))
F3=IF(AND($C1=1,$G3=2),"元旦",IF($G3="元旦","",$G3-1))
G3=IF(AND($C1=1,WEEKDAY(A1&"/"&C1&"/"&1)=7),"元旦",8-WEEKDAY(A1&"/"&C1&"/"&1))
A4=IF($G3="元旦",2,$G3+1)
あとは同じです。

投稿日時 - 2011-01-14 18:17:31

お礼

いろいろありがとうございました。

投稿日時 - 2011-01-26 12:54:49

ANo.6

こんばんは!
一つの案ですが、別セルに祝日名を表示させてはどうでしょうか?

一例ですが↓の画像で説明します。
別Sheet(画像ではSheet2に祝日データをシリアル値で作成しておきます。)
そして、Sheet2のB2~B16セルを範囲指定 → 祝日 と名前定義します。
(範囲指定した後に、直接名前ボックスに 祝日 と入力してOK)

Sheet1のA1セルに西暦年・A2に月の数値を入力します。
C1セルにその月の1日のシリアル値を表示させておきます。
(これが目障りであればフォントの色を「白」等に設定しておけば見えなくなります)
C1セルは
=DATE(A1,A2,1)

A5セルに
=IF(MONTH($C$1-WEEKDAY($C$1)+COLUMN(A1)+7*(ROW(A1)-1)/2)=$A$2,$C$1-WEEKDAY($C$1)+COLUMN(A1)+7*(ROW(A1)-1)/2,"")
A6セルに
=IF(OR(A5="",COUNTIF(祝日,A5)=0),"",INDEX(Sheet2!$A$2:$A$16,MATCH(A5,祝日,0)))
という数式を入れています。
そして、A5・A6セルを範囲指定 → 条件付書式から → 数式が → 数式欄に
=A6<>""
として書式 → フォント → 「赤」を選択

A5・A6セルを範囲指定し、A6セルのフィルハンドルで土曜の列までオートフィルでコピー!
そのまま(2行を範囲指定したまま)下へ2行ずつオートフィルでコピーすると
画像のような感じになります。

以上、参考になれば良いのですが
他に良い方法があればごめんなさいね。m(__)m

投稿日時 - 2011-01-13 21:19:14

お礼

いろいろありがとうございました。
下のセルに入れることができるのですね。

投稿日時 - 2011-01-14 15:21:53

ANo.5

その関数がユーザー関数(自分でお作りになった関数)なら、ちょっと細工すればできます。関数の中で処理したらいいのです。

投稿日時 - 2011-01-13 16:10:18

補足

回答ありがとうございます。

自分で作った関数です。
私の作った式は以下のとおりです。
どう処理したらいいのでしょうか?

A1に年 C1に月
次の行に曜日を入れています。

A3の行は
A3=IF(WEEKDAY($A$1&"/"&$C$1&"/"&1)=1,1,"")
B3=IF(A3<>"",A3+1,IF(WEEKDAY($A$1&"/"&$C$1&"/"&1)=2,1,""))
C3=IF(B3<>"",B3+1,IF(WEEKDAY($A$1&"/"&$C$1&"/"&1)=3,1,""))
D3=IF(C3<>"",C3+1,IF(WEEKDAY($A$1&"/"&$C$1&"/"&1)=4,1,""))
E3=IF(D3<>"",D3+1,IF(WEEKDAY($A$1&"/"&$C$1&"/"&1)=5,1,""))
F3=IF(E3<>"",E3+1,IF(WEEKDAY($A$1&"/"&$C$1&"/"&1)=6,1,""))
G3=IF(F3<>"",F3+1,IF(WEEKDAY($A$1&"/"&$C$1&"/"&1)=7,1,""))

A4の行は
A4=G3+1
B4=A4+1
C4=B4+1
D4=C4+1
E4=D4+1
F4=E4+1
G4=F4+1

A5~G6まではA4の行と同じように+1の式です。

A7=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&G6+1))=TRUE,"",G6+1)
B7=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&A7+1))=TRUE,"",A7+1)
C7=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&B7+1))=TRUE,"",B7+1)
D7=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&C7+1))=TRUE,"",C7+1)
E7=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&D7+1))=TRUE,"",D7+1)
F7=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&E7+1))=TRUE,"",E7+1)
G7=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&F7+1))=TRUE,"",F7+1)
A8=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&G7+1))=TRUE,"",G7+1)
B8=IF(ISERR(WEEKDAY($A$1&"/"&$C$1&"/"&A8+1))=TRUE,"",A8+1)

と関数を入れ、カレンダーを作っています。
よろしくお願いします。

投稿日時 - 2011-01-14 15:40:19

お礼

ありがとうございました。

投稿日時 - 2011-01-15 10:39:20

》 1月のカレンダーで1と日付が入ったセルに
》 元旦と文字を入力したいのですが
》 できるのでしょうか?

やってみてください。そこのセルの数式が消えるだけです。
他に何か不都合が出ますか?YESならそれを具体的に教えてください。

投稿日時 - 2011-01-13 15:33:33

補足

ありがとうございました。

私の説明不足で申し訳ありませんでした。
数式の答を消さずに文字を入力したいのです。

投稿日時 - 2011-01-14 13:16:39

お礼

ありがとうございました

投稿日時 - 2011-01-20 16:13:01

ANo.3

回答2です。
補足です。
式は下へコピーしてください。

投稿日時 - 2011-01-13 14:21:23

お礼

ありがとうございました

投稿日時 - 2011-01-14 13:12:40

ANo.1

>数式(関数)の入っているセルに文字入力はできないでしょうか。
 ⇒出来ません。
  一例ですが、現状の日付セルにIF関数で1月1日を判定して文字列を表示する様に数式を追記するとか、日付セルを2セル構成として、数式セルと入力セルとしては如何でしょうか。

投稿日時 - 2011-01-13 14:03:54

お礼

ありがとうございます。

追記かセルを2つにするかですね。

投稿日時 - 2011-01-14 13:06:15

あなたにオススメの質問