示例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,因为它引用了"数据块"只有一次在这种情况下。
答案 0 :(得分:1)
SWITCH()
,IFS()
,SUMIFS()
和其他类似的S
函数无法在ARRAYFORMULA()
内工作。