我注意到,与文本不同,日期和数字不会溢出(即使文本环绕设置为“溢出”):
解决方法是选择它们并转到“格式”>“纯文本”,但这会将值更改为实际文本。
另一种解决方法是将它们与相邻单元格合并。
有没有办法输入“2021-04-21”,将其格式化为长日期(星期三,4 月 21 日)并在保留原始输入而不将其与其他单元格合并的同时进行溢出?
正如评论者所说,不。没有办法做到这一点,因为这是预期的行为。但!我以前遇到过并想做类似的事情,这是我使用的解决方法。
据推测,您希望将它们保留为“数字”而不是“文本”的原因是因为这些日期在下游的其他一些公式中使用。因此,我使用的解决方案是继续将该列格式化为纯文本(如您所提到的)以实现所需的“溢出”,但更改引用该单元格的公式。例如,您的公式可以引用 1*A2,而不是引用单元格 A2。出于您正在进行的任何下游计算的目的,该 1* 会将文本“强制”恢复为数字。如果是整个范围,则可以使用 1*A2:A。
设置带有日期的单元格。
使用公式
=TEXT(*ENTER-CELL-REF*,"DDDD, dd mmmm")
引用该单元格
例如,在 A 列中输入您的所有日期(您将其隐藏或将文本设置为与背景颜色相同)。然后在单元格 B1 中输入
=ArrayFormula(TEXT(A1:A,"DDDD, dd MMMM"))
。
如果您的数据已经采用正确的格式,TO_TEXT()可能比TEXT()更简单。其中每一个都可以应用于任何单元格引用、公式或值。
示例:
=TO_TEXT(B1)
- 此单元格看起来与B1
完全相同,包括其格式为日期或数字。包含 TO_TEXT
的单元格的格式将被忽略。=TO_TEXT(SUM(B3:B))
- 您还可以使用任何公式,它将使用引用的第一个单元格的格式显示公式结果。在本例中,使用 B3
的格式。=TO_TEXT(3.14)
- 直接包装一个值是最没有用的,因为你将准确地返回你输入的内容。它的行为与在值前面加上撇号(如 '3.14
)相同。在有原始值的情况下,您可能需要显式指定格式如 TopMarx 的答案所述。