P S*_*dhu 5 excel excel-formula
我正在处理 Excel 工作表,其中有两种不同的货币。一种是澳元(AUD/$)),另一种是印度卢比(INR/Rs)。
要求是在同一个 Excel 工作表中,这两种货币的显示格式应符合国家标准,即美元为美元格式分组,卢比为印度卢比格式分组。
因此,我无法在区域和语言下的其他设置下使用自定义格式。
最终预期结果如下:
|Column A | Column B |
|AUD | INR |
|$ 98,765,432.10 | Rs 9,87,65,432.10 |
Run Code Online (Sandbox Code Playgroud)
我尝试使用单元格格式(在 Windows Excel 上按 Ctrl+1)并添加来自互联网的以下代码:
*[>=10000000]"Rs "##\,##\,##\,##0;[>=100000]"Rs " ##\,##\,##0;"Rs "##,##0*
Run Code Online (Sandbox Code Playgroud)
在这里,我观察到该代码仅适用于正数,对于任何负数都无效。
编写这段代码的标准是; 正数的格式;负数的格式;零的格式;因此文本的格式 ;
[>=10000000]"Rs "##\,##\,##\,##0; --> is for positive number only
[>=100000]"Rs " ##\,##\,##0; --> is for negative number only
"Rs "##,##0 --> is for zero
Nothing for text --> for text (nothing specified)
Run Code Online (Sandbox Code Playgroud)
我不明白上面的代码是如何工作的!
我的部分理解是,代码使用条件格式,仅允许测试两个条件,例如 [蓝色];[红色] 所以两个请求:
问候PSS
小智 1
我不太了解卢比的标准,但如果你碰巧还在考虑这个......
建议
如果您能够将数据(数字/计算)与数据的表示形式分开...您可以将所有数字放在一列中,然后使用 TEXT()、SUBSTITUTE() 和 CONCAT() 格式化您的数据供演示:
A1=987654532.10
B1=="Rs "&SUBSTITUTE(TEXT(D2,"## ## ## ###.00"), " ", ",")
根据我的尝试,看起来它会正确显示正数和负数。它还会删除前导数字并提供您发布的解决方案中缺少的小数点。
最大的缺点是这将 B1 提供为文本单元格。它确实只适合演示。计算必须在 A1 上......但至少 B1 会适当地反映这些。
第二个缺点是您失去了 A1 中负数上出现的任何自动着色。要将红色应用于负数的 B1...设置取决于 A1 < 0 的条件格式。
其他的东西
基本上,Excel 看起来只喜欢一种数字分组:一次三位数字。在数字格式文本中,逗号实际上并不告诉 Excel“输入逗号”。逗号通常表示“除以 1000”。
MS 提供了一个示例,例如 72567,格式为“#”,显示为 73(Excel 在此处四舍五入)。“#,###”将产生 72,567 ...但“#,#”或“##,00”也是如此。啊。
使用数字格式化接口很难(在这种情况下几乎不可能)对数字进行重新分组。
在您发布的格式文本中,作者决定强制 Excel 在特定位置放置逗号。他们通过为有限范围的正数提供明确的格式来做到这一点。将 , 放在格式字符串中会强制 Excel 无论如何插入逗号。作者获得/确保了准确的位置,但他们必须考虑不同长度的数量。这意味着他们无法保留所有四个 pos/neg/zero/text。相反,他们决定仅准确呈现三个范围(和文本):
值得注意的是,这意味着他们错过了一堆数字:所有负数,所有超过 1000 万的数字,以及所有零以上六位数的数字:100,000 到 999,999 意外地在前面包含一个(强制)逗号,即使不需要。765432.10 显示为卢比,7,65,432.10。
归档时间: |
|
查看次数: |
529 次 |
最近记录: |