数组上的 TEXTJOIN() 错误地返回空白

数组上的 TEXTJOIN() 错误地返回空白

总结: TEXTJOIN()数组上返回空白 - 无法使用 VBA 以其他方式解决问题。

由于限制不允许我创建启用宏的工作簿,我创建了几张严重依赖数组函数的工作表。

到目前为止,一切都进展顺利,但我遇到了一个问题TEXTJOIN()

基本上,它是以下公式:

{=TEXTJOIN(CHAR(10);TRUE;IF(A3:A100="test";B3:B100;""))}

返回空白(不是错误)。使用“评估公式”工具显示倒数第二步生成了正确的数组(其中包含两个非空字符串值)。但是,下一步是空的。见屏幕截图:

评估 Textjoin 函数的公式

编辑:更清晰的图片:

评估 Textjoin 的公式,单元格保持为空

这个问题困扰了我很长时间了,所以任何不依赖 VBA 的帮助或替代解决方案都将不胜感激!

答案1

我怀疑您的公式运行正常,但没有 Excel 2016 来验证我的怀疑。我认为您正在连接 100 个回车符。这将导致输出高度超过 1000 像素,但 Excel 只允许行高为 407 像素,因此输出的可见文本部分将被隐藏。

您可以通过以下测试来确认我的怀疑:复制输出单元格 (Summary!C21) 并将其粘贴到空白记事本会话中。如果单元格包含数据,您将能够在记事本中看到它。或者,您可以使用 [F2] 然后 [F9] 将公式转换为其值,然后尝试上下滚动输出。

如果我的怀疑是正确的,恐怕您需要研究另一种显示所需数据的方法 - 可能通过使用额外的公式来过滤掉您想要显示的数据。

答案2

至于“显示所需数据的另一种方法”...虽然 Excel 确实将行高限制为 407 点,而您的数据似乎远远超出了这个范围,导致大部分数据被行高限制所阻挡,但 Excel 不会将其显示限制在这种限制之外。

这可能让我的意思更清楚:如果你有Merge几行单元格,你可以显示远多于 407 点的内容。因此,对于 1,000 点,合并三行单元格,并将三行的行高设置为你喜欢的任何(允许的)高度,只要它们的总和超过 1,000 点,然后看看是否能显示所有内容。如果没有,请为装置增加高度。如果超出需要,请减去一些。

我有一个 24 英寸的“级”显示器,这可能意味着(美国营销撒谎……)高度远不及这个数字,但看看它,假设它有 15 英寸高(宽度和对角线尺寸是多少……以及这些如何增加以声称某个“英寸级”尺寸在这里并不重要……只有高度才是重要的)。407 点大约是 5½ 英寸高,所以应该显示两个这样的单元格。但事实并非如此。Excel 不会用所有这些令人高兴的胡说八道填满窗口。您可能会遇到同样的问题。

如果是,请将放大倍数降低到显示单元格所需的最低水平。或者,如果“单次拍摄”视图对您的使用并不重要,并且新添加的(2021 年,不是 2018 年!)“平滑滚动”就可以了,请保留它,或者找到一些缩小和平滑滚动的完美结合。

看起来很奇怪,但确实有效。通常,除了专门用于查看本质上是报告的内容或打印此类报告的页面外,Merged单元格是不受欢迎的。需要注意的是,这里的本质是“对于任何可能想要对屏幕上的内容进行半复杂使用的东西”,而仪表板和其他报告并非如此。相反,它指的是使用公式来收集和整理一行又一行的数据。如果这不是您对本材料的需求,上述解决方案可能适合您。如果您还需要计算机来处理通过这种方法创建的信息,那么上述显示想法可能不适合您的需求,因为在许多情况下,它会使公式变得非常困难。

相关内容