Sample File
用户通过从外部源复制来添加新值。 营造出引导空间较小的视觉效果。 普通公式可以删除这个空格:
=""&A1"
↑ 将产生正确的结果。
问题
当我使用时:
function display(rA1) {
var r = SpreadsheetApp.getActiveSheet().getRange(rA1);
return r.getDisplayValues();
}
结果将包含前导空格
测试1
→ 测试1
如果我单击 [Ctrl]+[\],我无法从原始工作表/范围中删除此格式。
UPD1。只能复制和粘贴格式。
最佳答案
这是因为范围具有数字格式:
_-* #,##0.00\ _₽_-;\-* #,##0.00\ _₽_-;_-* "-"??\ _₽_-;_-@
忽略数字格式,文本格式为
_-@
其中,_
根据 documentation意思是
_
:Skips the next character and renders a space. This is used to line up number formats where the negative value is surrounded by parenthesis.
像TEXT
这样的公式和使用range.getDisplayValues()
的脚本可以直接检索格式化的值:
=LEN(TEXT("Text1", "_-* #,##0.00\ _₽_-;\-* #,##0.00\ _₽_-;_-* ""-""??\ _₽_-;_-@"))//6
注意:
格式,即使你没有直接应用,剪贴板中的html数据也可能被sheets应用程序直接转换为数字格式(Sheets api也可以 the same )
关于google-apps-script - 谷歌表格脚本。 getDisplayValues 添加前导空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70505596/