【发布时间】:2016-05-18 20:28:14
【问题描述】:
我有两个公式如下:
=GETPIVOTDATA("Sum of Values",'Input Data'!$A$4,"State",Q42,"Route",$S$1,"STAT_COMB",$G$37,"SHA",$G$35)
=GETPIVOTDATA("Sum of Values",'Input Data'!$A$4,"State",Q42,"Route",$S$1,"STAT_COMB",$G$37)
第二个公式的主要区别是,我没有考虑“SHA”参数。考虑与否取决于另一个单元格值。我可以编写一个 if 条件来相应地选择公式。但问题是我还有这样的情况:
=GETPIVOTDATA("Sum of Values",'Input Data'!$A$4,"Route",Q42,"STAT_COMB",$G$37)
在这里,我不考虑“状态”和“SHA”参数,这取决于是否考虑各自不同的单元格。
同样,公式中的每个 [Field],[Item] 对取决于各自不同的单元格是否包含它们。
如果条件写太多,会使公式变得繁琐。所以,我想知道是否有任何方法可以动态省略公式中的 [Field],[Item] 对。
我本可以在 getpivotdata() 中使用 INDIRECT,但 INDIRECT 只获取一个值,但我需要为每个参数设置一对值。
【问题讨论】:
-
为字段和项目分配两列,并允许用户从下拉列表中选择所需的字段,例如 10 行数据。同样可以从 excel vba 循环,单个 If() 条件将检查空单元格,其余循环将重复相同的操作。
-
为什么不尝试将条件放在另一个单元格(比较)中,然后对数据透视表的这些比较使用间接?或者使用 AND(condition1, condition2) 做更多的比较
-
@Pramod 你看过我的回答了吗?如果我的答案不起作用 - 我希望得到反馈,以便我们改进答案或继续前进。
-
@NicholasPatton 我已经看到你的答案了。你的答案很好,但不适用于我的场景,因为选择哪个,哪个不改变,我不能使用单独的单元格来识别它们。我的解决方案是只使用多个 IF 条件,因为这种情况很难解释。
标签: excel-formula excel-2007 pivot-table