拖拽可用的公式改为ARRAYFORMULA后失效,求原因及解决办法
ARRAYFORMULA失效的原因及解决办法
问题根源
你用AND()函数的方式有误——AND()是聚合函数,它会把整个数组范围内的条件判断结果合并成一个单一的布尔值(比如只要有一行不满足,整个AND就返回FALSE),而非逐行对每一行做判断。这直接导致ARRAYFORMULA无法生成逐行对应的结果,因此失效。
修正方案
把AND($W91:W= "Hired",$Y91:Y<>"Y")替换成($W91:W= "Hired")*($Y91:Y<>"Y"),利用Google Sheets的布尔值特性:TRUE等价于1,FALSE等价于0,只有当两个条件都为TRUE时,相乘结果为1(判定为真),以此实现逐行的逻辑与判断。
修正后的完整公式:
=ARRAYFORMULA( IF(ISBLANK(F91:F),,IF(($W91:W= "Hired")*($Y91:Y<>"Y"),"Workforce Needed","Not")))
额外注意事项
- 确认Y列的VLOOKUP数组公式返回的是逐行对应的文本值,没有出现数组维度不匹配的情况(比如返回结果的行数和W、F列不一致),这也可能导致ARRAYFORMULA结果异常。
- 如果后续需要逻辑或判断,同理用
+代替OR()函数即可。
内容的提问来源于stack exchange,提问作者Victoria Read
相关产品推荐
相关产品推荐

