用数据透视表与macros来巩固基于字段名称的值?
我有一个有两个相关列“ src ”和“ 现有 ”的表格。 在src列中,我创build数据透视表时,我有两种不同的方式来处理每一行。
- 对于具有长度大于2的string的src列中的值的任何条目,我想要使用该值在数据透视表中创build一个新行。
- 对于“ 在手 ”字段,我想获得该行下最后一个条目的“现有”值,其中字段名的长度为2;
例如,原始表读取的位置(产品名称= src):
------------------------- |Name of Product|on Hand| ------------------------- |foo |(1.000)| ------------------------- |xx |0.000 | ------------------------- |xx |(1.000)| ------------------------- |xx |7.000 | ------------------------- |bar |0.000 | ------------------------- |xx |(1.000)| ------------------------- |xx |2.000 | -------------------------
数据透视表变为:
------------------------- |Name of Product|on Hand| ------------------------- |foo |7.000 | ------------------------- |bar |2.000 | -------------------------
不幸的是,我对此没有任何定位,也不确定从哪里开始。 这种问题是否有一个通用的方法?
你可以用两个帮助栏做这个。 在C
和D
列中input下面详细的公式,并将其复制下来。 然后在列C
和D
上运行数据透视表。
看截图:
类别是基于这个公式:
=IF(ROW()=2,A2,IF(LEN(A2)=2,C1,A2))
其中说:
- 如果行是2,就拿产品(因为它的第一行我们不能看'上面'的值)
- 否则,如果产品长度为2取上述值
- 否则,采取产品 – 意味着
bar
成为新的价值,因为长度> 3
closures是基于这个公式:
=IF(C2<>C3,B2,0)
其中说:
- 如果下面的类别是相同的,那么我们不是在期末余额
- 否则,下面的分类是新的,因此我们已经达到了期末余额