上記のように、A~T というデーターを5セット作りたくて、それを印刷ソフトにデーターとして読み込んで印刷かけたいみたいな事案です。
CSVファイルで取り込む際、1列にしないとうまく取り込めない事が分りました。
マクロつかえばなんとかできるでしょうが、なんかもっと簡単で手っ取り早い方法ないのとググったら下の方法でできましたので忘備録として残します。
使う式はこちら
=INDEX(Sheet1!$A$1:$E$20,INT((ROW()-1)/5)+1,MOD(ROW()-1,5)+1)
作業手順
こちらが作業手順です。
全ての元データーを打ち込み
コピペで任意の数だけデーター複製
Sheet2を立ち上げて 式をA1に張り付けて、ドラッグコピー
新しいシートを追加します。
シート2の A1 セルに下の式を入力してあとはコピー
=INDEX(Sheet1!$A$1:$E$20,INT((ROW()-1)/5)+1,MOD(ROW()-1,5)+1)
1列のデーターに変換された!
このままでは式のままなので、これを値としてコピーして保存して整えて終了!
式を分解
=INDEX(Sheet1!$A$1:$E$20,INT((ROW()-1)/5)+1,MOD(ROW()-1,5)+1)
ここは、元の表のデーター範囲を指定します。
今回は、Sheet1 の A1:E20 が範囲なので上になります。
=INDEX(Sheet1!$A$1:$E$20,INT((ROW()-1)/5)+1,MOD(ROW()-1,5)+1)
赤字部分:元データー配列の列
青字部分:元データー配列の行
上記をコピーペーストすると、5個右にずれたら1改行してまた5個ずつデーターをひろいます。
なのでこの数字の5は、元データー配列の列数を指定してください。
まとめ
うまい事考える人がいますね!
めちゃくちゃスマートにデーターが作れました。