• ベストアンサー

エクセルで縦一列を縦三列に並べ替えられますか?

並べ替えの作業なのでしょうか、できるかどうか判る方がいたらお願いします。 1 2 3 4 5 6 7 8 9 を 123 456 789 としたいと思っています。 ちなみにエクセル2003です。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

関数でも表示できますが、簡便に対応するなら、空白セルに「\a1」と入力し右方向に3つオートフィルします。 「\a1」と入力したセルの下のセルに「\a4」入力し右方向に3つオートフィルします。 この6つのセルを選択して下方向にデータ数分だけオートフィルドラッグします。 最後にCtrl+Hで置換ダイアログを出して検索する文字列に「\」置換後の文字列に「=」を入力して「すべて置換」します。

その他の回答 (4)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

123 456 789 でなく 147 258 369 や 1234 5678 9101112 や 14710 25811 36912 になったとしても、 数式を埋め直したりしなくても良いので、 そうしたいと思うならVBAです。 コーディングの数か所の修正だけで済みそうです。 A1から最下行まで1セルずつ処理できます。

noname#204879
noname#204879
回答No.4

添付図参照 C1: =IF(OFFSET($A$1,(ROW(A1)-1)*3+COLUMN(A1)-1,)="","",OFFSET($A$1,(ROW(A1)-1)*3+COLUMN(A1)-1,))

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

簡単な =A1 の式だけで出来る手順(参考に後述します)よりも,皆さん結局 =INDEX($A:$A,(ROW(A1)-1)*3+COLUMN(A1)) を右に計3列コピー,下にコピー のような方法に飛びつきます。 列数とか変わったときに,式を改めて自分で作成するのはとってもメンドクサイと思うんですが。 参考: C1,D1,E1に =A1 =A2 =A3 を記入 C1:E3を選んで下向けにオートフィルドラッグ C:E列を選び Ctrl+Gを押し 現れたダイアログでセル選択を押し 現れたダイアログで空白セルをマークしてOKし 飛び飛びの選択状態を壊さないように右クリックして削除を選び 上に詰めて出来上がり。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

参考までに 関数で対応するなら、以下の式を入力して右方向の3つ下方向に適当数オートフィルしてください。 =OFFSET($A$1,(ROW(A1)-1)*3+COLUMN(A1)-1,0) 参照するデータが文字列なら「&""」を追加すれば空白セルを参照した場合も「0」が表示されません。 =OFFSET($A$1,(ROW(A1)-1)*3+COLUMN(A1)-1,0)&"" 同様に数値データの場合は以下のような数式で空白表示にできます。 =IF(COUNT($A:$A)<(ROW(A1)-1)*3+COLUMN(A1),"",OFFSET($A$1,(ROW(A1)-1)*3+COLUMN(A1)-1,0))