我正在研究我认为是一个相当简单的数组式,我只需要一个单元格条目而不必将其复制到100多行。
我正在开发一个电子表格,用于在探路者中使用野兽形状,元素身体和植物形状法术。
我的表格似乎是
_________甲___________乙________ç
1 ___法术名称_____类型_____大小
A2将包含arrayformula。 B2:B将包含动物,植物,元素,魔法野兽。 C2:C将包含尺寸范围。
我试过了
ARRAYFORMULA(if(B2:B"“”,CONCATENATE(if(AND(B2:B =“Animal”,OR(C2:C =“Small”,C2:C =“Medium”)), “野兽形状1”,“失败BS1”),如果(AND(B2:B =“动物”,或(C2:C =“微小”,C2:C =“大”)),“野兽形状2”, “失败BS2”)),“失败其他”))
和
= ARRAYFORMULA(if(B2:B<>“”,if(和(B2:B =“Animal”,C2:C =“Small”),“Beast Shape 1”,“not”),“如果失败“))
但是它们会产生错误的输出。我也尝试了其他几个但是有各种各样的问题,通常没有在所有单元格中传播,或者只是有错误的信息。即使我只尝试使用一个声明。
最初我的计划是有一个concat语句,其中包含多个if语句,这些语句会产生咒语名称或什么也不产生。它看起来像
arrayformula(if(b2:b<>“”,concatenate(if(and(b2:b =“Animal”,OR(c2 =“small”,c2 =“medium”)),“野兽形状1 “,”“),if(和(b2:b =”动物“,或(c2 =”微小“,c2 =”大“)),”野兽形状2“,”“)
然而输出是错误的,我还没弄清楚原因。我看过一些地方的注释,这些注释表明AND和OR无效,因为它们有单个输出语句,并且连接必须用&替换,但即使删除它也不起作用。
答案 0 :(得分:3)
将&替换为*
,将OR替换为+
:
if(and(b2:b="Animal",OR(c2="small",c2="medium"))
变为:
if( (b2:b="Animal") * ((c2:c="small") + (c2:c="medium")) )
array-formula必须与之合作。