エクセルで数値の並べ替えがうまくいかない時の対処
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/もろもろ.jpg)
pythonで出力したエクセルを弄った時、数値の並び替えで躓いたので忘れないように残しておく。
はじめに
やりたいこととしては、任意の列の数字を列ごと降順にして並べ替えたい。
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-2.png)
通常であれば範囲選択後、右クリック → 並べ替え →昇順 or 降順でうまくいく。
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-3.png)
ただ実際にやってみると、こんな感じになってしまう。
なんとなく左側から順に数値の大きさを認識して並び替えてくれているのは分かるけど求めているのはそんなことじゃない。
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-4.png)
原因
原因は数字が文字数値になっちゃっていたことらしい。
左角の注釈があってカーソル当てたらそれっぽい警告も出てくる。
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-5.png)
対処法
以下で簡単に文字数値を通常の数値へ変換可能。
- データが入っている列を選択
- メニュー[データ]-[区切り位置]
- [完了]ボタンをクリック
数値が入っている列を選択
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-9.png)
「データ」をクリック
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-6.png)
「区切り位置」をクリック
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-7.png)
「完了」ボタンをクリック(とくに完了ボタン押す以外操作する必要はない)
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-8.png)
変換後は左角の注釈も消え、期待通りに並べ替えが出来た。
![](https://telecom-engineer.blog/wp-content/uploads/2023/08/image-10.png)
参考
割とよく知られていることらしいのでググったら知恵袋ですぐ出てきた。