Fer*_*ing 2 google-sheets array-formulas
我正在研究我认为相当直接的数组公式,我只需要一个单元格条目,而不必将其复制到 100 多行。
我正在制作一个电子表格,用于 Pathfinder 中的野兽形状、元素身体和植物形状法术。
我的桌子看起来像
_________A___________B____C
1___拼写名称_____类型_____尺寸
其中 A2 将包含数组公式。B2:B 将包含动物、植物、元素、魔兽。C2:C 将包含大小范围。
我试过了
ARRAYFORMULA(if(B2:B<>"",CONCATENATE(if(AND(B2:B="Animal", OR(C2:C="Small", C2:C="Medium")),"野兽形状1 ","失败 BS1"),if(AND(B2:B="Animal", OR(C2:C="Tiny", C2:C="Large")),"野兽形态 2","失败 BS2" )),“失败其他”))
和
=ARRAYFORMULA(if(B2:B<>"",if(and(B2:B="Animal",C2:C="Small"),"Beast Shape 1", "not"), "if fail") )
但是它们会产生错误的输出。我也尝试了其他几个,但有各种问题,通常没有传播到所有细胞,或者只是有错误的信息。即使我尝试只使用一个语句。
最初我的计划是有一个包含多个 if 语句的 concat 语句,这些语句会产生法术名称或什么都不产生。它看起来像
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")) )
array-formula必须使用它。
| 归档时间: |
|
| 查看次数: |
3669 次 |
| 最近记录: |