目的
这次的问题出在excel的排序上,本想根据1.2.3….1000的顺序进行排序,不过找来找去也没找到包含“文字+符号+数字”的单元格怎么进行排序,最后找到了使用mid函数提取内容的方式。
开始
1
2
3
4
5
6
示例文本如下:
wavs/CRS1.wav|そ、それに、岡部は変態同体だから、ファーストキスのことについて、聖地化リハーサルが行われるはずで、それはすぐに、長期記憶になって、そろそろ忘れないかって思って、それで…
wavs/CRS2.wav|そうなると、親や友達の体に、送信者の記憶が上書きされてしまう。下手をすると、重大な人格障害が起きるかもしれない。
wavs/CRS123.wav|つまりあんたが服を破ってしまったからタイムリープして事前にソーイングセットを用意したって言ってもらいたいんですねわかります
可以看到文本中包含的内容不只是数字,此时进行排序的话,即使将单元格格式改为 “数值” 也没有用,只会按照1>123>2排序。
现在我们使用mid函数
假设wavs/CRS123……在单元格A1,我们现在在B1处输入表达式
1
=MID(A1,9,FIND(".",A1)-9)
稍微解释一下:
MID函数:是用来提取字符串中指定位置和长度的字符,它有三个参数:text, start_num, num_chars。text是要提取的字符串,start_num是开始提取的位置,num_chars是要提取的字符个数。
FIND函数:是用来查找字符串中某个字符所在的位置,它有两个参数:find_text, within_text。find_text是要查找的字符,within_text是要查找的字符串。
在公式中,text就是A1单元格中的内容wavs/CRS123.wav,start_num就是9,num_chars就是FIND(“.”,A1)-9。
FIND(“.”,A1)表示查找A1单元格中”.”字符所在的位置,结果是12。FIND(“.”,A1)-9表示从这个位置减去9,结果是3。这样就相当于从第9个字符开始提取3个字符,也就是123。
再举个例子,比如文本为wavs/CRS123456789.wav,依旧可以使用这个表达式,从第9个数字开始提取,提取几位呢?也就是(点的位置)18-9=9位,123456789也刚好就是9位。
提取出字符之后,复制这一列粘贴到旁边,会提示转换为数值,转换后再进行扩展排序即可。