arrayformula 似乎只适用于顶级嵌套级别

arrayformula seems to only work at top nesting level

=ARRAYFORMULA(if(isblank(B2:B),"",B2:B))

重复列。但是,

  =ARRAYFORMULA(if(isblank(B2:B),"",CONCATENATE("B=",B2:B))) 

生成一个值以 B= 开头的列,但后面是结果列的每个单元格中 B 列的所有行值的并列。

左边的 B2:B 的效果,即使向下两个嵌套级别,也会产生正确的结果(仅当 B 列在每行中不为空时才值),但效果右边的B2:B,有不同的效果,根据我不明白的条件而变化,有时是单个值,有时扩展为整个数组。这使得 ARRAYFORMULA 对我的应用程序的用处极其有限。我希望结果列只有 B 列相应行中的一个值。

我是否遗漏了有关如何使用 ARRAYFORMULA 的信息?

是否有其他方法可以实现我在结果列中每个单元格前面添加 B= 的目标? (事实上​​ ,我的目标是对单元格值和其他文本进行更复杂的组合,但我将其简化为我不理解的更简单的情况,也许如果我弄清楚了,我可以做更复杂的还有东西)

CONCATENATE 将所有数组合并为一个值。我相信这就是您要找的:

=ARRAYFORMULA(if(B2:B="","",("B="&B2:B)))

这里有一些值得深思的地方。你希望下面的公式做什么?

=ARRAYFORMULA(CONCATENATE(if(isblank(B2:B),"",("B="&B2:B&""))))

也可以尝试 CONCATJOINTEXTJOIN。每个人可能看起来都在做同样的事情。但这些细微的差异让世界变得完全不同。