アプリ版:「スタンプのみでお礼する」機能のリリースについて

 エクセルにてカレンダーを作成しておりますが、手入力ではたいへんですので、たとえば、1月と入力すると通常のカレンダーの配置で日付を入力させたいのですが、やりかたがわかりません。
 ご存知の方はよろしければ、ご指導いただけるとうれしいです。

A 回答 (11件中1~10件)

「通常のカレンダーの配置」って、具体的にどんな配置なんですか?

この回答への補足

すいません、説明不足でした。上に日 月 火 水 木 金 土と曜日が書かれていてその下に日付が記入されているものです。日付の隣には3交代勤務をしておりますので、VLOOKUP関数を利用して直勤務を参照しておりますので、日付と日付は隣同士にはなっていません。フィルハンドルも使えない状態ですので手で打ちこんでいます。
何かいい手がございましたらご指導いただけると嬉しいです。

補足日時:2006/12/11 02:14
    • good
    • 0
    • good
    • 0
この回答へのお礼

 こんなやり方があったのですね。すごい参考になりましたー^^ありがとうございます^^

お礼日時:2006/12/11 22:48

◆カレンダーを作成されるなら、一度下のURLを参考にしてください



参考URL:http://www.h3.dion.ne.jp/~sakatsu/
    • good
    • 0
この回答へのお礼

 こういったところもあるのですね。参考にさせていただきます^-^ありがとうございました。

お礼日時:2006/12/11 22:50

例えばB1に年、C1に月の数字を入れます。


A5に
=DATE($B$1,$C$1,(ROW()-5)*7)-WEEKDAY(DATE($B$1,$C$1,(ROW()-5)*7)-1)+COLUMN()-1
と入れて、5行(A9まで)縦方向に式を複写します。(5週分)
A5:A9の式を横方向に式を複写します。(7日分)
書式ー条件付き書式ー数式がー式を
=MONTH(A5)<>$C$1
書式を文字のフォントの色を白に設定します(前月、次月が見えなくなります。または違う色や、文字を小さくして残すのも、良いかも。)
書式ーセルー表示形式で、「ユーザー定義」の「d」にして、日だけ表示させます。
200611

2930311234
567891011
12131415161718
19202122232425
262728293012

1式+2複写でできて、まず一番簡単なやり方でしょう。
    • good
    • 0
この回答へのお礼

 分かりやすく、やってみたらできました。ありがとうございました^^

お礼日時:2006/12/12 10:05

「3交代勤務」等の特殊なものを含まない「通常のカレンダーの配置」のみ。



1.セル A1 に 2006/12/1 と入力して m"月" と書式設定
2.セル A3 に次式を入力して d と書式設定
  =DATE(YEAR($A$1),MONTH($A$1),DAY($A$1))-WEEKDAY(DATE(YEAR($A$1),MONTH($A$1),DAY($A$1)))+1+7*((ROW(A2)-ROW($A$2)+1)-1)+(COLUMN(A2)-COLUMN($A$2))
3.セル A3 を選択して、条件付き書式で次のように設定
  数式が    =MONTH(A3)<>MONTH($A$1)
  フォント色  白
3.セル A3 を範囲 A3:G8 に複写

  A   B   C   D   E   F   G
1 12月
2 日  月  火  水  木  金  土
3                 1   2
4  3   4   5   6   7   8   9
5 10  11  12  13  14  15  16
6 17  18  19  20  21  22  23
7 24  25  26  27  28  29  30
8 31

この回答への補足

たいへんわかりやすく、作成することができました^^ありがとうございます。ついでなのですが、A1のセルが空欄の場合は日付にエラー表示がでると思うのですが、if関数を使ってA1が空欄の場合は空欄にしたいのですが、どのように書いたらいいのか教えていただけませんか?

補足日時:2006/12/11 11:01
    • good
    • 0

[ANo.5この回答への補足]に対する回答、



》 if関数を使って…

なぜ「if関数」に固執するのですか?

ステップ3を次のようにすればOKかと。
3.セル A3 を選択して、条件付き書式で次のように設定
  条件1: 数式が =MONTH(A3)<>MONTH($A$1) フォント色 白
  条件2: 数式が =$A$1=""         フォント色 白
    • good
    • 0
この回答へのお礼

 なるほどー条件付書式はこんな使い方もあるのですね^^すごい勉強になりました。目的としたものを作ることができました。ありがとうございました^^

お礼日時:2006/12/12 10:08

ちょっと趣旨からは外れるかも知れないのですが


基本当年当月表示で相対的に一ヶ月後とか1ヶ月先とかでも構わないでしょうか?

こういうものを作ってみました

以下の「書式設定→」と書かれているところは
セルを右クリックして現れるメニュー内より「セルの書式設定」を選択し
「セルの書式設定」ウインドウを表示させて
「表示形式」タブ内、左方の「分類」一覧より「ユーザー定義」を選択する
同タブ内、右方にある「種類」下方の入力欄に「→」以降の文字を入れることにより設定を行ってください

ではいきます
A1に
 =EOMONTH(TODAY(),B1-1)+1
と入力し
書式設定→[$-411]ggge"年"

A2に
 =EOMONTH(A1,0)
と入力し
書式設定→""

B1に
書式設定→""#"ヶ月後";#"ヶ月前";""

B2に
 =EOMONTH(A1,-1)+1
と入力し
書式設定→m"月"

C5をクリックしデータプルダウンメニューから入力規則
開いた「データの入力規則」ウインドー内の設定タブ中程の「入力値の種類」下方のプルダウンメニューより「リスト」を選択
選択することにより現れる「元の値」の下方の入力欄に
「月,火,水,木,金,土,日, 」と入力(注、「」は省く、最後は空白を入力)
最下方の「OK」ボタンを押し確定させる

D5に
 =LOOKUP(MATCH(C5,{0,"","月","火","水","木","金","土","日"},0),{1,2,3,4,5,6,7,8,9},{"","","火","水","木","金","土","日","月"})
と入力し

D5をE5:I5にコピーする

B6に
 =IF(ISNUMBER(I4),I4,"")
と入力し
書式設定→""

C6に
 =IF(B6="",IF(WEEKDAY($B$2)=MAX(COUNTIF(C5,{"日","月","火","水","木","金","土"})*{1,2,3,4,5,6,7}),1,""),IF(B6<DAY($A$2),B6+1,""))
と入力し

C6をD6:I6にコピーする

B6:I6をB7:I16にコピーする

以上です


使い方ですが
C5のセルをクリックするとセルの右に「▼」が現れますので
それを更にクリックします
するとプルダウンメニューが現れますので
その中よりカレンダーとして表示させたい先頭の曜日をお選びください

選ぶとサッ とカレンダーが1行置きに現れると思います

基本は当月表示で
月が変わると自動的にカレンダー表示も変わります

で、
B1のセルに何か数字を入れると…

例えば
1と入れると1ヶ月後のカレンダーが
-1と入れると1ヶ月前のカレンダーが表示されます

数字は正の整数か負の整数なら何でも構いません

カレンダーの奇数行には式が入っていますが
「31以下の正の整数」以外なら何に書き換えても支障ありませんのでご自由にメモ欄としてお使いくさい

如何でしょうか?
こんな感じでよかったでしょうか?
    • good
    • 0

   A   B   C   D   E   F   G


1  2006  9
2  日  月  火  水  木  金  土
3                 1   2   3
4   4   5   6   7    8   9   10
5  11  12  13  14  15  16  17
6  18  19  20  21  22  23  24
7  25  26  27  28  29  30

◆A1に「西暦年」、B1に「月」を入力します
A3の式
A3=IF(MONTH(DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1),2)+7*(ROW(A1)-1)+COLUMN(A1))=$B$1,DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1),2)+7*(ROW(A1)-1)+COLUMN(A1),"")
★右と下にコピー
    • good
    • 0
この回答へのお礼

なるほど、こんなやり方もあるのですね。作成することができました。ありがとうございます^^

お礼日時:2006/12/12 23:01

失礼しました


3交代勤務表でしたか…

明日で良ければ修正版をお作り致しますのでお待ち頂ければ幸いです
    • good
    • 0

P.S.


序でですので
今やられている「vlookup」の元表のサンプルもお示しくだされば、
一緒に組み込まさせて頂きますが
如何致しましょう?

この回答への補足

 ありがとうございます。3交代勤務は「A B C D直」の4直に分かれており、3日いくと1日休みになっています。
A1に日付 B1に曜日 C1にA D1にB E1にC F1にD
A2から2007/1/1のように日付をいれてあります。
B2に=CHOOSE(WEEKDAY(A2,1),"日","月","火","水","木","金","土")
で曜日を出しております。
C2に3 D2に1 E2に公 F2に2
C3に3 D3に公 E3に1 F3に2
C4に公 D4に3 E4に1 F4に2
C5に2 D5に3 E5に1 F5に公
このように333公222公111公の繰り返しになっています。
たいへん恐縮ですが、よろしくおねがいいたします。

補足日時:2006/12/12 10:23
    • good
    • 0

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