我正在处理Excel电子表格,当我在单元格中使用SUM公式然后选择列时,它将返回0
。我认为这是由于单元格中的双引号引起的。我试图格式化单元格,但它仍然返回0
。
我正在使用Microsoft Office 2010
我正在处理Excel电子表格,当我在单元格中使用SUM公式然后选择列时,它将返回0
。我认为这是由于单元格中的双引号引起的。我试图格式化单元格,但它仍然返回0
。
我正在使用Microsoft Office 2010
Answers:
您尝试添加的“数字”是文本,而不是数字。
当它们从标记了它们的源中加载时,或者在单元格的格式设置不正确时,就会发生这种情况。
不幸的是,没有简单的两下方法可以解决它-更改单元格的格式不会相应地更改内容,您需要重新输入每个值。但是,有几种解决方法:
如果您是从CSV或其他非Excel来源加载数据,最简单的方法是重复该操作,并将该列标记为“数字”而不是“文本”。为此,请打开空白的Excel工作表,转到“数据/来自文本”,然后按照向导进行操作。在第3/3步中,确保单击该列并选择“常规”,而不是“文本”
如果这不是一种选择,则可以使用一个帮助器列(如值旁边的右侧),并输入=VALUE(E1)
F1,然后将其复制下来。该列现在将可汇总。然后,您还可以将F列的内容和“仅粘贴/值”复制到E列,然后删除帮助程序列。
第三种选择是将其组合为Array-formula:而不是=SUM(E10:E13)
使用=SUM(VALUE(E10:E13))
并按CTRLSHIFTENTER(而不是only ENTER)。
=SUM(VALUE(E10:E13))
返回错误,所以没有解决方案。但是准确的是,该文件的格式为csv,可以将其转换为.xlsx并将该列标记为Number。再次
=SUM(VALUE(E10):VALUE(E13))
={SUM(VALUE(E10:E13))}
{}
我还使用带有法语语言环境的Excel,并且经常在CSV文件中遇到此问题。正如其他人所解释的那样,法语数字使用123.45
逗号作为小数点分隔符,而Excel 这样的数字将其解释为文本。
绕过这个最快的方法,就是更换.
用,
。根据David的建议,您可以使用“查找/替换”快速完成此操作。
对于那些经常遇到此问题的人,您可以使用这段代码(根据此答案改编而成),将其保存在您的PERSONAL工作簿中,并将其分配给功能区中的一个按钮:
Sub Comas2Dots()
Application.ScreenUpdating = False
If (MsgBox("Do you want to replace comas by dots?", vbOKCancel) = vbOK) Then
Const sTEMPCOMMA = "|comma|"
Const sTEMPDOT = "|dot|"
Const sCOMMA = ","
Const sDOT = "."
If TypeName(Selection) = "Range" Then
With Selection
.Replace sCOMMA, sTEMPCOMMA, xlPart
.Replace sDOT, sTEMPDOT, xlPart
.Replace sTEMPCOMMA, sDOT, xlPart
.Replace sTEMPDOT, sCOMMA, xlPart
End With
End If
End If
Application.ScreenUpdating = True
End Sub
希望能帮助人们解决这个不必要的问题!
附加文件
突出显示您要求和的列,右键单击并设置单元格格式。
选择数字,但请记住将小数位设置为0(如果不适用于该值)。现在,尽管您已更改了列的格式,但这并不意味着该列已将所有值正式转换为数字,因此请执行以下操作来解决此问题
再次突出显示整个列,然后单击“数据”选项卡,然后单击“文本到列”
选择定界,单击下一步
取消选中选项卡,然后单击下一步
点击完成
现在总和应该反映一个数字!
,
是小数点分隔符,而不是.
。因此,像123.45
文本这样的值不能被汇总。像您建议的那样乘以1在这种情况下都不起作用,因为这不是“数字存储为文本”的情况,而是“文本存储为文本”的情况。如果将点替换为逗号,则Excel会将文本转换为实数(这仅适用于法语语言环境)。