Excel数据透视表,带宏,可根据字段名合并值?
我有一个表,表中有两个相关列“src”和“在手”。在src列中,我为每一行提供了两种类型的条目,在创建透视表时,我希望以不同的方式处理这两种条目Excel数据透视表,带宏,可根据字段名合并值?,excel,excel-formula,pivot-table,vba,Excel,Excel Formula,Pivot Table,Vba,我有一个表,表中有两个相关列“src”和“在手”。在src列中,我为每一行提供了两种类型的条目,在创建透视表时,我希望以不同的方式处理这两种条目 对于在src列中有值且字符串长度大于2的任何条目,我想在pivot表中创建一个具有该值的新行 价值观 对于“在手”字段,我想用src值获取该行下最后一个条目的“在手”值,其中 字段名为2 例如,原始表的内容为(产品名称=src): 透视表变为: ------------------------- |Name of Product|on Hand| --
-------------------------
|Name of Product|on Hand|
-------------------------
|foo |7.000 |
-------------------------
|bar |2.000 |
-------------------------
不幸的是,我对此没有方向感,也不知道从哪里开始。有解决这类问题的通用方法吗?您可以使用两个helper列来实现这一点。在
C
和D
列中输入下面详述的公式,并将其复制下来。然后在C
和D
列上运行数据透视表
请参见屏幕截图:
类别基于以下公式:
=IF(ROW()=2,A2,IF(LEN(A2)=2,C1,A2))
=IF(C2<>C3,B2,0)
上面说:
- 如果行为2,则只取产品(因为它是第一行,我们无法查看“以上”值)
- 否则,如果产品长度为2,则取上面的值
- 否则,以产品为例,因为长度大于3,所以意味着
成为新值bar
=IF(ROW()=2,A2,IF(LEN(A2)=2,C1,A2))
=IF(C2<>C3,B2,0)
=IF(C2C3,B2,0)
上面说:
- 如果以下类别相同,则我们不在期末余额
- 否则,下面的类别是新的,因此我们已达到期末余额