- ベストアンサー
エクセルで効率的に複数レコードを作成する方法
- エクセルで特定の値を追加して複数のパターンを作成する方法を紹介します。
- 手作業で数千レコードを作成するのは困難ですが、エクセルを使えば効率的に作成できます。
- 元のレコードに対して特定の値を追加し、目的のパターンを作成することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>こちらの関数が入力できません。 申し訳御座いません。 =INDEX(Sheet1!$A:$A,ROUNDUP(ROWS()/3,0))&"" は誤りで、正しくは =INDEX(Sheet1!$A:$A,ROUNDUP(ROW()/3,0))&"" でした。
その他の回答 (2)
- kagakusuki
- ベストアンサー率51% (2610/5101)
今仮に、元のレコードがSheet1に並んでいて、作成後のリスト(?)をSheet2に表示させるものとします。 まず、Sheet2のA1セルに次の様な関数を入力して下さい。 =INDEX(Sheet1!$A:$A,ROUNDUP(ROWS()/3,0))&"" 次に、Sheet2のA1セルをコピー(Sheet2のA1セルを選択してから、[Ctrl]キーを押しながら[C]キーを押す)して下さい。 次に、Sheet2のA1セルから、Sheet2のA列の中で「『Sheet1のA列において、レコードが入力されている最下段の行』の行番号の3倍の行番号」のセルまでのセル範囲をまとめて範囲選択して下さい。 例えばSheet1において9行目の所までレコードが入力されていて、それ以降の行は空欄となっている場合には、9行の3倍である27行目の所まで選択すれば良いのですから、Sheet2を開いてから、名前ボックス(Excel画面の左上の辺りにある、「fx」と記されている所の"左"隣のマス目)に「A1:A27」と入力後、[Enter]キーで確定すると良い事になります。 次に、選択範囲を変えずに、[Ctrl]キーを押しながら[V]キーを押を押して下さい。 すると、Sheet2のA1セルに入力した関数と同様の関数が、選択範囲内の全てのセルに貼り付けられるため、Sheet2の表示が、 行| A B ------------------ 1|レコードA 2|レコードA 3|レコードA 4|レコードB 5|レコードB 6|レコードB 7|レコードC 8|レコードC 9|レコードC ・ ・ ・ の様になります。 次に、Sheet2のB1~B6の範囲に、「A」、「B」、「C」、「A」、「B」、「C」と入力して下さい。 行| A B ------------------ 1|レコードA A 2|レコードA B 3|レコードA C 4|レコードB A 5|レコードB B 6|レコードB C 7|レコードC 8|レコードC 9|レコードC ・ ・ ・ 次に、Sheet2のB1~B6の範囲をまとめて範囲選択(Sheet2のA1セルにカーソルを合わせてから、マウスの左ボタンを押しっ放しにし、そのままカーソルをSheet2のA6セルの所まで移動させてからボタンを放す)して下さい。 次に、選択範囲を示す黒い太枠の右下の隅の所に黒い点が表示されていますので、その黒点にカーソルを合わせて下さい。 すると、カーソルの形状が黒い「+」の形に変わりますから、その状態でマウスの左ボタンをダブルクリックして下さい。 するとSheet2のA列において、関数等の何らかのデータが入力されている行(元データが9行まである場合には、Sheet2の27行目まで)の所まで、「A」、「B」、「C」の繰り返しが入力されます。
補足
> まず、Sheet2のA1セルに次の様な関数を入力して下さい。 > =INDEX(Sheet1!$A:$A,ROUNDUP(ROWS()/3,0))&"" こちらの関数が入力できません。
- keithin
- ベストアンサー率66% (5278/7941)
一番アタマ使わない簡単な手順: 今ある3レコードの右にA,A,Aと列記する(Aをコピー貼り付ける) 3レコードを今の3レコードの下にコピー貼り付け、右にB,B,Bと列記する 3レコードを更にその続きの下にコピー貼り付け、右にC,C,Cと列記する 全体をA列で並べ替える 現在のA列の並びを変えず保全したいときは、A列に空列を挿入し(空いてるC列でも勿論構わない)に今の並び順の連番で1,2,3…を記入しておき、上述の操作をした後に連番を使って全体を並べ替える
お礼
ありがとうございました。