実現したいこと
Excelで作成された月別カレンダー(日曜始まり土曜で折り返し)があり、日付行の下行にメモが記されています。これを日付順のメモ一覧(縦の表)を作成するにはどんな方法があるでしょうか。
このようなカレンダー表が1枚のエクセルシートに12か月分配置されています。
列1 | 列2 | 列3 | 列4 | 列5 | 列6 | 列7 |
---|---|---|---|---|---|---|
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | |||||
メモ | メモ | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
メモ | メモ | |||||
10 | 11 | 12 | 13 | 14 | 15 | 16 |
メモ | ||||||
17 | 18 | 19 | 20 | 21 | 22 | 23 |
メモ | ||||||
24 | 25 | 26 | 27 | 28 | 29 | 30 |
メモ | ||||||
31 | ||||||
メモ |
発生している問題・分からないこと
行列入れ替えペーストでは手間もかかり、ミスもありそうですので、式を使って実現したいと思っています。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
TRANSPOSE関数やINDEX関数を使えばいいのかと思いましたが、1枚のシートに12か月分が配置されているので配列指定などが煩雑です。
補足
特になし
投稿された画像を拝見した限り、最終週のセル範囲のデザインが月ごとに異なる(結合セルがあったりなかったりする、「資源集団回収」などのテキストが記述されているセルが異なるなど)ようですが、少なくとも「セルの結合」に関しては数式によって操作することは不可能です。
そういった制御も含めての話なのであれば、基本的には「マクロ(VBA)を使用してカレンダーを自動生成する」という選択肢しかありません。
メモ書きや書式等の問題はひとまず置いといて、とりあえずそれぞれの週(行)のそれぞれの曜日(列)のセルに適切な日付が表示されればよい、ということであれば数式でも一応可能でしょう。
役所が、エクセルを版下作成ソフトのように使って作成しているため、不規則なセル結合やスペース打ち込みのインデントなどがあり、データを気持ちよく抽出できない難があります。もうすこし悩んでみます。
> 日付順のメモ一覧(縦の表)を作成
> 不規則なセル結合やスペース打ち込みのインデントなどがあり、データを気持ちよく抽出できない
最終的な目的が「必要なデータだけを抜き出して[日付]と[メモ]の 2 つの列を持つ正規形テーブルに変換すること」なのであれば、とりあえずそういうマクロを組んでしまった方がよさそうに思います。
そうですね。ただマクロのスキルは皆無ですので、もうすこし関数で試行錯誤してみます。

回答2件
あなたの回答
tips
プレビュー