『自動カレンダーの作成で数式につまづいています・・・』(みったん) 自動でカレンダーが変わるようにし、その月に合わせてスケジュール表が変わるように作成をしたいと思ってますが、サイトで検索をかけてそれらしい形にしたのですが、どこを見てもスケジュール内容を一行にまとめて折り返すというような形ばかりでした。 1日に対して10行ほどのカレンダーにしたく、そのスケジュール内容を別シートから日にちからVlookup関数で反映させたいのですが、その数式につまづいております。 <カレンダー(シート1)> __A__ __B__  __C__    __D__ __E__ 1 2023  12 2023/12/1 6 2 1 (日にち)       ←A〜E結合してます 3  時間 内容  数値1    数値2 数値3 4 5 6 7 8 9 10 11 12 13 上記の様に1日ごとに10行分のスケジュールを反映できるようにしています C1の数式は=DATE(A1,B1,1)で出しております D6の数字は=WEEKDAY(C1,1)で出しております <スケジュール(シート2)> __A__  __B__  __C__  __D__ __E__ __F__ ..... 1 2 日にち 時間  内容  数値1   数値2 数値3 ..... 3   17:00 4 17:30 5 18:00 6 18:45 7 1 19:00                  11日 8 20:00 9 21:00 10 21:45 11 22:00 12 23:00 シート2(タブ名はスケジュール)に1日10行の枠を設けており、1〜10日をA〜F列に、11〜20日をG〜L列、21〜31日をM〜R列に作成しております。 ※本質問と併せてですが、このスケジュールは1列につなげていた方がよいでしょうか? シート2に入力した内容をシート1のカレンダーに1日の1〜10列の時間、内容、すうち1〜3を反映させるようにしたいのですが可能でしょうか? 教えてください。よろしくお願い致します < 使用 Excel:Microsoft365、使用 OS:Windows10 > ---- <スケジュール(シート2)>の11日の意味が分からないのですが。 (IT) 2023/11/18(土) 17:08:01 ---- IT様 スケジュール入力表が1〜10までが一列、同じ枠で11〜20日までが一列、21〜31日までが一列の3列に分けている状態です。 分かりにくくて申し訳ありません。。。 ↓こんな感じです 1   11 21 2  12 22 3  13 23 4  14 24 5  15 25 6  16 26 7  17 27 8  18 28 9  19 29 10 20 30      31 (みったん) 2023/11/18(土) 17:56:19 ---- >↓こんな感じです 全く分かりません。 スケジュール入力表の実際を提示してください。 日にちと日にちの間は10行おきということですか。 (IT) 2023/11/18(土) 20:29:11 ---- 確認です。 >自動でカレンダーが変わるようにし <カレンダー(シート1)>は分かりますけど<スケジュール(シート2)>はそうなっていないですね。 関係ないんですか。 (IT) 2023/11/18(土) 20:33:58 ---- こんばんは! こういった掲示板であなたが本当に回答を得たいと思うのならレイアウトを提示するのは必須です。 下記にあるコードを利用してここにレイアウトを提示してみてはどうですか? [[20110209184943]] 『[談]シートレイアウトの投稿どうしてますか?』(momo) (SoulMan) 2023/11/18(土) 20:41:42 ---- >そのスケジュール内容を別シートから 別シートからとは<スケジュール(シート2)>と解釈していいですね。 >Vlookup関数で反映させたいのですが C1の日にちの物だけを抽出すればいいんですね。 (IT) 2023/11/18(土) 21:11:47 ---- すみません、お返事が遅くなりました。。。 スケジュール(シート2)のカレンダーに関しても同様の数式を用いて出すようにしています   |A   |B   |C   |D   |E   |F [1] |日にち |時間  |内容  |数値1 |数値2 |数値3 [2] |12/1  |17:00 |仕事  |1   |2    |3 [3] |12/1  |17:30 |会議  |1   |2    |3 [4] |12/1  |18:00 |外回り |1   |2    |3 [5] |12/1  |18:40 |帰社  |1   |2    |3 [6] |12/1  |19:15 |会議  |1   |2    |3 [7] |12/1  |19:45 |仕事  |1   |2    |3 [8] |12/1  |20:00 |仕事  |1   |2    |3 [9] |12/1  |21:00 |会食  |1   |2    |3 [10] |12/1  |22:00 |帰宅  |1   |2    |3 [11] |12/1  |23:00 |家事  |1   |2    |3 やり方があっているのかわからないですけど・・・ こんな感じでしょうか? これが一日ごとに10行あって、10日ごとに列を変えているというようなスケジュール表にしています Vlookup関数を使ってその日にちの同じ行の物をカレンダーの方に反映させたいなという感じです (みったん) 2023/11/18(土) 22:43:05 ---- 日によって時間は変動するんですか。 変動しなければ簡単なのですが。 (IT) 2023/11/19(日) 08:01:38 ---- 1.スケジュールは1〜31日分あるのは分かりますが、   カレンダーはA2セル(A〜E結合)に入力した日だけ出すってことですね?   入力した日にちは、単なる数値(1,2,3・・)ですね? 2.当初の説明では、スケジュールの日にちは、結合セルに一つだけ入っている様に見えたのですが、   直前のレイアウトを見ると、各行に日にち(12/1)が入っていますね。   どっちが正しいのですか? (半平太) 2023/11/19(日) 10:00:26 ---- スケジュール( シート2)のセル番地の確認です。下記であってますか? |[A] |[B] |[C] |[D] |[E] |[F] |[G] |[H] |[I] |[J] |[K] |[L] |[M] |[N] |[O] |[P] |[Q] |[R] [1]|日付|時間|内容|数値1|数値2|数値3|日付 |時間|内容|数値1|数値2|数値3|日付 |時間|内容|数値1|数値2|数値3 [2]|11/1|B2 |C2 |D2 |E2 |F2 |11/11|H2 |I2 |J2 |K2 |L2 |11/21|N2 |O2 |P2 |Q2 |R2 〜〜〜 略 〜〜〜 [12]|11/2|B12|C12|D12|E12|F12|11/12|H12|I12|J12|K12|L12|11/22|N12|O12|P12|Q12|R12 〜〜〜 略 〜〜〜 |[A] |[B] |[C] |[D] |[E] |[F] |[G] |[H] |[I] |[J] |[K] |[L] |[M] |[N] |[O] |[P] |[Q] |[R] [101]|11/10|B101|C101|D101|E101|F101|11/20|H101|I101|J101|K101|L101|11/30|16:00|O101|P101|Q101|R101 1日が10行固定で、それ以上にも...それ以下にもならないって言う条件なら VLOOKUPで出来そうです。因みに...多分ですが「 FILTER関数 」でも出来そうです。 ( Microsoft365ならもっと良い関数があるかもです ) カレンダー( シート1)のA〜E結合セル( A2セル )の日付が変更されたら スケジュール(シート2)の日付けの範囲を反映( 可変 )させれば良いと言う事ですね? と結合されている( シート1のA2セル )は数値ですね? (あみな) 2023/11/19(日) 10:22:30 ---- 乱暴な話で恐縮です。 なんだか、データを二つ持つことが不適当なんじゃないかと思えてしまいます。 ひとつで済ますことはできないんですか? (xyz) 2023/11/19(日) 11:18:47 ---- みなさまコメントありがとうございます。 私の知識不足、説明不足で大変申し訳ございません あみなさんのコメントの内容の形にしたいと思ってます。 1日が10行固定です。 カレンダーの月、日付が変更されたらシート2の内容がその日の、その行の内容に反映されるというものを作りたいと思っています。 シート2の日付は結合されて一つの日付になります。 シート1の結合されている日付は=C1-(D1-1)で出しています。2日以降は=A2+1で日付を求めるような数式になってます (みったん) 2023/11/19(日) 23:08:54 ---- >カレンダーの月、日付が変更されたらシート2の内容がその日の、その行の内容に反映されるというものを作りたいと思っています。 まあ、そうですわねェ...それはわかります。 >シート1の結合されている日付は=C1-(D1-1)で出しています。2日以降は=A2+1で日付を求めるような数式になってます う〜ん^^; やってる事が理解できません。 ※結合されている日付のセルはどのように表示されますか? 下記は一番最初に提示されたレイアウトですが 仮に今日の日付けにして、結合したA2セルはどうなりますか? __A__ __B__  __C__    __D__ __E__ 1 2023  11 2023/11/20 6 2 1 (日にち)       ←A〜E結合してます 3  時間 内容  数値1    数値2 数値3 C1セルを=DATE(A1,B1,20)に変更したとする D1セルは=WEEKDAY(C1,1)でそのままとする ※日付け(検索日)を切り替えるセルはどこですか? 入力規則で数値から日付けを切り替えるのではないのですか? 検索値を作成するの意味(反映する日を明確にする) C1セルを=DATE(A1,B1,ここに数値の変更セルをリンクさせる)とかでないと 検索する基準のセルを明確にしてもらはないと意味が全くわかりません。 >シート2の日付は結合されて一つの日付になります。 何のことを言っているかさっぱりわかりません。 (あみな) 2023/11/20(月) 07:32:59 ---- ---- >>日によって時間は変動するんですか。 >>変動しなければ簡単なのですが。 再度お尋ねします。 (IT) 2023/11/20(月) 09:42:46 ---- あみな様 >日付け(検索日)を切り替えるセルはどこですか? 検索値はB1の月で変更されるようにしています。 11月から12月に変更したいときはB1を数値の12を入力して日付を変更するような形になっています。 C1セルは書いてくださっている数式通りでDATE関数で=DATE(A1,B1,1)←1日始まりで出しています A2セルのみ=C1-(D1-1)で出すような形としており、カレンダーが日曜始まりなので12月だと11月26日の26が返される数式になってます。F2セル(結合セル)のA2セル翌日からに関しては=A2+1で日にちが連続日になっていくようなカレンダーになってます。 カレンダーの段が変われば=AE2+1で数字が返ってくる数式です。 数値1〜3に関しては文字列で0%を入力することはあります。 SUM関数は数値1〜3を参照することはありません。 >シート2の日付は結合されて一つの日付になります。 A2〜A11までに12/1を記入していましたが、これらは結合セルで12/1が一つになるという事です。 ややこしくて申し訳ありません (みったん) 2023/11/20(月) 12:35:43 ---- IT様 >日によって時間は変動するんですか。変動しなければ簡単なのですが。再度お尋ねします。 大変申し訳ありません。お尋ねして頂いてたのにすっ飛ばしておりました。。。 回答としては日によって時間は変動する形です。 1日は先述させてもらった時間だとしたら、2日は1行目は21:00とかを入力することもあるイメージです (みったん) 2023/11/20(月) 12:38:43 ---- >A2セルのみ=C1-(D1-1)で出すような形としており、カレンダーが日曜始まりなので12月だと11月26日    の26が返される数式になってます。 これはわかりました。 >F2セル(結合セル)のA2セル翌日からに関しては=A2+1で日にちが連続日になっていくようなカレンダーになってます。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ このF2セルの結合の話って、今出てきた話ですよね? もしや...カレンダー(シート1)のF列から右側に万年カレンダーが あるって事ですか?...びっくりですわw A2セルの日付け(11/26日)で反映させればいいんですか? これって万年カレンダーの補助式ではないのですか? >カレンダーの段が変われば=AE2+1で数字が返ってくる数式です。 えとっ〜万年カレンダーの作りこみの話をしてもらっても意味ないんですよ。 欲しいのはどこのセルの日付けをカレンダー(シート1)に反映するかですよ... カレンダー(シート1)の2行目のA〜E結合しているんですよね? B1の月で変更して12月なら、A2セルの日付けはずっと(11/26日)ですよね? >シート2の日付は結合されて一つの日付になります。 なんで最初と違うんですか...結合されると出来るかわかりません ちょっといじってみますけど... (あみな) 2023/11/20(月) 13:49:06 ---- あ〜なら、カレンダー(シート1)の時間、内容、等を表示するのは 今日で良いってことですか? (あみな) 2023/11/20(月) 13:57:39 ---- >日付が変更されたらシート2の内容がその日の、その行の内容に反映されるというものを作りたいと思っています。 カレンダーには対応していません。必要ないです。 10行×5列を1日分の表として名前つけてそれを切り替えるようにしています。 日付はシート1もシート2もただの数値です。 C1の日付を変更すると日付に対するデータが表示されます。 シート1 |[A] |[B] |[C] |[D] |[E] [1] |2023年|11月 |21日 |(火) | [2] | | | | | [3] |時間 |内容 |数値1 |数値2|数値3 [4] |17:00 |AAA-1 | 141| 159| 200 [5] |18:00 |AAA-2 | 157| 128| 112 [6] |19:00 |AAA-3 | 172| 136| 197 [7] |20:00 |AAA-4 | 187| 145| 162 [8] |21:00 |AAA-5 | 174| 117| 179 [9] |22:00 |AAA-6 | 144| 159| 175 [10]|23:00 |AAA-7 | 115| 129| 105 [11]|0:00 |AAA-8 | 118| 170| 147 [12]|1:00 |AAA-9 | 175| 181| 134 [13]|2:00 |AAA-10| 132| 173| 148 表示形式 ユーザー定義 A1 #"年" B1 #"月" C1 #"日" E1 ;;; 数式 D1=TEXT(DATE($A$1,B1,C1),"(aaa)") E1=CHOOSE($C$1,"CA_1","CA_2","CA_3","CA_4","CA_5","CA_6","CA_7","CA_8","CA_9","CA_10","CA_11","CA_12","CA_13","CA_14","CA_15","CA_16", "CA_17","CA_18","CA_19","CA_20","CA_21","CA_23","CA_24","CA_25","CA_27","CA_28","CA_29","CA_30","CA_31") A4=INDEX(INDIRECT($E$1),ROW(B1),COLUMN(A1)) → コピー ↓ コピー VLOOKUP を使用する場合 A4=INDEX(INDIRECT($E$1),ROW(B1),1) ↓ コピー B4=VLOOKUP($A4,INDIRECT($E$1),COLUMN(B1),FALSE) → コピー ↓ コピー ※数式をコピーすると数値1〜数値3のデータが「0:00」と表示されるので表示形式を「標準」にする。 シート2 |[A] |[B] |[C] |[D] |[E] |[F] |[G] |[H] |[I] |[J] |[K] |[L] |[M] |[N] |[O] |[P] |[Q] |[R] [1] |日にち|時間 |内容 |数値1 |数値2|数値3|日にち|時間|内容|数値1 |数値2|数値3|日にち|時間 |内容 |数値1 |数値2|数値3 [2] | 1|17:00|AAA | 8| 6| 4| 11| | | | | | 21|17:00|AAA-1 | 141| 159| 200 [3] | |17:30|BBB | 2| 3| 6| | | | | | | |18:00|AAA-2 | 157| 128| 112 [4] | |18:00|CCC | 2| 2| 10| | | | | | | |19:00|AAA-3 | 172| 136| 197 [5] | |18:40|DDD | 2| 3| 7| | | | | | | |20:00|AAA-4 | 187| 145| 162 [6] | |19:15|AAA | 7| 1| 5| | | | | | | |21:00|AAA-5 | 174| 117| 179 [7] | |19:45|BBB | 10| 8| 10| | | | | | | |22:00|AAA-6 | 144| 159| 175 [8] | |20:00|CCC | 6| 7| 5| | | | | | | |23:00|AAA-7 | 115| 129| 105 [9] | |21:00|DDD | 9| 6| 6| | | | | | | |0:00 |AAA-8 | 118| 170| 147 [10]| |22:00|DDD | 9| 2| 8| | | | | | | |1:00 |AAA-9 | 175| 181| 134 [11]| |23:00|EEE | 10| 7| 4| | | | | | | |2:00 |AAA-10| 132| 173| 148 [12]| 2|8:00 |あああ| 12| 10| 17| | | | | | | | | | | | [13]| |9:00 |いいい| 13| 11| 12| | | | | | | | | | | | [14]| |10:00|ううう| 11| 19| 12| | | | | | | | | | | | [15]| |11:00|あああ| 17| 10| 12| | | | | | | | | | | | [16]| |12:00|いいい| 15| 18| 18| | | | | | | | | | | | [17]| |13:00|えええ| 17| 10| 19| | | | | | | | | | | | [18]| |14:00|えええ| 19| 19| 17| | | | | | | | | | | | [19]| |15:00|おおお| 20| 12| 19| | | | | | | | | | | | [20]| |16:00|かかか| 16| 19| 15| | | | | | | | | | | | [21]| |17:00|ききき| 19| 10| 13| | | | | | | | | | | | セル範囲 名前 参照 B2:F11 CA_1 1日用 B12:F21 CA_2 2日用 N2:R11 CA_21 21日用 を参考にして31日分名前を付ける (IT) 2023/11/23(木) 22:03:37