gpt4 book ai didi

function - iif(Iserror())函数仍然返回#error

转载 作者:行者123 更新时间:2023-12-02 19:50:31 27 4
gpt4 key购买 nike

我有以下函数在我的查询中创建一列:

MTD:IIf(IsError(FormatNumber([62xx]![F40])),0,FormatNumber([62xx]![F40]))

它链接到一个 Excel 文件,人们可以将数字和文本放在同一列中(本例中为 F40)。我需要知道我正在看的东西是数字还是文本。如果是文本,我想要一个零,如果是数字,我想要数字。我知道当我在文本行上使用 FormatNumber([C107_62xx]![F40]) 时出现错误。我假设当我遇到错误时,上面的 iif 公式会将其转换为零,全世界都会欢欣鼓舞。由于某种原因,即使使用 iif 语句,我仍然收到#error。我做错了什么?

我也尝试过使用 IsNumeric 函数,但我仍然得到 #NUM!出现的错误。

最佳答案

IsError 并没有像你想象的那样做。从帮助主题来看,它“返回一个 bool 值,指示表达式是否为错误值。”不是表达式是否触发错误,而是表达式 一个错误值。

抱歉,这个解释可能不够清楚,但我不知道如何做得更好。因此,我建议您考虑使用此 IsNumeric() 表达式来满足您的需求。

IIf(IsNumeric([62xx]![F40]), FormatNumber([62xx]![F40]), 0)

这是查询中的相同表达式,输出如下。

SELECT
[62xx].F40,
IIf(IsNumeric([62xx]![F40]), FormatNumber([62xx]![F40]), 0) AS MTD
FROM [62xx];
F40    MTD
----- ----
foo 0
1 1.00
2.345 2.35
bar 0

关于function - iif(Iserror())函数仍然返回#error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670418/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com