- ベストアンサー
エクセルで、データを小さい順に並べる方法はありますでしょうか??
いつもお世話になります^ ^ エクセルで、 データを小さい順に並べる方法はありますでしょうか?? ただ単に小さい順に並べるのではなく、 少し複雑です^ ^; 5ケタの数字データがA1セルからA12389セルまであります。 その数値を小さい順に並べ、 別のセルに表示したいと考えています。 例)Aセル 例えばBセル 87697____67789 44361____13446 78623____23678 30814____01438 08307____00378 どなたか知識を分けていただけませんでしょうか?? よろしくお願い致しますm(_ _)m
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
B1=SUMPRODUCT(SMALL(INDEX(MID(TEXT(A1,"00000"),ROW($A$1:$A$5),1)*1,),ROW($A$1:$A$5))*10^(5-ROW($A$1:$A$5))) 下にコピーしてください。
その他の回答 (8)
- Tiffa9900
- ベストアンサー率31% (68/216)
ANo.6さんの回答を見てなんとなく理解。(ANo.7の件はありますが) 更に、ANo.1さんのSMALL関数を知って自分になりにやってみた。 C~G列は作業用のセルとする。 B1 =SMALL(C1:G1,1)*10000+SMALL(C1:G1,2)*1000+SMALL(C1:G1,3)*100+SMALL(C1:G1,4)*10+SMALL(C1:G1,5) C1 =VALUE(MID(TEXT(A1,"00000"),1,1)) D1 =VALUE(MID(TEXT(A1,"00000"),2,1)) E1 =VALUE(MID(TEXT(A1,"00000"),3,1)) F1 =VALUE(MID(TEXT(A1,"00000"),4,1)) G1 =VALUE(MID(TEXT(A1,"00000"),5,1)) B~C列の2行目以降は、1行目をコピー&ペースト。 これで、B列に欲しい値が入るかなぁ? 前ゼロは「セルの書式設定」で。(;^^)ヘ.. 余談 本当は、SMALLの範囲(第1因数)にC~G列の内容を直接入れようと思ったけど断念。できそうな気はするんだけど、自分のスキルではダメでした。(o_ _)o 余談2 A列に6桁以上の数値が入っている場合は変になるかな。 想定が必要かどうかによると思うけど、6桁目以降は無視するのであれば、MID関数ではなくRIGHT,LEFT関数を活用した方が良いかも? C1 =VALUE(RIGHT(TEXT(A1,"0000000000"),1)) D1 =VALUE(LEFT(RIGHT(TEXT(A1,"0000000000"),2),1)) とかかな。
お礼
ご回答ありがとうございます^ ^ 勉強になります!
- maron--5
- ベストアンサー率36% (321/877)
=TEXT(SUMPRODUCT(LARGE(INDEX(MID(REPT(0,5-LEN(A1))&A1,ROW($1:$5),1),)*1,ROW($1:$5))*10^(ROW($1:$5)-1)),"00000")
お礼
ご回答ありがとうございます^ ^ 勉強になります!
- marbin
- ベストアンサー率27% (636/2290)
ん?でも↓ということは違うのかな? >30814____01438
- marbin
- ベストアンサー率27% (636/2290)
なるほど。 セルの各桁の数値を小さい順に、ということのようですね。
》 単に小さい順に並べるのではなく、 》 少し複雑 その例を「例えばBセル」に示したつもりですか? 此れってどういう風に「小さい順」になっているのですか?
- Tiffa9900
- ベストアンサー率31% (68/216)
A列の内容をB列に小さい順に表示したいって事かな? 上記だとすると A列を全選択して、B列にコピー B列を全選択して、データ>並べ替えを選択 最優先されるキーとして「列 B」「昇順」を選択して「OK」。 こうゆう事かなぁ?
お礼
ご回答ありがとうございます^ ^ 勉強になります!
- marbin
- ベストアンサー率27% (636/2290)
なお、逆に大きなものから並べる場合は、 LARGE関数 というものがあります。
- marbin
- ベストアンサー率27% (636/2290)
SMALL関数 でいけると思います。
お礼
ご回答ありがとうございます^ ^ 完璧にできました! ありがとうございます!!