Excel 货币的 SUM 函数

Excel SUM function for currency

我要求和的单元格是:

A1 =DOLLAR(10.45)
B1 =DOLLAR(10)

当我使用 SUM 函数时:

=SUM(A1+B1)

有效,给了我 20.45。但如果我这样做:

=SUM(A1:B1)

我得到了#VALUE!错误。

我有两个问题:

  1. 为什么两个公式的行为不同?为什么将其设为范围会改变单元格值的解释方式?

  2. 是否可以编写一个使用范围对美元金额求和的函数?

=SUM(A1+B1) 其实就是两个运算。首先,“+”运算符对两个单元格求和:

=SUM(20.45)  

接下来,SUM() 函数对参数求和,现在只包含“20.45”

=20.45

正确的语法是

=SUM(A1,B1)

=SUM(A1:B1)

同样有效。它们对您不起作用,因为 DOLLAR() 函数将数字转换为具有特定格式的文本值。 SUM() 不会将文本转换为数字,但显然“+”会。将“10.45”和“10”的值放入单元格并使用右键单击菜单中的 "Format Cells" 选项将它们格式化为货币可能会更好。这将允许您对值使用函数,同时将它们显示为货币。

我解决这个问题的方法是有一个小列,其中包含没有 DOLLAR 函数的实际公式。字体设置为白色,使其保持“不可见”状态。这仍然是 numeric/decimal,因此允许 SUM 函数正常工作。然后我有另一个用于显示的列,它在 small/white 列上使用 DOLLAR 函数,并具有更大的字体大小,以便弹出。 注意 H15 列及以后 附件是供参考的文件。 Sample Excel File

注意:这里的 H15 单元格字体 Grey/Gray 只是为了展示工作原理。