エクセルでSUMが0を返す
エクセルのスプレッドシートで作業をしているのですが、セル内でSUM式を使用してから列を選択すると0
が返ってきます。セル内にダブルクォーテーションが入っているのが原因だと思います。セルの書式設定をしてみましたが、やはり0
が返ってきます。
Microsoft Office 2010
エクセルのスプレッドシートで作業をしているのですが、セル内でSUM式を使用してから列を選択すると0
が返ってきます。セル内にダブルクォーテーションが入っているのが原因だと思います。セルの書式設定をしてみましたが、やはり0
が返ってきます。
Microsoft Office 2010
残念ながら、2 回クリックするだけの簡単な修正方法はありません - セルのフォーマットを変更しても内容は変わらないので、各値を入力し直す必要があります。しかし、それを修正するいくつかの方法があります:
1.あなたがCSVまたは他の非Excelソースからデータをロードした場合、最も簡単なのは、それを繰り返すことであり、'テキスト'の代わりに'数字'として列をマークします。これを行うには、空白のExcelシートを開き、「データ/テキストから」に移動し、ウィザードに従ってください。ステップ3/3では、列をクリックして、'テキスト’
2ではなく'一般'を選択することを確認してください。これがオプションではない場合は、ヘルパー列(値の右隣のような)を使用して、F1に=VALUE(E1)
を入力し、それをコピーします。これでこの列は合計可能になります。また、F列と「貼り付け/値のみ」の内容をE列の上にコピーして、ヘルパー列を削除することもできます。
私もフランス語ロケールのExcelを使っていますが、CSVファイルでこの問題によく直面します。他の人が説明しているように、フランス語の数字は小数の区切り文字としてコマを使用しており、123.45
のような数字はExcelではテキストとして解釈されます。
かなり頻繁にこの問題に直面している人のために、あなたはコードのこの部分を使用することができます この回答から適応 )、あなたの個人的なワークブックに保存し、リボンのボタンに割り当てる:
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
この不必要な問題を経験している人々を助けることを願っています!
追加のドキュメント
二重引用符を削除するには、変換するセルを選択し、Find->Replace
を使用して引用符("
)を無に変更します。
セルがテキストのままの場合、ここでは、Paste Special
コマンドを使用してテキストを数字に変換する方法があります。1を入力したセルが数字としてフォーマットされていることを確認します。1 と Copy
4. 数値に変換したい値を持つセルを選択します。 5. Paste Special
を選択します。 6. Operation
の下で、Multiply
をクリックし、OK
をクリックします。
SUMしようとしている列をハイライト表示し、右クリックして[セルの書式設定]を選択します。数値を選択しますが、値に適用されない場合は小数点以下を0に設定することを忘れないでください。列のフォーマットを変更しても、列が正式にすべての値を数値に変換したわけではありませんので、次のようにして解決します。列全体を再度ハイライトして、データタブをクリックし、「列へのテキスト」をクリックします。区切り] を選択し、[次へ] をクリックします
タブのチェックを外して、次へ
Finish
をクリックしてください。