電子書籍の厳選無料作品が豊富!

セルの中で、カンマ区切りで英数字が並んでいるのですが、その英数字を昇順で並べ替えしたいのですが、1つのセルの中で並べ替えはできるのでしょうか?
例えば セル内に(A3,A5,A6,A2)と入力されていた場合(A2,A3,A5,A6)にしたいのですが・・・
カンマ区切りのように、列が増えると困るのです、セル内で出来る方法があれば教えてください。

A 回答 (2件)

>セル内で出来る方法があれば教えてください


 ⇒セル内で並び替える事はマクロ(VBA)組み込みでしかないと思います。

マクロ例です。
A列にカンマ区切りデータとしています。
データシートタブ上で右クリック→コードの表示→以下のコードを貼り付け→F5キー押下

Sub sample()
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
wk = Split(Cells(i, "A"), ",")
For j = 0 To UBound(wk)
For k = UBound(wk) To j Step -1
If wk(j) > wk(k) Then
swap = wk(j)
wk(j) = wk(k)
wk(k) = swap
End If
Next k
Cells(i, "A") = Join(wk, ",")
Next j
Next i
End Sub
    • good
    • 0
この回答へのお礼

なるほど~~
早速トライしてみます。
ありがとうございました。

お礼日時:2011/06/20 20:26

セルを編集すればOK。


難しく考える必要なし。

たくさんあって編集では追いつかないとか言うのでしたら、
一度分解して並べ替えてから結合ですね。

他のシートに 「区切り位置」 機能で列方向に分解して、並べ替えて、結合した物をコピーして貼り付け直せば
オリジナルのシートに列が増えることはありません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速試してみます、助かりました。

お礼日時:2011/06/20 20:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!