嘿,我几个小时以来正在考虑解决我的问题的方法。我也搜索了网络,并且能够找到一些方法,但是没有一种方法可以解决我的问题。
我有一个单元格,其数据显示如下:
(Monday@100%[00:00-24:00]);(Tuesday@100%[00:00-24:00]);(Wednesday@100%[00:00-24:00]);(Thursday@100%[00:00-24:00]);(Friday@100%[00:00-24:00]);(Saturday@100%[00:00-24:00]);(Sunday@100%[00:00-24:00])
问题是,该字符串不一致。它也可能看起来像这样:
(Monday@125%[00:00-04:00]);(Monday@90%[04:00-08:00]);(Monday@90%[08:00-12:00]);(Monday@115%[12:00-16:00]);(Monday@120%[16:00-20:00]);(Monday@115%[20:00-24:00]);(Tuesday@125%[00:00-04:00]);(Tuesday@90%[04:00-08:00]);(Tuesday@90%[08:00-12:00]);(Tuesday@115%[12:00-16:00]);(Tuesday@120%[16:00-20:00]);(Tuesday@115%[20:00-24:00]);(Wednesday@125%[00:00-04:00]);(Wednesday@90%[04:00-08:00]);(Wednesday@90%[08:00-12:00]);(Wednesday@115%[12:00-16:00]);(Wednesday@120%[16:00-20:00]);(Wednesday@115%[20:00-24:00]);(Thursday@125%[00:00-04:00]);(Thursday@90%[04:00-08:00]);(Thursday@90%[08:00-12:00]);(Thursday@115%[12:00-16:00]);(Thursday@120%[16:00-20:00]);(Thursday@115%[20:00-24:00]);(Friday@125%[00:00-04:00]);(Friday@90%[04:00-08:00]);(Friday@90%[08:00-12:00]);(Friday@115%[12:00-16:00]);(Friday@120%[16:00-20:00]);(Friday@115%[20:00-24:00]);(Saturday@125%[00:00-04:00]);(Saturday@90%[04:00-08:00]);(Saturday@90%[08:00-12:00]);(Saturday@115%[12:00-16:00]);(Saturday@120%[16:00-20:00]);(Saturday@115%[20:00-24:00]);(Sunday@125%[00:00-04:00]);(Sunday@90%[04:00-08:00]);(Sunday@90%[08:00-12:00]);(Sunday@115%[12:00-16:00]);(Sunday@120%[16:00-20:00]);(Sunday@115%[20:00-24:00])
字符串的结构是
您一周中的某天后跟一个“ @”
at
(@)后面的数字可以在0到999之间之后,您将有一天中的时间放在方括号[]中
一天最多可以有6个不同的时间范围(不多,但少)
每个时间帧簇用分隔;并在普通括号内()
这是我的出发位置。我想要的是提取@和%之间的数字并按时间顺序列出(星期一至星期日,一天中的小时)。
我可以使用该公式提取一周中每一天@和%之间的数字
=MID(B3;SEARCH("Monday@";B3)+7;SEARCH("%";B3)-SEARCH("Monday@";B3)-7)
但这仅在一周的每一天都被提及的情况下才有效。
我不知道每天有更多时间框架时如何使它工作。感谢任何帮助。
谢谢,
拉蒙
最佳答案
您可以使用Excel的“文本到列”功能,并使用)
作为分隔符。比将列转置为行可以得到以下内容:
(Monday@125%[00:00-04:00]
;(Monday@90%[04:00-08:00]
;(Monday@90%[08:00-12:00]
;(Monday@115%[12:00-16:00]
;(Monday@120%[16:00-20:00]
...
;(Sunday@115%[20:00-24:00]
然后应用公式。
编辑:
仅使用
Find
和Mid
即可实现:查找和中点背后的想法始终是相同的。
例如查找
(
的是=FIND("(";[Text])
。例如用于提取
Day
的是=MID([Text];[@[Pos(]]+1;[@[Pos'@]]-[@[Pos(]]-1)
关于excel - 提取字符之间的数字并对其进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41103599/