2016-07-30 16:06:43 +0000 2016-07-30 16:06:43 +0000
11
11

Excel中的SUM返回0

我在一个Excel电子表格中工作,当我在一个单元格中使用SUM公式,然后选择列时,它返回0。我认为这是由于单元格中的双引号造成的。我试着将单元格格式化,但它仍然返回0

答案 (7)

6
6
6
2016-07-30 16:14:08 +0000

你要添加的 “数字 "是Texts,而不是数字。

当你从CSV或其他非Excel数据源加载数据时,或单元格的格式设置不正确时,就会出现这种情况。有几种方法可以解决这个问题:

1.如果你从CSV或其他非Excel数据源中加载了数据,最简单的方法就是重复操作,将列标记为 "Number "而不是 "Text"。要做到这一点,打开一个空白的Excel工作表,进入数据/从文本,并按照向导进行操作。在步骤3/3中,确保点击该列并选择 "常规",而不是 "文本”

2.如果没有这个选项,可以使用辅助列(如值旁边),并在F1中输入=VALUE(E1),然后复制下来。这时,这个列就可以进行求和了。然后你也可以将F列和 “Paste/Values only "的内容复制到E列,然后删除辅助列。

3
3
3
2018-05-29 10:55:11 +0000

我也是用的是法式的Excel,在CSV文件中经常遇到这个问题。正如其他人所解释的那样,法语数字使用逗号作为小数分隔符,像123.45这样的数字会被Excel解释为文本。

最快的方法就是用.替换掉,。你可以按照David的建议,用Find/Replace快速完成。

对于经常遇到这个问题的人来说,你可以使用这个代码从这个答案改编),把它保存在你的个人工作簿中,然后在ribbon中指定一个按钮:

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

希望能帮助遇到这个不必要的问题的人!


****附加文档*

  1. 如何将宏分配到功能区](http://www.dummies.com/software/microsoft-office/excel/how-to-assign-macros-to-the-ribbon-and-the-quick-access-toolbar-in-excel-2013/)
  2. 复制你的宏到个人宏工作簿](https://support.office.com/en-us/article/Copy-your-macros-to-a-Personal-Macro-Workbook-AA439B90-F836-4381-97F0-6E4C3F5EE566) &003
3
3
3
2016-07-30 19:11:20 +0000

要删除双引号,请选择要转换的单元格,然后使用Find->Replace将引号(")改为无。确保输入1的单元格被格式化为数字 3. 选择带有1和Paste Special的单元格 4. 选择要转换为数字的单元格 5.选择Copy 6.在Paste Special下,点击Operation,然后点击Multiply

2
2
2
2017-09-21 10:25:43 +0000

你要添加的单元格没有被看作是数字。这是因为有一个句号". “而不是逗号”,“,”, “来表示数字的小数部分。

1
1
1
2017-08-25 17:37:59 +0000
  1. 1.突出显示你要求和的列,右键单击右键,选择 “单元格格式化"。2. 选择 "数字",但如果不适用于该值,记得要把小数位设为0。现在,虽然你改变了列的格式,但并不意味着该列已经正式将所有的值都转换为数字,所以要解决这个问题

  2. 再次高亮显示整个列,然后点击数据选项卡,然后 "文本到列”

  1. 选择Delimited,点击Next

  2. 取消勾选标签,然后点击下一步

  3. 点击完成

总和现在应该反映出一个数字!

-1
-1
-1
2017-01-18 19:27:01 +0000

打开一个新的Excell表,将表格式化为数字,如果不需要的话去掉小数,然后复制你原来的表,并将其作为值粘贴到你的表上,只将其格式化为数字。应该可以解决你的问题,你可能需要格式化一些表,用于datesting或其他任何你需要的东西,如果你把它们分开,但你的公式应该工作愚蠢的事情让我浪费了半天的时间来找出它的问题。

-1
-1
-1
2018-03-26 16:42:44 +0000

确保你没有任何行被隐藏了。我有两行是隐藏的,当我意识到这一点并删除了这些行后,我的计算终于成功了。