仕事でエクセルを使うことがよくある。
Aのシートには、1行ずつにデータが入っている。
ところが、新たに作成したBシートには、3行を結合したセルで表を組んでいる。列によっては結合せずに1行ずつに項目を入力している。
Aシートにあるたくさんの列のデータを、Bシートに貼り付けたい。ところがセルの形が違うので一度には貼り付けができない。
そこで、そのシートのセルを結合していない列を作業列として、まず張り付ける。その隣の列に次のような関数式を入力する。3行ずつ結合したところに関数を入れればいいが、ここでは結合していない状態でしか示せない。プラグインWT-Table Reloadedを十分に使いこなせていない。
=IF(OFFSET($AU$3,(ROW()-3)/3,0)=0,"",OFFSET($AU$3,(ROW()-3)/3,0)) | 0 |
---|---|
0 | |
0 | |
=IF(OFFSET($AU$3,(ROW()-3)/3,0)=0,"",OFFSET($AU$3,(ROW()-3)/3,0)) | さくら祭 |
昭和の日 | |
0 | |
=IF(OFFSET($AU$3,(ROW()-3)/3,0)=0,"",OFFSET($AU$3,(ROW()-3)/3,0)) | 0 |
|
|
=IF(OFFSET($AU$3,(ROW()-3)/3,0)=0,"",OFFSET($AU$3,(ROW()-3)/3,0)) | 0 |
0 | |
0 | |
=IF(OFFSET($AU$3,(ROW()-3)/3,0)=0,"",OFFSET($AU$3,(ROW()-3)/3,0)) | 0 |
0 | |
美作地区総体 |
こうして、3行ごとに結合されたセルに表示される値が次のようになる。
0 | |
---|---|
0 | |
0 | |
さくら祭 | |
昭和の日 | |
0 | |
0 | |
|
|
さくら祭 | 0 |
0 | |
0 | |
昭和の日 | 0 |
0 | |
美作地区総体 |
上のテーブルは結合された状態ではないが、エクセルでは結合して行えばよい。結合されたセルに表示された値をコピーして、値の貼り付けを作成表にしていく。たくさんある列も同様にしていけば、作業が楽である。この表は別のシートから数式の値をコピーしたため、入力のないセルが「0」と表示されている。「0」の所は、「””」で何も表示しないことにしている。
VBAを作ればもっと楽なのだろうが、作成は7列の作成だったので、私はこれで、満足だった。