mitsuのぶろぐ

基本的にはプログラミングの話のつもり。

Excelで特定の文字を削除して数字だけにして、それを数値に変換した話

久しぶりにExcel触ったらやり方忘れてたので、備忘録として以下書きます。

やりたかったこと

base-list

上の画像のようなリストがあったときに、

1.pdf
2.pdf
3.pdf
10.pdf
11.pdf
101.pdf
...

といったかんじで 数値 の昇順になるように入れ替えたかった。

必要なことの整理

  1. .pdf という不要な文字の削除
  2. 文字の数値化

文字の排除

SUBSTITUTE というのがあるようなので、そちらを使用。

=SUBSTITUTE(A1,".pdf","")

第一引数にターゲットとなるセル、第二引数には対象となる文字列、第三引数は置き換えをする文字を入れる。
今回は単に排除したかったので、第三引数は空文字とした。
これを実行すると、 文字 の1、2などが表示される。
このままだと結局ソートをかけても

1
10
101
11
...

といったかんじで文字としての昇順にしかならないので、、、

文字の数値化

VALUE でできるみたいですね 上記のをあわせると

=VALUE(SUBSTITUTE(A1,".pdf",""))

といったかんじ

結果

ソートする前

before-sort

with VALUEの欄を基準にソートすると

after-sort

と、いったかんじでできました

参考にしたサイト

www.wanichan.com

kokodane.com