
No.3ベストアンサー
- 回答日時:
>初めてMicrosoft offce Excel2007を使用しようとしているのですが
このコーナーの質問も始めてかな。
エクセルの質問をするときは
エクセルには(ブック)シート、列行を表すセル番地というものがあります。そしてそのセルの値を問題にするのです。
ぜひ簡単な、模擬実例を質問に書いて、その上で必要な説明をしてください。
変わったカレンダーであればあるほど、具体的に書いてもらわないと判りにくい。
関数・VBA・操作などで作り上げますが、関数は詳しいのかな。
>左縦に
例えばA列に、とすべき
>年月日の『月』、
A2 1
A3 2
A4 3
・・・
と書くこと。
>上の横に
たとえば第1行に 曜日、とかくこと
ーーーー AーB-CーD・・
(第1行)月ー火ー水ー木ー金ー土ー日ー月ー4-7回の繰り返し?
などと説明すること。
===
この関数問題は過去に、近い多数の問題をやってないと、相当関数では難しいと思う。初心者の問題ではない。
結果
月一日の曜日日月火水木金土日月
13123456
26123
37123
431234567
5512345
61123456789
731234567
以下の月略
ーー
式
B2セルに =WEEKDAY(DATE(2008,A2,1))
下方向に12月行まで式を複写
ーー
C2に=IF(COLUMN()-2>=$B2,COLUMN()-$B2-1,"")
と入れて横方向に式を複写。
第42列程度まで複写必要(質問者が考えて)
2月以後も同じくC列の式を横方向に複写。
B列は式を複雑化させないために設けた。非表示にするとか。
===
難題点
そして月末日で日にち表示止めないといけない。
それで列数Column()-2が月末日数を越えたら空白を入れる。この式は上記の式を修正してIF関数を加える
=IF(AND(COLUMN()-2>=$B2,COLUMN()-$B2-2<DAY(DATE(2008,$A2+1,1)-1)),COLUMN()-$B2-1,"")
左の方一部
2728293031
242526272829
23242526272829
27282930
25262728293031
2930
2728293031
この回答へのお礼
お礼日時:2008/04/27 11:48
回答ありがとうございます。
お礼が遅れて申し訳ございません。
お陰様でカレンダーが完成しました!
これからExcelの事について勉強していきます!
役に立つ回答、ありがとうございました!
No.7
- 回答日時:
要するによくある月曜~日曜の一週間が一行になるカレンダーが折
り返さずにずっと伸びていくだけなので、そんなに特殊でもないで
すね。mike_gさんのレイアウトをお借りしましょう。
まずB2。私はここを
=IF(WEEKDAY(DATE($A$1,A$2,1),2)=B$1,1,"")
とします。実はB1:H1の曜日のセルには1~7の数値を入力して、書式
設定で月とか日と表示するように細工してます。これは条件書式を
使わないための工夫です。
次にC2。ここは
=IF(ISNUMBER(B2),B2+1,IF(WEEKDAY(DATE($A$1,$A2,1),2)=C$1,1,""))
という感じで処理します。左隣がもう数値になってれば、余計な判
断はしないわけです。H2までドラッグします。これで第一週目は完
了です。I2:AC2の第二週~第四週は左隣に+1するだけでオッケー。
第五週から第六週の火曜までは月末の判断が必要です。AD2は、
=IF(AC2="","",IF(MONTH(DATE($A$1,$A2,AC2+1))=$A2,AC2+1,""))
としました。昨日の翌日がまだ今月なら~という判断に、そもそも
昨日がもうすでにアレなら余計なことは考えないってのが追加され
た形です。第六週の火曜までドラッグします。
条件書式を使わないので他のソフトへペーストしても大丈夫です。
この作り方に祝日の処理を追加したものを昔ココログに書いたんだ
けど、自分のところを紹介すると怒られるので…

No.6
- 回答日時:
A B C D E F G H I … AE AF AG AH AI AJ AK
1 2008年 月 火 水 木 金 土 日 月 … 火 水 木 金 土 日 月
2 1月 1 2 3 4 5 6 7 … 29 30 31
3 2月 1 2 3 4 … 26 27 28 29
4 3月 1 2 3 … 25 26 27 28 29 30 31
5 4月 1 2 3 4 5 6 7 … 29 30
6 5月 1 2 3 4 5 … 27 28 29 30 31
7 6月 1 2 … 24 25 26 27 28 29 30
8 7月 1 2 3 4 5 6 7 … 29 30 31
9 8月 1 2 3 4 … 26 27 28 29 30 31
10 9月 1 2 3 4 5 6 7 8 … 30
11 10月 1 2 3 4 5 6 … 28 29 30 31
12 11月 1 2 3 … 25 26 27 28 29 30
13 12月 1 2 3 4 5 6 7 8 … 30 31
0.範囲 B1:AM1 の左端から順に 月、火、水、…、水 を入力
1.セル B2 を選択して、次の[条件付き書式]を設定
数式が =MONTH(B2)<>$A2
フォント色 白
2.セル B2 を[コピー]して、範囲 B2:AM13 に[貼り付け]
3.セル B2 に次式を入力して、此れを下方にズズーッとドラッグ&ペースト
=DATE($A$1,$A2,1)-WEEKDAY(DATE($A$1,$A2,1),3)
4.セル C2 に式 =B2+1 を入力して、此れを下方にズズーッとドラッグ&ペースト
5.範囲 C2:C13 を右方にズズーッとドラッグ&ペースト
No.5
- 回答日時:
思われていることと違っていましたらすみません。
またExcel2007を持っていないのでうまく動くかは保障できませんが、参考までに下記のコードをマクロに貼り付けて実行してみてください。(Excel2003では動きます)
新規Bookで作成してもらったらよいです。
Dim 縦カウント, 横カウント, 年, 月, 曜日, 日にち, 月末日 As Long
Dim 日付 As Date
Sheets("sheet1").Cells.ClearContents
縦カウント = 1
横カウント = 2
Do
Sheets("sheet1").Cells(縦カウント, 横カウント) = "日"
Sheets("sheet1").Cells(縦カウント, 横カウント + 1) = "月"
Sheets("sheet1").Cells(縦カウント, 横カウント + 2) = "火"
Sheets("sheet1").Cells(縦カウント, 横カウント + 3) = "水"
Sheets("sheet1").Cells(縦カウント, 横カウント + 4) = "木"
Sheets("sheet1").Cells(縦カウント, 横カウント + 5) = "金"
Sheets("sheet1").Cells(縦カウント, 横カウント + 6) = "土"
横カウント = 横カウント + 7
Loop Until 横カウント > 43
年 = Val(InputBox("作成する年を入力してください。yyyy"))
Sheets("sheet1").Cells(1, 1) = 年 & "年"
Sheets("sheet1").Columns("A:AQ").Select
Sheets("sheet1").Columns("A:AQ").EntireColumn.AutoFit
Sheets("sheet1").Range("A1").Select
縦カウント = 縦カウント + 1
Do
横カウント = 1
月 = 縦カウント - 1
Sheets("sheet1").Cells(縦カウント, 横カウント) = 月 & "月"
日付 = 年 & "/" & 月 & "/" & "1"
曜日 = Weekday(日付) + 1
If 月 = 1 Or 月 = 3 Or 月 = 5 Or 月 = 7 Or 月 = 8 Or 月 = 10 Or 月 = 12 Then 月末日 = 31
If 月 = 4 Or 月 = 6 Or 月 = 9 Or 月 = 11 Then 月末日 = 30
If 月 = 2 Then 月末日 = 28
If 年 Mod 4 = 0 And 月 = 2 Then 月末日 = 29
日にち = 1
Do
Sheets("sheet1").Cells(縦カウント, 曜日) = 日にち
曜日 = 曜日 + 1
日にち = 日にち + 1
Loop Until 日にち > 月末日
縦カウント = 縦カウント + 1
Loop Until 縦カウント > 13
参考までにマクロの作成手順です。(マイクロソフトのホームページ)
http://office.microsoft.com/ja-jp/excel/HP100141 …
No.4
- 回答日時:
1から作るのは大変なので、Web上にある「万年カレンダー」の作り方を参考にされては如何でしょうか?
「万年カレンダーを作ろう」
http://popurap.fool.jp/help/nikki/dekiru/karenda …
「Excel関数で万年カレンダーを作る」
http://sunrise2001.dip.jp/coo/fncCalen.html
「万年カレンダー」
http://gakushuu.boy.jp/mannen_calender.htm
No.2
- 回答日時:
No.1
- 回答日時:
A1に年
A2からA13まで縦に1から12(月)
B1から横に曜日
もしくは
A列(縦)は年
B2から縦に月
C1から横に曜日
これだと年が変わっても続けられます。
連続した文字の入力はオートフィルを使うと楽です。
http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/e …
月は1月と入力してオートフィルして下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
【マクロ】数式を入力したい。...
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
【マクロ】左のブックと右のブ...
-
空白のはずがSUBTOTAL関数でカ...
-
エクセルシートの見出しの文字...
-
【関数】3つのセルの中で最新...
-
Excelに貼ったXのURLのリンク...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
【マクロ】【画像あり】❶ブック...
-
エクセルの複雑なシフト表から...
-
Excelで4択問題を作成したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報