谷歌表格将数字格式化为十亿/百万/数千,巧妙地[重复]
Posted
技术标签:
【中文标题】谷歌表格将数字格式化为十亿/百万/数千,巧妙地[重复]【英文标题】:Google sheetsFormat numbers as billions / millions / thousands, smartly [duplicate] 【发布时间】:2020-01-29 13:08:58 【问题描述】:我有这个数字模板格式:
[>=999950]0.0,,"M";[<=-999950]0.0,,"M";0.0,"K"
但是我怎样才能让 Zeros 显示为“-”?
【问题讨论】:
【参考方案1】:我认为你不能:
条件只能应用于前两个子格式,如果一个数字匹配多个,它将使用它匹配的第一个。如果有第三种格式,它将用于“其他所有”,否则如果数字与任何一种格式都不匹配,它将被渲染为所有“#”填充单元格宽度。第四种格式始终用于文本(如果存在)。
来源:https://developers.google.com/sheets/api/guides/formats#meta_instructions
【讨论】:
【参考方案2】:我可以建议你寻找这样的东西
[>=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;
);
)
);
The full
code
关于格式的精彩文章Handling Negative Numbers in a
Complex Custom
Format
还有简单的示例The Only Spreadsheet Custom Number Format You’ll
Ever
Need
【讨论】:
是的,但我仍然需要显示 K 值,用于正值和负值以上是关于谷歌表格将数字格式化为十亿/百万/数千,巧妙地[重复]的主要内容,如果未能解决你的问题,请参考以下文章