- 締切済み
【エクセルの並び替え】末尾の数字を軸に並び替え
エクセルの並び替えについて質問させて頂きます。 末尾の数字が同じものをまとめたいと思っておりまして、エクセルの機能を利用して 末尾の数字を軸にした並び替えを行うことはできますでしょうか。 ■元のデータ 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 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
私は、あくまで同じ列の中で並べ替えを行う方法に関する御質問だと思っていて、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列に並べ変えた結果が自動的に表示されます。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
B1 =mod(a1,10) を入力し、B列が昇順になるよう並べ替え
- keithin
- ベストアンサー率66% (5278/7941)
B1に =RIGHT(A1) と記入してリストの下端までコピー貼り付けます A:B列をB列の昇順で並べ替えて完成です。 #参考 >末尾の数字を軸にした並び替えを行う そんな方法はありません。