• ベストアンサー

エクセルのデータの並び替え

   A   B  C 1  あ  い  う 2  え  お 3  か  き  く 4  け  こ 5 6   このようなデータが400番まであります。 これを A列にすべて並べたいのです。あ い う え お か き く け こ 縦一列に2000個。 エクセルの扱いが不案内なのでどうしたらよいかわかりません。 うまい方法を教えてください。よろしくお願いします。

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

VBAで如何でしょうか。 Worksheet名("Sheet1")は変更してください。 Sub 文字列並び() Dim wIx As Integer Dim Rng As String Dim wRow As Integer ' '文字列データをセル「E」列に展開 Rng = "B2:D401" wRow = 0 For Each c In sheets("Sheet1").Range(Rng) If c.Value <> "" Then wRow = wRow + 1 sheets("Sheet1").Cells(wRow, 5) = c.Value End If Next 'あいうえ順にソート sheets("Sheet1").Range("E1:E1001").Sort Key1:=Range("E1"), Order1:=xlAscending End Sub '(1) Alt+F11 (ツール -> マクロ -> Visual Basic Editor) '(2) 挿入 -> 標準モジュール -> 上記のモジュールを貼り付けて実行(F5を押す)する

ei60
質問者

お礼

早速の回答をありがとうございました。 VBAを使うのは久しぶりでしたが、見事にできました。 ソートは必要なかったので省きました。 丁寧に教えていただき感謝します。ありがとうございました。

その他の回答 (3)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.4

No.2 です。 すみません。データの範囲設定が間違っています。 以下のように修正してください。 Rng = "B2:D401" -> Rng = "A1:C400"

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆Sheet1     A    B     C   D   E 1   あ    い    う       1 2   え    お            4 3   か    き    く       6 4   け    こ            9 ◆Sheet2      A 1    あ 2    い 3    う 4    え 5    お 6    か 7    き 8    く 9    け 10    こ ◆作業列Sheet1のE列の式 E1に「1」と入力します E2=IF(A2="","",COUNTA(A1:C1)+E1) ★E2に式を下にコピー ◆Sheet2の式 A1=IF(ROW(A1)>COUNTA(Sheet1!A:C),"",INDEX(Sheet1!$A:$C,MATCH(ROW(A1),Sheet1!$E:$E),ROW(A1)-INDEX(Sheet1!$E:$E,MATCH(ROW(A1),Sheet1!$E:$E))+1)) ★下にコピー

ei60
質問者

お礼

早速の回答をありがとうございました。 No2さんの回答でうまくいきました。

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.1

う~~~ん?!。 補足要求したいのだけど、うまく表現出来るか自信ない。    A   B  C⇒どこまであるの?。 1  あ  い  う⇒どこまであるの?。 2  え  お 3  か  き  く 4  け  こ 5 行とか列に関係なく "あ"とか "い"とかだけでいいの?。 A列B列C列の文字は、どうするの?。 行のみ 並べ換えるの?。 だとすると、ABC・・・・・・・・・の組み合わせで、並べかえるの?。 あまりにも、漠然として回答出来ません。 あ い う え お か き く け こ 縦一列に2000個 といいますが、あ~ん までは、2000個もないけど?。

ei60
質問者

補足

説明不足でごめんなさい。 列は3列だけです。 あ い う・・・ は便宜的にデータを表わしただけで実際は単語が入っています。 A列の順番が、A1,B1,C1,A2,B2,A3、B3,C3,A4,B4,A5,B5,C5,A6,B6,A7・・・のデータ順になるようにしたいのです。 行2まででデータは5つ、 行4まででデータは10、 データの合計は1000でした。すみません。 よろしくお願いします。

関連するQ&A