• ベストアンサー

エクセルのコピーについて

いつもお世話になっています。 エクセルのコピーについて質問します。 ある一覧表の中の一定間隔(例えば9列毎にある)にある項目を 別の表に一列毎にコピーしたい場合に、簡単に出来る方法があれば教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

ん? 9列ごとにあるデータを隣り合わせて表示(コピー)したいと言うのですか 普通に9列ごとに「列を選択」してコピーした後に貼り付ければ良いと思うんですけど、 それではダメなんでしょうか Ctrlキーを押しながら列を選択すれば、隣り合っていない範囲でも選択できます 関数を使いたいなら、OFFSET関数や COLUMNS関数を使って  =OFFSET($A1,0,COLUMNS(A1)*9-1) などの数式を作ってみてはいかがでしょう この関数式では、I,R,AA…の行をコピーします "-1"の部分を変えるだけで選択する列を変えられます  例:"-2" で H,Q,Z…列 参照先が空白のセルであると "0" が返ってきますから、必要なら IF関数を使って処理をしたりしてください (めんどうでしょう?だから普通にコピーすることを冒頭に…)

mojimoji69
質問者

お礼

早速のご回答ありがとうございました。 コピー元がその都度変わりますので、OFFSET関数で解決しました。 ありがとうございました。

その他の回答 (1)

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

コピーしたい列の数にもよりますが、 それほど多くないなら、回答1の「普通に9列ごとに「列を選択」してコピー」の方法が早いと思います。 多いようなら、私も OFFSET でコピーすると思いますが、 空白セルの問題があるので、別解。 1.まず処理対象を丸ごとコピーし、「形式を指定して貼り付け」で「行列を入れ替え」にチェックを入れて貼り付ける。(ただし、1行目は空行で空けておく) 2. 適当な空いてる列に、「=MOD(ROW(),9)」という数式を入れ、その列の全ての行にコピー(これで、この列は、9行おきに同じ数字が入る 3. オートフィルタを有効にする 4. 上記の数式を入れた列の1行目オートフィルタ選択で、選択したい目的の行の数字を選ぶ 5. 9行おきに表示されるので、まとめて選択し、コピー。 6. 「形式を指定して貼り付け」で「行列を入れ替え」で貼り付ける。 以上の手順で、9列おきのデータを取ってきてのコピーができます。

mojimoji69
質問者

お礼

ご丁寧な回答ありがとうございます。 OFFSETで解決しました。 助かりました。

関連するQ&A