アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの並び替えについて質問させて頂きます。

末尾の数字が同じものをまとめたいと思っておりまして、エクセルの機能を利用して
末尾の数字を軸にした並び替えを行うことはできますでしょうか。

■元のデータ
   A列
1行  263
2行  952
3行  273
4行  885
5行  567
6行  195

■やりたいこと(末尾の数字の並び替え)
   A列
1行  952
2行  263
3行  273
4行  885
5行  195
6行  567

よろしくお願いします。

A 回答 (4件)

 私は、あくまで同じ列の中で並べ替えを行う方法に関する御質問だと思っていて、ANo.1様やANo.2様の方法よりも良い方法方が考え付かなかったため、回答を差し控えていたのですが、もし、ANo.3様の御回答の様な別の列に並べ替えの結果を表示させる方法でも宜しいのでしたら、以下の様な方法は如何でしょうか。

(Excelの数値の入力限界である15桁までであれば、桁数の異なった数字が混在していても有効な方法で、1の位が等しい数字が複数ある場合には10の位が小さい順、それでも優劣が決まらない場合には、次は100位が小さい順、という具合に、1の位から百兆の位までで、下の桁数における数字が小さい順に並べ替える方法です)

 今仮に、元のデータが入力されているのがSheet1のA列であり、並べ替えた結果をSheet2のA列に表示するものとします。
 また、Sheet3のA列を作業列として使用するものとします。

 まず、Sheet3のA1セルに次の数式を入力して下さい。

=IF(AND(ISNUMBER(INDEX(Sheet1!$A:$A,ROW())),INDEX(Sheet1!$A:$A,ROW())>=0,ISERROR(1/MOD(INDEX(Sheet1!$A:$A,ROW()),1))),SUMPRODUCT(MID(REPT(0,15-LEN(INDEX(Sheet1!$A:$A,ROW())))&INDEX(Sheet1!$A:$A,ROW()),16-ROW(INDIRECT("Z1:Z15")),1)*10^(15-ROW(INDIRECT("Z1:Z15")))),"")

 次に、Sheet3のA1セルをコピーして、Sheet3のA2以下に貼り付けて下さい。
 次に、Sheet2のA1セルに次の数式を入力して下さい。

=IF(ROWS($1:1)>COUNT(Sheet2!$A:$A),"",INDEX(Sheet1!$A:$A,MATCH(SMALL(Sheet2!$A:$A,ROWS($1:1)),Sheet2!$A:$A,0)))

 次に、Sheet2のA1セルをコピーして、Sheet2のA2以下に貼り付けて下さい。

 これで、Sheet2のA列に並べ変えた結果が自動的に表示されます。
「【エクセルの並び替え】末尾の数字を軸に並」の回答画像4
    • good
    • 2

初心者向け


添付図参照
B1: =RIGHT(A1,1)+ROW()/1000
C1: =SMALL(B:B,ROW())
D1: =MATCH(C1,B:B,0)
E1: =INDEX(A:A,D:D)
「【エクセルの並び替え】末尾の数字を軸に並」の回答画像3
    • good
    • 0

B1 =mod(a1,10)  を入力し、B列が昇順になるよう並べ替え

    • good
    • 0

B1に


=RIGHT(A1)
と記入してリストの下端までコピー貼り付けます

A:B列をB列の昇順で並べ替えて完成です。




#参考
>末尾の数字を軸にした並び替えを行う

そんな方法はありません。
    • good
    • 1

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