未换行的文本不会流入链接的单元格

未换行的文本不会流入链接的单元格

我已将包含文本流动的单元格链接到原始单元格中的空相邻单元格。

在目标表中,空单元格显示 0,并且流动的文本消失。

抑制 Excel 选项中的 0 并不能解决问题,看来目标单元格中​​的链接本身会停止换行。

查看文本的唯一方法是删除链接,但如果我更改原始文本,它就不会更新。

如果原始相邻单元格为空(即链接值返回 0),是否有人知道强制目标单元格流动的解决方法?

或者(第二选择)强制选定的目标单元格流动,而不考虑相邻单元格的内容?

答案1

我认为@fixer1234 描述得正确,

文本仅流入空的细胞。空的不是包括 0、空白,或者包含导致空白、零、“”或其他结果的公式。

所以唯一的选择就是消除您希望它流到的那些单元格中的公式(和其他任何内容)。(这可能对您没有帮助......但这就是限制)

答案2

我非常同意另一个答案——这不是 Excel 本身能做的事情。不过,我确实有几点建议:

一、花哨的工作表函数

在目标表上,

  • 放入=IF(A1<>"", LEFT(A1,5), "")第一个单元格,
  • 放入=IF(B1<>"", LEFT(B1,5), MID(A1,6,5))第二个单元格,
  • 放入=IF(C1<>"", LEFT(C1,5), IF(B1<>"", MID(B1,6,5), MID(A1,11,5))) 第三个单元格,
  • ETC。

用对源表的引用替换A1B1C1等。也就是说,您将“手动”处理文本溢出。除非您使用等宽字体(如 Courier 或 Consolas),并将所选字体的列宽调整为 5 个字符宽(或调整 5 以匹配列宽),否则这看起来会很丑陋。如果您希望列宽不同,这会变得更加复杂。

如果希望文本在溢出时换行,则可以使用以下方法很多更复杂。

二、VBA

任何一个:

  1. 放弃使用 Excel 将一个单元格链接到其他单元格的功能的想法。定义一个 VBA 子程序以将源工作表复制到目标工作表。 
  2. 编写一个 VBA 子程序来执行另一个答案所建议的操作 — 对于目标工作表中的每个单元格,查看源工作表中的相应单元格。如果源单元格为空,则将相应的目标单元格设置为空。如果源单元格不为空,则将相应的目标单元格设置为对源单元格的引用。

您可能希望每次更改源表时都运行其中之一;或者您可以按需执行。您应该考虑如何处理计算结果为空字符串但不为空的源单元格;例如,它们包含=""或类似的东西=IF(Q42>=100, "red hot", "")

我的个人观点:选项2更好。


PS 你可能想看看 在 Excel 中引用空白单元格时显示空白,如果你还没有看过的话。据我所知,它并没有直接回答你的问题,但它对相关主题的讨论可能对你有用。

相关内容