【发布时间】:2020-01-29 13:08:58
【问题描述】:
我有这个数字模板格式:
[>=999950]0.0,,"M";[<=-999950]0.0,,"M";0.0,"K"
但是我怎样才能让 Zeros 显示为“-”?
【问题讨论】:
标签: google-sheets
我有这个数字模板格式:
[>=999950]0.0,,"M";[<=-999950]0.0,,"M";0.0,"K"
但是我怎样才能让 Zeros 显示为“-”?
【问题讨论】:
标签: google-sheets
我认为你不能:
条件只能应用于前两个子格式,如果一个数字匹配多个,它将使用它匹配的第一个。如果有第三种格式,它将用于“其他所有”,否则如果数字与任何一种格式都不匹配,它将被渲染为所有“#”填充单元格宽度。第四种格式始终用于文本(如果存在)。
来源:https://developers.google.com/sheets/api/guides/formats#meta_instructions
【讨论】:
我可以建议你寻找这样的东西
[>=999950]0.0,,"M";[<=-999950]0.0,,"M";#,,"-"
正如@Benoît Wéry 所说,这是不可能的。但我认为你可以。
我正在使用一个简单的脚本来构建一个好的视图
function formatToMKZeros(range) {
var values = range.getValues();
return range.setNumberFormats(
range.getNumberFormats().map(function(row, r) {
return row.map(function(format, c) {
return isNumeric(values[r][c])
? values[r][c] !== 0 && Math.abs(values[r][c]) < 999950
? '[<999950]0.0,"K";[>-999950]0.0,"K"'
: '[>=999950]0.0,,"M";[<=-999950]0.0,,"M";#,,"-"'
: format;
});
})
);
}
【讨论】: