Excel 的“文本换行”(德语:Textumbruch)行为似乎已经改变。
如果“自动换行”处于活动状态,单元格末尾的空格将被截断(不会转移到新行)。编辑单元格时,旧行为仍然可见。
编辑模式:
仅选择/未选择(现在):
我无法确定为什么这种行为发生了变化。
发生了什么?如何将 Excel 恢复为旧行为?
2023 年 11 月 30 日更新 - 有关如何复制此错误的重要信息和附加信息:
当我今天尝试制作一个测试文件并重现这种行为时(就像我昨天对屏幕截图所做的那样),它似乎不起作用,尽管我执行了相同的步骤。
当我尝试重新打开报告给我的原始文件时,该错误仍然可见。我花了一段时间才明白原始“零号病人”文件必须首先打开,并且必须保持打开状态在后台级联触发其他文件中的错误。
我无法共享原始文件,因为它存储了高度机密的客户数据。
我最好的猜测是,大量格式化(例如,一个单元格中不同的字体颜色)和分组单元格分布在数十个表格和数百行中,导致视觉格式出现某种程度的超负荷。
我希望这些信息能够有所帮助。
如果我有时间,我可以尝试重新创建一个填充格式化虚拟数据的 XLSX 文件。
答案1
重复的空格不会成为新行的开始(除非它们不适合单元格宽度);ctrl-enter
会导致换行。
您可以通过在单元格中输入内容来检查,点击ctrl-enter
(不添加空格)并继续输入。最后按 Enter 而不按住 Shift。
如果您将格式设置为Textumbruch
(自动换行),它将在我们通过键入 而添加的行尾字符处开始新行ctrl-enter
。Excel 将此字符识别为CHAR(10)
。
因此,="text1"&CHAR(10)&"text2"
如果启用了自动换行,则将产生两行。
您可以使用它来修复错误的空格:
=SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," ","|"),"||"," ")," |"," "))," ",CHAR(10)),"|"," ")
它可以一次在一个范围内使用。
或者当拥有 Office 365 时:
=TEXTJOIN(CHAR(10),,TRIM(TEXTSPLIT(A1," ",,1)))