如何使用 ARRAYFORMULA() 将整行设置为等于某个值?(在 Google 表格中)

如何使用 ARRAYFORMULA() 将整行设置为等于某个值?(在 Google 表格中)

我想将特定行中所有单元格的内容设置为相同的值,有点像让横幅横跨整个电子表格的宽度。我正在使用 Google 表格。

类似的问题被问到这里,但我想动态地执行此操作。我想要的实际内容永远不会改变,但我使用的电子表格经常添加列。我希望此行中的每一列都显示相同的文本,而不必每次添加列时都手动复制它。

具体场景

从 D1 开始,我希望第 1 行(D1 右侧)的所有单元格都包含文本“横幅文本”。我找到了一种方法来实现这一点(见下文),但我希望找到一种更优雅且不会破坏电子表格的解决方案。

我目前所做的

在 D1 中,我有以下公式:

=ARRAYFORMULA(IF(D2:2=$A$2,"Banner text","Banner text"))

这似乎让 Google Sheets 非常困惑。当我输入公式时,单元格内容在以下位置快速闪烁:

  • Banner text在所有必要的细胞中
  • #REF!仅在包含公式的单元格中,声称存在循环依赖

几秒钟后,随机地(?)落在其中一个上。我很好奇为什么它会认为存在循环依赖,但我主要关心的只是原始问题的简洁解决方案。

答案1

D1 中的公式

=ARRAYFORMULA(IFERROR(D2:2/0,"Banner text"))

从范围内创建一个错误数组D2:2并使用 IFERROR 将其替换为“横幅文本”。

将单元格除以零将根据其内容返回以下两种错误之一:

  1. #DIV/0!如果数字或等价物*
  2. #VALUE!如果文本字符串

*可以强制转换为数字,例如空白单元格(零)或与语言环境的数字格式之一匹配的文本字符串。

相关内容