• ベストアンサー

EXCEL

お世話になります。 並び替えの方法を教えて下さい。 元の表 A1:あ1 A2:い1 A3:う1 A4:あ2 A5:い2 A6:う2 このように3行ずつのパターンで文字が入っています。 これを下記のようにしたいです。 (例えばB列から) B1:あ1、C1:い1、D1:う1 B2:あ2、C2:い2、D2:う2 宜しくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 手っ取り早く、VBAでやってみました。 一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, j As Long, k As Long, str As String, tmp j = ActiveSheet.UsedRange.Columns.Count If j > 1 Then Range(Columns(2), Columns(j)).ClearContents End If For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row For k = 1 To Len(Cells(i, 1)) str = StrConv(Mid(Cells(i, 1), k, 1), vbNarrow) If str Like "[0-9]" Then tmp = tmp & str End If Next k Cells(tmp, Columns.Count).End(xlToLeft).Offset(, 1) = Cells(i, 1) tmp = "" Next i End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

DHS4600
質問者

お礼

tom04さん、ご回答ありがとうございます。 ばっちりです。 これです。 何千行もある為、困っていました。 助かります。 ありがとうございました。

その他の回答 (2)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

ワンステップでは無理かと思います。 2回に分けてA1~A3をB1~D1へ行列を入れ替えてコピーし、次にA4~A6をB2~D2へ行列を入れ替えてコピーすれば目的通りになります。

DHS4600
質問者

お礼

bunjiiさん、ご回答ありがとうございます。 関数などの下準備は必要でも良いので、手作業では厳しいのです。 (何千行もあるので) ありがとうございました。

回答No.1

A1からA6までを選択・コピーした後 B1に「形式を選択して貼り付け」小窓の右下の「行列を入れ替える」に チェックを入れてOKボタン ではダメでしょうか

DHS4600
質問者

お礼

Tasogare Taroさん、ご回答ありがとうございます。 試してみましたが、残念ながら、これでは全て横並びになりますよね。 例のように3個ずつで次の行に行きたいので・・・。 膨大な量なので、限りなく自動的に出来る方法が無いものかと。 ありがとうございました。

関連するQ&A