新足迹

 找回密码
 注册

精华好帖回顾

· 阿朱看片 别折腾了、没用的!无法逾越的阶级! - 英国纪录片【56 UP】讨论 (2014-2-11) patrickzhu · 乡愁 (2009-7-11) tritri
· 快递3 (2009-10-2) nzwhappy · 写在己亥年的除夕夜——灾难和勇气,悲悯与希望 (2020-1-24) 虞宅与美丽
Advertisement
Advertisement
查看: 1390|回复: 27

[会计] 持分请教excel达人,我快被搞疯了 [复制链接]

发表于 2012-2-18 19:34 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我最近刚刚到了一家旅行社作会计。公司的要我出某个月的所有团的p&L。现在问题是公司并没有该月份总共操作了多少个团队的统计。我只能从公司的op软件系统中通过团号来判断时间。但是这个工作量太大了,严重的降低了工作效率。我在想用excel对团号进行排序,这样会简单许多。问题是我们团号的格式是 abcd-yy-mm-dd-abcd。 前面的abcd和后面的abcd是随机的字母。怎么样才能让excel认识这种格式,并能按照中间的日期进行排序呢?

[ 本帖最后由 largepa 于 2012-2-18 20:35 编辑 ]
Advertisement
Advertisement

发表于 2012-2-18 19:39 |显示全部楼层
此文章由 NiuNiu1980 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NiuNiu1980 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Mid( text, start_position, number_of_characters )
Mid function extracts a substring from a string (starting at any position).

评分

参与人数 1积分 +4 收起 理由
largepa + 4 你太有才了

查看全部评分

发表于 2012-2-18 19:43 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 NiuNiu1980 于 2012-2-18 20:39 发表
Mid( text, start_position, number_of_characters )
Mid function extracts a substring from a string (starting at any position).

十分感谢,但是团号有的时候不规范,前面的字母不一定 是几个,这种情况怎么弄呢?

发表于 2012-2-18 19:51 |显示全部楼层
此文章由 NiuNiu1980 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NiuNiu1980 所有!转贴必须注明作者、出处和本声明,并保持内容完整
找'-'的位置用find function,再用mid

评分

参与人数 1积分 +4 收起 理由
largepa + 4 谢谢奉献

查看全部评分

发表于 2012-2-18 19:54 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
太感谢了!!!!

发表于 2012-2-18 19:56 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 NiuNiu1980 于 2012-2-18 20:51 发表
找'-'的位置用find function,再用mid

不好意思,还要问一下,如果中间没有小横线呢?单纯的就是日期数字
Advertisement
Advertisement

发表于 2012-2-18 20:00 |显示全部楼层
此文章由 KXYS 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 KXYS 所有!转贴必须注明作者、出处和本声明,并保持内容完整
建议你再加一列, 专门用来排序. 函数可以用以下的图式的函数 .


[ 本帖最后由 KXYS 于 2012-2-18 21:02 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1积分 +4 收起 理由
largepa + 4 谢谢奉献

查看全部评分

2008年度奖章获得者

发表于 2012-2-18 20:02 |显示全部楼层
此文章由 jungle 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jungle 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果LZ所说的团号都是如 ABCD-12-02-18-ABCD的形式那么用公式
=MID(A1,FIND("-",A1)+1,8)
即可取出中间的日期部分进行排序

如果是 ABCD120218ABCD那就比较麻烦了,没有直接识别的字符。我建议LZ还是提供几个所需支持的团号格式的实例,大家才好再帮你看看

发表于 2012-2-18 20:04 |显示全部楼层
此文章由 longyu68 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 longyu68 所有!转贴必须注明作者、出处和本声明,并保持内容完整
试试在OP系统中直接输出团队日期。如果团号是自动生成的,系统一定有办法可以把它的日期单列出来。

发表于 2012-2-18 20:11 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jungle 于 2012-2-18 21:02 发表
如果LZ所说的团号都是如 ABCD-12-02-18-ABCD的形式那么用公式
=MID(A1,FIND("-",A1)+1,8)
即可取出中间的日期部分进行排序

如果是 ABCD120218ABCD那就比较麻烦了,没有直接识别的字符。我建议LZ还是提供几个所需支持的团号格式的实例,大家才好再帮你看看


  这个是我们的团号ANZ-GZV120125LA

[ 本帖最后由 largepa 于 2012-2-18 21:13 编辑 ]

发表于 2012-2-18 20:11 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谢谢大家,今天分没了,白条先
Advertisement
Advertisement

发表于 2012-2-18 20:12 |显示全部楼层
此文章由 NiuNiu1980 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NiuNiu1980 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 largepa 于 2012-2-18 20:56 发表

不好意思,还要问一下,如果中间没有小横线呢?单纯的就是日期数字

没用统一格式和规律的话,用vba写个循环遍历整个string找到日期。

发表于 2012-2-18 20:12 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
就我目前所知好像没有这个功能,所以很郁闷

发表于 2012-2-18 20:15 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 NiuNiu1980 于 2012-2-18 21:12 发表

没用统一格式和规律的话,用vba写个循环遍历整个string找到日期。

这个就更不会了(monkey31) 还请明示(monkey27) 看来excel还是真的很有用啊!!!

2008年度奖章获得者

发表于 2012-2-18 20:18 |显示全部楼层
此文章由 jungle 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jungle 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果以下两个假设成立,LZ的问题就很容易解决:
1. 你的团都是10年以后的(包括10年)
2. 你的日期之前的那一堆字符中不会出现 1

使用公式
=MID(A1,FIND("1",A1),6)
即可。这里假定A1格子中是你的团号

另外看来你的日期是yymmdd,不是yy-mm-dd。LZ以后描述问题,还是要注意更加清楚些啦,多举些实例更好

评分

参与人数 1积分 +4 收起 理由
largepa + 4 谢谢奉献

查看全部评分

发表于 2012-2-18 20:22 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jungle 于 2012-2-18 21:18 发表
如果以下两个假设成立,LZ的问题就很容易解决:
1. 你的团都是10年以后的(包括10年)
2. 你的日期之前的那一堆字符中不会出现 1

使用公式
=MID(A1,FIND("1",A1),6)
即可。这里假定A1格子中是你的团号

另外看来你的日期是yymmdd,不是yy-mm-dd。LZ以后描述问题,还是要注意更加清楚些啦,多举些实例更好

呵呵,真不好意思,真是感谢呵!!!
Advertisement
Advertisement

发表于 2012-2-18 20:27 |显示全部楼层
此文章由 黑芝麻狐儿 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 黑芝麻狐儿 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看了此贴发现自己根本不会用EXCEL似的。

估计如果是我,就直接用Data菜单下面的Text to column功能,把“xxxx-01-12-05-xxxx拆分成5组数据,月份会被拆分到单独的一个column里,然后简单sort一下就行了………………
Cozi的麻麻、Yuki的婆婆

发表于 2012-2-18 20:35 |显示全部楼层
此文章由 NiuNiu1980 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NiuNiu1980 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jungle 于 2012-2-18 21:18 发表
如果以下两个假设成立,LZ的问题就很容易解决:
1. 你的团都是10年以后的(包括10年)
2. 你的日期之前的那一堆字符中不会出现 1

使用公式
=MID(A1,FIND("1",A1),6)
即可。这里假定A1格子中是你的团号

另外看来你的日期是yymmdd,不是yy-mm-dd。LZ以后描述问题,还是要注意更加清楚些啦,多举些实例更好


delete my comments to avoid the confusion.

[ 本帖最后由 NiuNiu1980 于 2012-2-18 21:52 编辑 ]

发表于 2012-2-18 20:43 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 NiuNiu1980 于 2012-2-18 21:35 发表


用mid+find恐怕不成啊,
lz说'十分感谢,但是团号有的时候不规范,前面的字母不一定 是几个,这种情况怎么弄呢?'
不一定有6个字母在前面

我的理解是从1往后找6个字母,应该就是日期了吧?我是菜鸟,轻拍。

发表于 2012-2-18 20:48 |显示全部楼层
此文章由 NiuNiu1980 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NiuNiu1980 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 largepa 于 2012-2-18 21:43 发表

我的理解是从1往后找6个字母,应该就是日期了吧?我是菜鸟,轻拍。

sorry u r right

我是说不一定start with 1

发表于 2012-2-18 20:55 |显示全部楼层
此文章由 KXYS 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 KXYS 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你能不能列举一下所有的可能的格式?
Advertisement
Advertisement

发表于 2012-2-18 20:57 |显示全部楼层
此文章由 NiuNiu1980 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NiuNiu1980 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Lz最好自己能找到你们生成团号的规律,那样会容易很多。

发表于 2012-2-18 21:05 |显示全部楼层
此文章由 Synergy000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Synergy000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Try the right function,直接取右边的几位数字或者字母,然后后面有空格的话可以用trim,同理左边用left函数

[ 本帖最后由 Synergy000 于 2012-2-18 23:32 编辑 ]

发表于 2012-2-18 21:09 |显示全部楼层
此文章由 largepa 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 largepa 所有!转贴必须注明作者、出处和本声明,并保持内容完整
十分谢谢大家,今天分加完了,白条白条

发表于 2012-2-18 21:17 |显示全部楼层
此文章由 KXYS 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 KXYS 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果日期中间有 "-"的话, 用如下函数
=MID(A1,MIN(IFERROR(FIND(1,A1),66),IFERROR(FIND(2,A1),66),IFERROR(FIND(3,A1),66),IFERROR(FIND(4,A1),66),IFERROR(FIND(5,A1),66),IFERROR(FIND(6,A1),66),IFERROR(FIND(7,A1),66),IFERROR(FIND(8,A1),66),IFERROR(FIND(9,A1),66),IFERROR(FIND(0,A1),66)),8)

如果日期中间没有 "-"的话, 用如下函数
=MID(A1,MIN(IFERROR(FIND(1,A1),66),IFERROR(FIND(2,A1),66),IFERROR(FIND(3,A1),66),IFERROR(FIND(4,A1),66),IFERROR(FIND(5,A1),66),IFERROR(FIND(6,A1),66),IFERROR(FIND(7,A1),66),IFERROR(FIND(8,A1),66),IFERROR(FIND(9,A1),66),IFERROR(FIND(0,A1),66)),6)

如果您希望把日期中间有"-"的和没有"-"的混合到一起排序的话,建议把原数据用""来替换掉"-"

评分

参与人数 1积分 +4 收起 理由
largepa + 4 谢谢奉献

查看全部评分

发表于 2012-2-19 18:43 |显示全部楼层
此文章由 euroblue 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 euroblue 所有!转贴必须注明作者、出处和本声明,并保持内容完整
假设 A1= ANZ-GZV120125LA

B1 = --MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&{0,1,2,3,4,5,6,7,8,9})),SUM((LEN(A1)-LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},"")))))
Advertisement
Advertisement

发表于 2012-2-19 21:34 |显示全部楼层
此文章由 coogee 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coogee 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果让我做的话就导出到数据库里排序,啥要求都给你排出来。微软的access就可以。

发表于 2012-2-19 22:28 |显示全部楼层
此文章由 KXYS 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 KXYS 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果把我的函数和26楼合在一起, 你可以用一下函数. 26楼是个高手, 有机会还要请教你.

假设 A1= ANZ-GZV120125LA

B1==--IF(IFERROR(FIND("-",MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&{0,1,2,3,4,5,6,7,8,9})),6)),0)>0,SUBSTITUTE(MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&{0,1,2,3,4,5,6,7,8,9})),8),"-",""),MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&{0,1,2,3,4,5,6,7,8,9})),6))

这样无论你的日期中间有没有"-" 都可以搞定, 但是前提是数据中间的日期一定是6位数字. 我给你个截图.


[ 本帖最后由 KXYS 于 2012-2-19 23:30 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1积分 +4 收起 理由
largepa + 4 谢谢奉献

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部