![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
エクセルで11日から翌月10日までの横方向のスケジュール表があります。
この表を日曜から始まるカレンダー形式にする方法を教えてください。
エクセルのA1に数字で11、B1に12、C1に13と日付が入力されています。今月は30日でT1が30、AD1が10となりますので同じ数字は入らないことになります。日付の数字だけで月の数字はありません。
A2は曜日で土、以降B2が日、C2が月・・・・の文字列
A3からは予定事項(A)が入力されており、空欄もあります
A4からは予定事項(B)が入力されており空欄はありません。
日曜から始まるカレンダー表になるように手作業で作っていますが、関数か、マクロで簡単に作る方法を教えてください。
曜日を基準にして配置すればいいのだろうと思っていますが、丸投げのようになって恐縮ですが、よろしくお願いします。
サンプルではカレンダーに罫線が入っていますが、これは後から手作業でもいいです。
![「エクセルのスケジュール表からカレンダーを」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/2/174657_552790aa27c52/M.jpg)
No.3ベストアンサー
- 回答日時:
No.2です。
たびたびごめんなさい。
投稿後思ったのですが、アップした画像を見ると各行にわざわざ「曜日」を入れる必要はないように思います。
↓の画像のように1行目(7行目)に曜日を入力しておけばその列は○曜日というのは判断できますので、
各週は3行使用するだけで良いのではないでしょうか?
↓の画像の場合の数式を載せておきます。
1行目~3行目は前回と同じです。
B8セルに
=IF(COUNTIF($2:$2,DATE($A$1,$C$1,0)-WEEKDAY(DATE($A$1,$C$1,0))+COLUMN(H1)+IF(WEEKDAY($A$2)<5,7)+7*(ROW(A3)/3-1)),DATE($A$1,$C$1,0)-WEEKDAY(DATE($A$1,$C$1,0))+COLUMN(H1)+IF(WEEKDAY($A$2)<5,7)+7*(ROW(A3)/3-1),"")
B9セルに
=IF(B8="","",INDEX($4:$4,,MATCH(B8,$2:$2,0))&"")
B10セルに
=IF(B8="","",INDEX($5:$5,,MATCH(B8,$2:$2,0))&"")
と数式を各々入れておき、B8~B10セルを範囲指定 → B10セルのフィルハンドルでH列までコピー!
そのまま(3行が範囲指定されている状態で)H10セルのフィルハンドルで下へ3行ずつコピー!
これで画像のような感じになります。
※ あくまで私的感覚ですが、
こちらの方が少しすっきりしているように思われます。m(_ _)m
![「エクセルのスケジュール表からカレンダーを」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/9/667667_5527c9787fdef/M.jpg)
tom04 様 ありがとうございました。お蔭様で解決しました。
わざわざ改良版まで教えていただき助かりました。
おっしゃるように大変見栄えが良くなりますね、気づきませんでした。
大切に使わせていただきます。
簡単で恐縮ですが、お礼申し上げます。
No.2
- 回答日時:
こんばんは!
必ず11日から始まる1ヶ月のカレンダーを作成すればよい訳ですよね?
一案です。
シリアル値で考えた方が何かと便利ですので、↓の画像のように西暦年と月の数値を入れるセルを設けておきます。
画像ではA1セルに「西暦年」・C1セルに「月」の数値をそれぞれ入力するとします。
A2セル(セルの表示形式はユーザー定義から d としておきます)に
=IF(DATE($A1,$C1,COLUMN(K1))<EDATE(DATE($A1,$C1,11),1),DATE($A1,$C1,COLUMN(K1)),"")
A3セルに
=IF(A2="","",TEXT(A2,"aaa"))
という数式を入れます。
A2・A3セルを範囲指定 → A3セルのフィルハンドルで右へ(AE列まで)コピー!
これで次の月の10日までのカレンダーが表示されます。
(4行目・5行目はご自身で予定なりを入力します)
次にB8セルに
=IF(COUNTIF($2:$2,DATE($A$1,$C$1,0)-WEEKDAY(DATE($A$1,$C$1,0))+COLUMN(H1)+IF(WEEKDAY($A$2)<5,7)+7*(ROW(A4)/4-1)),DATE($A$1,$C$1,0)-WEEKDAY(DATE($A$1,$C$1,0))+COLUMN(H1)+IF(WEEKDAY($A$2)<5,7)+7*(ROW(A4)/4-1),"")
B9セルに
=IF(B8="","",TEXT(B8,"aaa"))
B10セルに
=IF(B8="","",INDEX($4:$4,,MATCH(B8,$2:$2,0))&"")
B11セルに
=IF(B8="","",INDEX($5:$5,,MATCH(B8,$2:$2,0))&"")
という数式をそれぞれに入れます。
(この画面から各セルにコピー&ペーストの方が簡単だと思います。)
最後にB8~B11セルを範囲指定 → B11セルのフィルハンドルで右へ7列分(H列まで)コピー!
そのまま(4行が範囲指定されている状態で)下へ4行ずつコピーします。
これで画像のような感じになります。m(_ _)m
![「エクセルのスケジュール表からカレンダーを」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/e/667667_5527bf4510c79/M.jpg)
No.1
- 回答日時:
その手のカレンダー作るの面倒だったなあ。
WEEKDAY関数とかMOD関数とか使って工夫しましよ。
左上の最初のセルに前月の最終日が来るようにしておき、(当月の1日-1の計算で求められます)
その値に1を連続して加算して表にします。
WEEKDAY関数(WEEKDAY(yy/mm,1))で対象の月の1日が何曜日かを確認します。(日曜日なら1が、土曜日なら7が返ってきます)
さらにその値を7で割り余りを求めます。(MOD関数を使います)
その余りの値を左上の最初のセルに加算します。(0~6までの値なので、一番上の横一列が前月になることはありません)
これで見た目カレンダー作成完了です。
あとは、当月をどこかに入力しておき、その値を参照して左上の最初のセルを計算させればOK。
自分なら、日を並べる表の上あたりに年、月を示す数値をいれて
DATEVALUE関数で対象月の1日に相当するシリアル値を取得させますね。
また、そうやって作ったカレンダーは日付がシリアル値になっているので注意してください。
質問の例ではさらにDAY関数などを使ってシリアル値を日にちに相当する数値に直すとよいかもしれません。
計算式が長くなってしまう場合は、他にこの計算をさせる作業列や作業行を設け、
そこから演算結果の値だけを引っ張ってくるのもよいと思います。
ああ・・・前月の日付も表示されるので、
条件付き書式でセルの背景色と同じ色になるようにしておくと
見た目はきれいにできるかもしれません。
これは自分で作った場合の一例ですので、
他のかたがもっとスマートに作成するやり方を教えてくだされば
そちらを参考にしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでカレンダーを作りたい 5 2023/05/16 07:32
- Excel(エクセル) エクセルの条件付き書式について エクセルでカレンダーを作りました。縦に日付が並んでいて、横にスケジュ 3 2022/10/10 15:32
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
別シートのスケジュールリストをカレンダーに反映させたい
Excel(エクセル)
-
Excel2010 リスト型の予定表をカレンダーに反映させたい
Excel(エクセル)
-
【エクセル】リスト形式の情報をカレンダー形式へ反映する数式
Excel(エクセル)
-
-
4
エクセル、スケジュールをカレンダーに反映させたい
Excel(エクセル)
-
5
【Excel】万年カレンダーに、別シートリストの内容を反映させたいです。
Excel(エクセル)
-
6
Excel(関数)について詳しい方、教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelデータをコピペして、ペー...
-
スプレッドシート、Excelでの数...
-
エクセルの関数について教えて...
-
スプレッドシートで使う数式を...
-
Microsoft Officeの中古は信用...
-
エクセルで会社の従業員のデー...
-
Excelで50個のセルに同じ文字を...
-
エクセルの表で1年間の曜日を...
-
エクセルでの特別な文字を上に...
-
エクセルで不等号記号(≠)が上に...
-
エクセルでB列でフィルターをか...
-
エクセルでセルに標準で入力さ...
-
Excelで、項目の種類ごとにカウ...
-
【マクロ】アクティブセルにブ...
-
EXCELの質問です 119から足した...
-
【マクロ】アクティブセルの、...
-
【マクロ】アクティブセルの行...
-
エクセルの空欄をつめて、次の...
-
Excelの数式について教えてくだ...
-
非表示列の再表示に失敗
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報