ARRAYFORMULA中的SWITCH功能

时间:2018-06-03 14:49:55

标签: google-sheets

示例sheet已关联。第36行有关的公式。

下面的公式按预期工作(样本的绿色背景)。

=ArrayFormula(IF(ISNUMBER(X_Data),IF(X_Data>VLOOKUP(X_Dates,X_Times,2,TRUE),INT(24*4*(X_Data-VLOOKUP(X_Dates,X_Times,2,TRUE))),0),0))

虽然下面的公式(添加了一个简单的SWITCH)不起作用(样本上的红色背景)。

=ArrayFormula(IF(ISNUMBER(X_Data),IF(X_Data>VLOOKUP(X_Dates,X_Times,2,TRUE),SWITCH(INT(24*4*(X_Data-VLOOKUP(X_Dates,X_Times,2,TRUE))),1,10,100),0),0))

第二个公式给出了#VALUE错误消息"函数MINUS参数1期望数值。但是'审计'是一个文本,不能强制转换为数字。"。但是当我读到它时,所有文本值都不应该达到SWITCH语句,这可以通过按预期工作的第一个公式来确认。

我开始认为这是Sheets / SWITCH中的BUG。

注意:我可以使用嵌套的IF语句获得我的预期结果,但这会使公式非常复杂,因此我尝试使用SWITCH,因为它引用了"数据块"只有一次在这种情况下。

1 个答案:

答案 0 :(得分:1)

SWITCH()IFS()SUMIFS()和其他类似的S函数无法在ARRAYFORMULA()内工作。