![提取单元格中特定单词后的数字](https://linux22.com/image/1508300/%E6%8F%90%E5%8F%96%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%AD%E7%89%B9%E5%AE%9A%E5%8D%95%E8%AF%8D%E5%90%8E%E7%9A%84%E6%95%B0%E5%AD%97.png)
我有一个 XLS 文件,其中列出了数百个不同的时间,它们都是单个单元格中的单个字符串,全部采用以下格式:
Days: 103, Hrs: 12, Mins: 15
Days: 34, Hrs: 8, Mins: 27
Days: 10, Hrs: 16, Mins: 4
我想按从高到低的顺序排列这些记录,如果我只是对它们进行排序,则会列出小时数为数百的记录前十位上的数值。例如,上面的列表按从高到低的顺序显示为:
Days: 34, Hrs: 8, Mins: 27
Days: 103, Hrs: 12, Mins: 15
Days: 10, Hrs: 16, Mins: 4
我想尝试提取每个数值并将其放入其自己的单元格中,这样我就有单独的天、小时和分钟列,以便于排序,但我似乎不知道如何做到这一点。有人能给我指出正确的方向吗?
答案1
您可以组合使用字符串搜索函数(MID、FIND 和 RIGHT)将不同的组件提取到各自单独的单元格中。
最终结果如下:
现在第 2 行的公式(然后您可以拖动来填充其他行):
天数 - 单元格 B2:
=MID(A2, LEN("Days: "), FIND(", Hrs:",A2)-LEN("Days: "))
小时 - 单元格 C2:
=MID(A2,FIND(", Hrs: ",A2)+LEN(", Hrs: "), FIND(", Mins: ",A2)-FIND(", Hrs: ",A2)-LEN(", Hrs: "))
会议纪要 - 单元格 D2:
=RIGHT(A2, LEN(A2)-FIND(", Mins: ",A2)-LEN(", Mins: ")+1)