Excel数据透视表IF语句

时间:2017-11-06 19:29:55

标签: excel excel-pivot

我要做的是,我在A列的多个日期(报告日期)和E列的过渡日期列表中。从B-DI的每列中的数字与实际价格相对应费用。这样的表单是报表进入并在特定日期转换并将费用从C列(转换日期之前)切换到D列(转换日期之后)。我想用Pivot表做的是这样的: 我希望能够添加B& B列。 C但当项目达到过渡日期时切换到添加B& D并继续全部的总和。我的思维过程是它必须做一个IF语句,类似于

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

但我可能错了,只是想在数据透视表上找出这一部分。再次,我是新的数据透视表,所以如果我的术语不正确,请纠正我。

2 个答案:

答案 0 :(得分:1)

如果我已正确理解你,你想在你的支点上添加一个计算字段。

假设您的数据在图像中显示为此范围(“A1:E4”):

Image of data and pivot

您可以使用以下公式将计算字段添加到轴(图像中的第13行):

public class RequestObject {
    private List<Long> idList = null;
    private String remoteHost;
    private String userId;
    private Integer agencyId;

    public List<Long> getIdList() {
        return idList;
    }

    public void setIdList(List<Long> idList) {
        this.idList = idList;
    }

    public String getRemoteHost() {
        return remoteHost;
    }

    public void setRemoteHost(String remoteHost) {
        this.remoteHost = remoteHost;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Integer getAgencyId() {
        return agencyId;
    }

    public void setAgencyId(Integer agencyId) {
        this.agencyId = agencyId;
    }
}

这相当于:

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

你在布局上的里程可能会有所不同,因为我使用的是一个不太适合枢轴表的老式mac,我隐藏了一些不相关的枢轴字段。

Windows机器我认为您通过选择枢轴内的单元格来添加计算字段,转到分析 - &gt;领域,项目和&amp;集 - &gt;点击小向下箭头 - &gt;计算字段。示例here

枢轴布局:

Approximate pivottable layout (using Mac)

在何处输入计算字段:

Calculated field

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

Comparing pivot with in sheet formulas

答案 1 :(得分:0)

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

enter image description here

在上面的示例中,TransactionDateTransitionDate是使用=DATE(2017,12,randbetween(1,31))制作的,条件格式突出显示TransactionDates之前或之后{{1}红色/绿色。 TransitionDate计算为ActualPrice

如果需要,可以创建数据透视表以聚合所有这些,或者只返回某个单元格(F列外)的总和为=IF(A2<E2,B2,C2)+D2