用数据透视表与macros来巩固基于字段名称的值?

我有一个有两个相关列“ src ”和“ 现有 ”的表格。 在src列中,我创build数据透视表时,我有两种不同的方式来处理每一行。

  1. 对于具有长度大于2的string的src列中的值的任何条目,我想要使用该值在数据透视表中创build一个新行。
  2. 对于“ 在手 ”字段,我想获得该行下最后一个条目的“现有”值,其中字段名的长度为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 | ------------------------- 

不幸的是,我对此没有任何定位,也不确定从哪里开始。 这种问题是否有一个通用的方法?

你可以用两个帮助栏做这个。 在CD列中input下面详细的公式,并将其复制下来。 然后在列CD上运行数据透视表。

看截图:

在这里输入图像说明

类别是基于这个公式:

 =IF(ROW()=2,A2,IF(LEN(A2)=2,C1,A2)) 

其中说:

  • 如果行是2,就拿产品(因为它的第一行我们不能看'上面'的值)
  • 否则,如果产品长度为2取上述值
  • 否则,采取产品 – 意味着bar成为新的价值,因为长度> 3

closures是基于这个公式:

 =IF(C2<>C3,B2,0) 

其中说:

  • 如果下面的类别是相同的,那么我们不是在期末余额
  • 否则,下面的分类是新的,因此我们已经达到了期末余额