新足迹

 找回密码
 注册

精华好帖回顾

· Lanshan:南瓜面包,六股辫子面包,扭结包,椰蓉卷 (2011-3-13) lanshan · Lanshan: 好吃又养眼-Cranberry Walnut Muffin 蔓越莓核桃松饼 (2012-10-28) lanshan
· 参加活动:李碧华 - 桃花扇里萧瑟夜,奈何桥边无故人 (2019-3-19) icicle · 2023 9月9日-9月23日 一家四口意大利两周自由行 (2023-9-22) 你往何处去
Advertisement
Advertisement
查看: 3936|回复: 15

[其他] 一个关于EXCEL 的请教贴 [复制链接]

发表于 2015-6-16 09:47 |显示全部楼层
此文章由 小李飞菜刀 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小李飞菜刀 所有!转贴必须注明作者、出处和本声明,并保持内容完整
ITEMNO                20120614        20120627        20120701        20120705        20120709        20120711
1AA001                                         100                       
1AA002                                                       
1AA003                                                       
1AA004                                          500                       
1AA005                   300                                          1000
1AA006                   50                               
1AA007                                                                   4000       
1AA008                                                       
1AA009                                                       
1AA010                                                       
1AA011                   400                                                                      500               
1AA012                                                       
1AA013                                                       
1AA014                                           300                                                                                           200       


如上面的例子, 大体就是有几千种不同的产品,每种产品有很多的到货日期。 我现在想在产品的后面把每个产品第一次的到货日期给列出来,要怎么才能做到呢?  比如第一行 1AA001 我想在后面一行 自动列出它的到货日期是 20120627 以此类推,不知道说的明不明白。请大神们出来给看看。 没分,但是万分感谢。
Advertisement
Advertisement

发表于 2015-6-16 10:12 |显示全部楼层
此文章由 microwen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 microwen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
也就是取第一列不为0的日期是不是?我的formula是=INDEX(B$1:G$1,MATCH(TRUE,INDEX(B2:G2<>0,),0))

本帖子中包含更多资源

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

x

评分

参与人数 1积分 +4 收起 理由
jwan142 + 4 我很赞同

查看全部评分

发表于 2015-6-16 10:36 |显示全部楼层
此文章由 fengliu1234 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 fengliu1234 所有!转贴必须注明作者、出处和本声明,并保持内容完整
关注

发表于 2015-6-16 11:17 |显示全部楼层
此文章由 cangaru 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cangaru 所有!转贴必须注明作者、出处和本声明,并保持内容完整
记得要用数组形式

发表于 2015-6-16 13:03 |显示全部楼层
此文章由 chainray 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 chainray 所有!转贴必须注明作者、出处和本声明,并保持内容完整
microwen 发表于 2015-6-16 09:12
也就是取第一列不为0的日期是不是?我的formula是=INDEX(B$1:G$1,MATCH(TRUE,INDEX(B2:G20,),0)) ...

1AA014有2个日期呢,整个表的精度就变了
禱告,因为我渺小。。。。

发表于 2015-6-16 13:06 |显示全部楼层
此文章由 chainray 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 chainray 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 chainray 于 2015-6-16 12:27 编辑

其实就是一个unpivot,colum name变成itemNo,itemQuantity,和Date

把表的精度变成per item per quantity per date

说了那么多,我不知道excel怎么做,sql的话就是一个简单的unpivot

select * from (

select itemNo,itemQuantity,Date
from your original
unpivot
(
  itemQuantity,
  for Date in (20120614, 20120627 , 20120701, 20120705, 20120709, 20120711)
) u )

where itemQuantity is not null
禱告,因为我渺小。。。。
Advertisement
Advertisement

发表于 2015-6-16 13:12 |显示全部楼层
此文章由 rabbitpoint 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rabbitpoint 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我想说的是,这么组织数据真的好有问题。

产品,到货日期,两列就行的买卖,搞了一个大GRID,这个grid要很宽吧,as time goes by!

发表于 2015-6-16 13:22 |显示全部楼层
此文章由 chainray 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 chainray 所有!转贴必须注明作者、出处和本声明,并保持内容完整
rabbitpoint 发表于 2015-6-16 12:12
我想说的是,这么组织数据真的好有问题。

产品,到货日期,两列就行的买卖,搞了一个大GRID,这个grid要很 ...

这么组织没有问题,有些reporting就是需要这样的精度
禱告,因为我渺小。。。。

发表于 2015-6-16 13:25 |显示全部楼层
此文章由 chainray 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 chainray 所有!转贴必须注明作者、出处和本声明,并保持内容完整
rabbitpoint 发表于 2015-6-16 12:12
我想说的是,这么组织数据真的好有问题。

产品,到货日期,两列就行的买卖,搞了一个大GRID,这个grid要很 ...

这么组织没有问题,有些reporting就是需要这样的精度
禱告,因为我渺小。。。。

发表于 2015-6-16 13:28 |显示全部楼层
此文章由 microwen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 microwen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
chainray 发表于 2015-6-16 12:03
1AA014有2个日期呢,整个表的精度就变了

楼主要的就是第一个到货日期,后面的不用关心

发表于 2015-6-16 14:38 |显示全部楼层
此文章由 rabbitpoint 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rabbitpoint 所有!转贴必须注明作者、出处和本声明,并保持内容完整
复制这个sheet

加一个辅助列,放一个足够大的日期,31/12/2099

如果每个cell是空,读取这个辅助日期,不是空,读取caption(到货日期)

每一行取最小日期

再想想不要这个列也行。呵呵
Advertisement
Advertisement

退役斑竹 2017年度勋章

发表于 2015-6-16 16:28 |显示全部楼层
此文章由 BreakingBad 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 BreakingBad 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我也觉得这样组织好凌乱,随着时间的推移,加行比加列简单的多吧……

发表于 2015-6-16 16:48 |显示全部楼层
此文章由 rabbitpoint 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rabbitpoint 所有!转贴必须注明作者、出处和本声明,并保持内容完整
BreakingBad 发表于 2015-6-16 15:28
我也觉得这样组织好凌乱,随着时间的推移,加行比加列简单的多吧……

对头, 哪有总是改表结构的,关系型数据设计必须要符合基本范式,才能享受到软件的标准功能。

退役斑竹 2017年度勋章

发表于 2015-6-16 16:50 |显示全部楼层
此文章由 BreakingBad 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 BreakingBad 所有!转贴必须注明作者、出处和本声明,并保持内容完整
rabbitpoint 发表于 2015-6-16 15:48
对头, 哪有总是改表结构的,关系型数据设计必须要符合基本范式,才能享受到软件的标准功能。 ...

嗯,如果只用三列的话,做很多种统计都简单很多
怀自信我永不怕夜航
到困倦我自弹自唱

发表于 2015-6-16 22:33 |显示全部楼层
此文章由 jwan142 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jwan142 所有!转贴必须注明作者、出处和本声明,并保持内容完整
用INDEX 和MATCH来做就好了,如果有些行没有数据的话,加个IFERROR就好了

发表于 2015-6-17 13:54 |显示全部楼层
此文章由 小李飞菜刀 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小李飞菜刀 所有!转贴必须注明作者、出处和本声明,并保持内容完整
关于组织的问题, 我只能说这个是我做的一个报表的一部分 , 因为公司的ERP 不够强大, 所以只能用EXCEL 把这个数据找出来

试用了一下2楼的答案,很完美的解决了这个问题,在此对2楼以及下面热烈讨论的童鞋表示深深的感谢。
我大足迹还是人才多啊
Advertisement
Advertisement

发表回复

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

本版积分规则

Advertisement
Advertisement
返回顶部