• 締切済み

【エクセルの並び替え】末尾の数字を軸に並び替え

エクセルの並び替えについて質問させて頂きます。 末尾の数字が同じものをまとめたいと思っておりまして、エクセルの機能を利用して 末尾の数字を軸にした並び替えを行うことはできますでしょうか。 ■元のデータ    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 よろしくお願いします。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.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列に並べ変えた結果が自動的に表示されます。

noname#204879
noname#204879
回答No.3

初心者向け 添付図参照 B1: =RIGHT(A1,1)+ROW()/1000 C1: =SMALL(B:B,ROW()) D1: =MATCH(C1,B:B,0) E1: =INDEX(A:A,D:D)

回答No.2

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

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

B1に =RIGHT(A1) と記入してリストの下端までコピー貼り付けます A:B列をB列の昇順で並べ替えて完成です。 #参考 >末尾の数字を軸にした並び替えを行う そんな方法はありません。

関連するQ&A