• ベストアンサー

エクセルで複数行のデータを1行にする方法

エクセルで複数行のデータを列挿入--切り取り--貼り付けで1行にしたいのですが、 その様なセルの並びが沢山あります。 VBAマクロなどで一度に出来る方法が有りましたらどうか教えて下さい。 データはこんな感じです。 ┌─┬─┬─┬─┬─┐ │01│04│07│10│13│ ├─┼─┼─┼─┼─┤ │02│05│08│11│14│ ├─┼─┼─┼─┼─┤ │03│06│09│12│15│ ├─┼─┼─┼─┼─┤ │16│19│22│25│28│ ├─┼─┼─┼─┼─┤ │17│20│23│26│29│ ├─┼─┼─┼─┼─┤ │18│21│24│27│30│ ├─┼─┼─┼─┼─┤ この様に並び替えたいのです。 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │01│02│03│04│05│06│07│08│09│10│11│12│13│14│15│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ │16│17│18│19│20│21│22│23│24│25│26│27│28│29│30│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ 何卒宜しくお願いいたします。

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

  • ベストアンサー
  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.1

このデータが sheet1 に A列~E列に1行目から整列しているなら 別シートを設けて、次式を、A列~O列(15列分)に =INDEX(Sheet1!$A:$E,ROW()*3+MOD(COLUMN()+2,3)-2,CHOOSE(INT((COLUMN()-1)/3)+1,1,2,3,4,5))

halspec
質問者

お礼

本当に助かりました。どうも有難う御座います。

その他の回答 (1)

noname#204879
noname#204879
回答No.2

元の表の左上隅のセル に名前 ref を付けておけば、 任意の空き地のセルに次式を入力し、此れを右方の14列に[コピー]した後、その行を下方に[コピー]すればOKかと。 =OFFSET(ref,MOD(COLUMN(A:A)-1,3)+(ROW(1:1)-1)*3,INT((COLUMN(A:A)-1)/3))

halspec
質問者

お礼

本当に助かりました。どうも有難う御座います。

関連するQ&A