【问题标题】:Excel Power Pivot - Nested IF OR Formula errorExcel Power Pivot - 嵌套 IF 或公式错误
【发布时间】:2021-03-23 22:06:05
【问题描述】:

我一直在尝试使用下面提到的公式,但该公式不起作用并显示一条错误消息,指出
“产生变体数据类型的 Power Pivot 表达式不能用于定义计算列”

IF (
    OR ( Table2[TeamStatus] = "Lost", Table2[TeamStatus] = "Won't proceed" ),
    "0",
    IF (
        OR ( Table2[TeamStatus] = "Next level", Table2[TeamStatus] = "Disqualified" ),
        "0",
        IF (
            AND ( YEAR( Table2[Match Date] ) = YEAR( TODAY() ), [TeamStatus] <> "Won" ),
            [Spent Amount],
            0
        )
    )
)

列的数据类型

1) [TeamStatus] = Text
2) [Match Date] = Date
3) [Spent amount] = Number

此公式的目的是从 [TeamStatus] 列中排除以下行(即在 [TeamStatus] 列中包含“丢失”、“不会继续”、“下一级”、“不合格”文本)那么输出应该为零,然后计算 [TeamStatus] 列中所有其他类别的花费金额,并满足另一个条件(即,如果年份是当前年份)。

从过去 1 天开始,我一直在尝试使这个公式有效,但没有运气。我也尝试过使用 FORMAT() 功能,但它仍然无法正常工作。

有人可以帮帮我吗?

【问题讨论】:

    标签: excel powerquery powerpivot datamodel


    【解决方案1】:

    错误是说你的公式应该返回一个数字或文本,但有时不是数字,有时是文本。

    请注意,您的公式有时会返回 "0",有时会返回 0

    要么将前两个零更改为数字而不是文本,要么将最后一个零更改为文本并使用[Spent Amount] 上的 FORMAT 将其转换为文本。


    顺便说一句,你的公式不能简化吗?

    IF (
        AND ( YEAR ( Table2[Match Date] ) = YEAR ( TODAY () ), [TeamStatus] = "Won" ),
        [Spent Amount],
        0
    )
    

    【讨论】:

    • 对不起,我应该给出不同的例子。在这个公式中,我可以简单地按照你的指定,但是我还需要创建 6 个不同的公式,其中一个将是“Won”,并且如果不采用上面指定的 4 个 [TeamStatus],则应考虑 [TeamStatus] 的其余部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多