Google Sheets数组公式使用*(或运算)时出现文本值错误
问题分析与解决
问题根源
你写的公式里,(AF:AF=""*+H:H<>"")这部分语法错误。你本来想用*表示AND逻辑(两个条件同时成立),但写法不对,导致Google Sheets把""*+H:H当成了乘法运算——空字符串""会被转成0,+H:H是试图把H列的文本转成数字,但H列是带字母的文本(比如P02269895),没法转成数字,所以触发了“乘法参数需为数字”的错误。
正确的AND逻辑写法应该是把两个独立的条件用括号括起来,再用*连接,也就是(AF:AF="") * (H:H<>""),这样才是判断“AF列是空”且“H列不为空”两个条件同时成立。
修正后的公式
=ArrayFormula(if(A:A="","", if(row(A:A)=1,"Cert Generated?",if(H:H="","N/A",if((AF:AF="")*(H:H<>""),"No","Yes")))))
逻辑说明
- 第一层
if(A:A="","",...):A列为空时,对应单元格也留空 - 第二层
if(row(A:A)=1,"Cert Generated?",...):第一行显示表头文本 - 第三层
if(H:H="","N/A",...):H列为空时显示N/A - 第四层
if((AF:AF="")*(H:H<>""),"No","Yes"):当AF列空且H列不为空时显示No,其余情况显示Yes
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

