Excel 数据透视表 Table IF 语句

Excel Pivot Table IF Statement

我想做的是,我在 A 列中有多个日期(报告日期)的 sheet,在 E 列中有一个过渡日期列。从 B 到 D,我在每个日期中都有数字与实际价格相对应的栏,然后是费用。这里发生的事情是 sheet 报告进入并在特定日期转换,并将费用从 C 列(转换日期之前)切换到 D 列(转换日期之后)。我想用 Pivot table 做的是: 我希望能够添加 B 和 C 列,但是当项目达到转换日期时切换到添加 B 和 D 并继续所有的 SUM。我的想法是它必须做一个 IF 语句,类似于

IF(Transition Date >= Date, Add B & C, IF(Transition Date <= Date, Add B & D),0)

但我可能是错的,我只是想在 Pivot Table 上弄清楚这部分。同样,我是 Pivot Tables 的新手,所以如果我的术语不正确,请纠正我。

如果我对你的理解正确,你想在数据透视表中添加一个计算字段。

假设您的数据看起来像图像中的这个范围 ("A1:E4"):

您可以使用以下公式将计算字段添加到数据透视表(图中从第 13 行开始):

=IF(Date < TransitionDate, Cost + 'Ore Fee', Cost + 'Mineral Fee')

这相当于:

=IF(ReportDate < TransitionDate, ColB + BeforeTransitionDate, ColB + AfterTransitionDate)

你在布局上的里程数可能会有所不同,因为我使用的是旧的 mac,这对数据透视表来说并不理想,而且我隐藏了一些不相关的数据透视字段。

Windows machine 我认为您可以通过在数据透视表中选择一个单元格来添加计算字段,然后转到分析 -> 字段、项目和集 -> 单击向下的小箭头-> 计算字段。示例 here

枢轴布局:

在何处输入计算字段:

并与没有数据透视表的 sheet 公式进行比较,请参阅列 H 行 14:16(我从评论中给出的公式):

这里似乎不需要数据透视表,因为您可以创建一个额外的列(例如,ActualPrice),以对列 B & D 或 C & D 求和:

在上面的示例中,TransactionDateTransitionDate 是用 =DATE(2017,12,randbetween(1,31)) 生成的,条件格式突出显示 TransactionDates 即 on-or-after/before TransitionDate 在 red/green 中。 ActualPrice 计算为 =IF(A2<E2,B2,C2)+D2.

如果需要,您可以创建一个数据透视表来聚合所有这些,或者只是 return 某些单元格(F 列之外)中的总和 =SUM(F:F)