Google 包含嵌套 if 语句的工作表 ARRAYFORMULA

Google Sheets ARRAYFORMULA with nested if statements

我正在研究我认为相当简单的数组公式,我只需要一个单元格条目,而不必将其复制到 100 多行。

我正在制作一个电子表格,用于探路者中的野兽形态、元素体和植物形态法术。

我的table长得像

_________A___________B________C

1___Spell name_____Type_____Size

其中 A2 将包含数组公式。 B2:B 将包含动物、植物、元素、魔法兽。 C2:C 将包含尺寸范围。

我试过了

ARRAYFORMULA(if(B2:B<>"",CONCATENATE(if(AND(B2:B="Animal", OR(C2:C="Small", C2:C="Medium")),"Beast Shape 1","Fail BS1"),if(AND(B2:B="Animal", OR(C2:C="Tiny", C2:C="Large")),"Beast Shape 2","Fail BS2")),"Fail Other"))

=ARRAYFORMULA(if(B2:B<>"",if(and(B2:B="Animal",C2:C="Small"),"Beast Shape 1", "not"), "if fail"))

但是它们产生了错误的输出。我也尝试了其他几个,但有各种问题,通常不会传播到所有单元格,或者只是有错误的信息。即使我尝试只使用一个语句。

最初我的计划是有一个 concat 语句,其中包含多个 if 语句,这些语句会产生拼写名称或什么都不产生。它看起来像

arrayformula(if(b2:b<>"",concatenate(if(and(b2:b="Animal",OR(c2="small",c2="medium")), "Beast shape 1", ""), if(and(b2:b="Animal",OR(c2="tiny",c2="large")), "Beast shape 2", ""))

但是输出是错误的,我一直没弄清楚原因。我在某些地方看到评论表明 AND 和 OR 无效,因为它们只有单个输出语句,并且连接必须替换为 &,但即使删除它们也不起作用。

将 AND 替换为 *,将 OR 替换为 +

if(and(b2:b="Animal",OR(c2="small",c2="medium"))

变为:

if( (b2:b="Animal") * ((c2:c="small") + (c2:c="medium")) )

必须使用它。