使用 Excel 动态数组,是否有可能跨合并单元格溢出?

使用 Excel 动态数组,是否有可能跨合并单元格溢出?

[我正在尝试遵循有关回答自己的问题但我不确定我是否做得对]

使用 Excel 动态数组时,在合并单元格之间溢出时,是否有办法避免出现 #SPILL! 错误,如#SPILL! 错误 - 溢出到合并单元格在 support.microsoft.com 上,他们显示了以下内容:

在此处输入图片描述

F2 中的 SORT() 函数无法正确溢出,因为溢出范围中的一个单元格 F6 与另一个单元格 F7 合并。建议的解决方案是取消合并导致问题的单元格,或者将动态数组移动到没有阻碍合并的其他位置。

难道没有更好的办法吗?

答案1

是的,我相信肯定有更好的方法!(再次参见评论来自独一无二的 JeffA。)

事实上,几年前我偶然遇到了这个问题,之后又遇到了几次,但我一直无法弄清楚我到底是怎么做到的。直到现在。

这真的很简单;你只需确保应用合并格式插入导致#SPILL! 错误的公式。

以下是 Microsoft 支持示例。我删除了网格线并添加了一些边框,以明确指出有问题的合并在哪里:

在此处输入图片描述

现在它又出现了,但在右边的 I2:J11 中,你会看到我复制了与 F2:G11 中相同的格式,包括导致问题的合并。我这样做只有一个原因:让我将该格式复制到剪贴板。事实上,正如你所看到的,我刚刚选择了 I2:J11 并完成了这个操作复制

在此处输入图片描述

好的,既然已经完成了复制,然后选择单元格 F2(如果您愿意,可以选择整个范围,F2:G11,但选择 F2 就足够了),然后我执行选择性粘贴->格式化。结果如下:

在此处输入图片描述

您可以看到 #SPILL! 错误已消失,并且 F2 中的 SORT(D2:D11) 公式溢出正常。

我已在 Microsoft 365 订阅中的最新版本的 Excel 上检查了这一点:

  • 苹果系统:Excel 版本 16.68 (22110602),以及
  • Windows 11:Excel 版本 2211 Build 16.0.15822.20000

我还检查了几种与上述情况不同的情况。对我来说,这种情况有点牵强;溢出被一个单元格范围内的单个合并所阻碍,而这些单元格范围内原本没有合并,这种情况似乎有点愚蠢。(当然,这只是微软为他们的文章选择的例证,所以还算公平。)但我经常在处理导入的数据表时,如果标题太长,我不得不使用“文本换行”,就会在现实世界中遇到溢出问题。在这种情况下,溢出问题意味着,如果我想让标题成为溢出数组,我必须容忍非常“高”的行(即它们的行高很大),而我更愿意保持行的高度为标准,并将长标题合并到多行中。这种方法让我可以做到这一点。

但无论如何,值得指出的是,尽管上述方法确实有效,但它似乎有点脆弱。例如,如果在将事情调整到最终工作状态后,我只需选择单元格 F2,将光标放在 SORT() 公式的右侧,然后按 ENTER,那么 #SPILL! 错误就会返回,尽管我没有对任何内容进行任何实际更改。然后,更奇怪的是,如果我执行简单的“撤消”,则不会消除错误。为此,我必须再次复制 I2:J11 中的预格式化范围,然后选择性粘贴->格式化就像我之前做的那样,将其切换回 F2。

最后,我有几个“后续”问题——这也是我在阅读 Atwood 的“回答你自己的问题”评论之前首先要问的问题:

  1. 有人能确认上述方法确实有效吗?
  2. 有人可以建议吗为什么它有效吗(特别是考虑到微软的立场似乎是你不能做我认为这种方法可以让你做的事情)?

相关内容