解決済み

セルの中の数字を横1列に昇順に並べる方法

  • 困ってます
  • 質問No.9556757
  • 閲覧数124
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 75% (224/296)

どなたかご存知でしたら回答をよろしくお願いします。
【質問】
下図の様に、5×5セルの中に数字が1~99迄重複してランダムに入っています。
これを、昇順に横1列にしてA7から右に並べる方法が知りたいです。

〇例題
  A B C D E 
1 05 08 34 12 22
2 07 10 11 20 29
3 80 10 12 17 31
4 08 19 24 90 27
5 02 30 04 09 26

〇実行後
02 04 05 07 08 08 09 10 10 11 12 12 17 19 20 22 24 26 27 29 30 31 34 80 90

〇注意事項
 ・使用するエクセルは2010です。
 ・セルの数字は表示上、2桁で表しています。(例:1ではなく01)

以上、よろしくお願いします。

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

  • 回答No.1

ベストアンサー率 62% (436/695)

Excel(エクセル) カテゴリマスター
どうぞ~
Sub Test()
  Dim c As Range, i As Long
  For Each c In Range("A1:E5")
    i = i + 1
    Cells(7, i) = c
  Next
  Range("A7").Resize(, i).Sort Key1:=Rows(7), _
  Order1:=xlAscending, Header:=xlNo, Orientation:=xlLeftToRight
  ActiveSheet.Sort.SortFields.Clear
End Sub
お礼コメント
moguo4649

お礼率 75% (224/296)

いつもお世話になっております。
早速の回答ありがとうございます。
得たい結果になりました。
またお願いします。
投稿日時 - 2018-11-11 14:41:47

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 43% (3422/7859)

他カテゴリのカテゴリマスター
>下図の様に、5×5セルの中に数字が1~99迄重複してランダムに入っています。
「数字」とは数字の文字列ですか?
セルへ入力する値には数値と文字列があります。
数字の場合はキーボードから入力すると数値になりますが入力前にセルの表示形式を文字列に設定すると数字であっても文字列として入力されます。
値の大小を判断するときに文字列と数値が混在すると予想外の結果になりますので明確にする必要があります。

>これを、昇順に横1列にしてA7から右に並べる方法が知りたいです。
関数で処理する場合は次の数式をA7へ設定し、右へY7セルまでコピーしてください。
=TEXT(INT(SMALL(INDEX($A$1:$E$5*10000+COLUMN($A$1:$E$5)*100+ROW($A$1:$E$5),0),COLUMN(A7))/10000),"00")
A7~Y7へ文字列が昇順に代入されます。
A1~E5の値は文字列でも数値でも同じ結果になるように処理しています。
お礼コメント
moguo4649

お礼率 75% (224/296)

いつもお世話になっております。
今回の場合の数字は数値です。
今後、質問の際には気負付けます。
関数でできるのですね。
ありがとうございます。
投稿日時 - 2018-11-11 14:44:41
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ