Suma zwracająca 0 w Excelu


12

Pracuję nad arkuszem kalkulacyjnym Excel i kiedy używam formuły SUM w komórce, a następnie wybieram kolumny, zwraca 0. Myślę, że wynika to z podwójnych cudzysłowów w komórce. Próbowałem sformatować komórki, ale nadal zwraca 0.

Korzystam z pakietu Microsoft Office 2010

Zrzut ekranu wyniku

Odpowiedzi:


5

Aby usunąć podwójne cudzysłowy, wybierz komórki do konwersji i użyj, Find->Replaceaby zmienić quote ( ") na nic.

Jeśli komórki pozostaną tekstem, oto metoda , która przekonwertuje tekst na liczby za pomocą Paste Specialpolecenia.

  1. W dowolnej pustej komórce wpisz wartość 1
  2. Upewnij się, że komórka, w której wpisałeś 1, jest sformatowana jako liczba
  3. Wybierz komórkę za pomocą 1 i Copy
  4. Wybierz komórki z wartościami, które chcesz przekonwertować na liczby
  5. Wybierać Paste Special
  6. W obszarze Operationkliknij, Multiplya następnie kliknijOK

Problem nie pochodzi z cytatów. Cytaty pokazane na zrzucie ekranu są tutaj, ponieważ wartości są tekstami, a nie liczbami, a wartość nie zawiera żadnych cytatów. Powodem jest to, że we francuskim języku ,jest separatorem dziesiętnym, a nie .. Wartości takie jak 123.45teksty i nie można ich sumować. Mnożenie przez 1, tak jak sugerujesz, również nie działałoby w tym przypadku, ponieważ nie jest to sytuacja „liczby przechowywane jako tekst”, ale raczej sytuacja „tekst przechowywany jako tekst”. Jeśli zamienisz kropki przecinkami, Excel zamieni tekst na liczby rzeczywiste (dotyczy to tylko francuskich ustawień regionalnych).
piko

7

„Liczby”, które próbujesz dodać, to Teksty , a nie liczby.

Dzieje się tak, gdy zostaną załadowane ze źródeł, które je odpowiednio oznaczają, lub gdy format komórki zostanie ustawiony nieprawidłowo.

Niestety nie ma prostej metody naprawy za pomocą dwukrotnego kliknięcia - zmiana formatu komórek nie spowoduje zmiany zawartości, konieczne będzie ponowne wprowadzenie każdej wartości. Istnieje jednak kilka sposobów, aby to naprawić:

  1. Jeśli załadowałeś dane ze źródła CSV lub innego źródła innego niż Excel, najłatwiej to powtórzyć i zaznaczyć kolumnę jako „Liczba” zamiast „Tekst”. Aby to zrobić, otwórz pusty arkusz Excela, przejdź do Dane / Z tekstu i postępuj zgodnie z instrukcjami kreatora. W kroku 3/3 kliknij kolumnę i wybierz „Ogólne”, a nie „Tekst”

  2. jeśli nie jest to opcja, możesz użyć kolumny pomocnika (jak obok wartości), a następnie wejść =VALUE(E1)do F1 i skopiować ją. Ta kolumna będzie teraz możliwa do zsumowania. Możesz także skopiować zawartość kolumny F i „Tylko wklej / wartości” nad kolumną E, a następnie usunąć kolumnę pomocniczą.

  3. trzecią opcją jest połączenie tego w formule Array: zamiast =SUM(E10:E13)używać =SUM(VALUE(E10:E13))i nacisnąć CTRLSHIFTENTER(zamiast tylko ENTER).


Próbowałem z rozwiązaniem 2 i 3, ale =SUM(VALUE(E10:E13))zwracany BŁĄD, więc nie ma rozwiązania. Ale faktycznie plik ma format csv, czy istnieje sposób na konwersję go do formatu .xlsx i oznaczenie kolumny jako liczba.
Dziękuję

@ fixer1234 Wydaje mi się, że sugerowano to w odpowiedzi.
techraf

@techraf, tak. Próbowałem odnieść się do komentarza OP, ale mój komentarz po prostu wprowadził zamieszanie.
fixer1234,

@techraf i @Aganju zastosowałem nawet funkcję VALUE na każdej komórce, ale nadal zwraca błąd=SUM(VALUE(E10):VALUE(E13))
Haithem Rihane

@HaithemRihane, które nie mogą działać, nie jest w ten sposób formułą Array. Czy postępowałeś zgodnie z instrukcją za pomocą CTRL + SHIFT + RET? Wynik wyświetli się tak, ={SUM(VALUE(E10:E13))}jakbyś nigdy nie wpisał {}. Dodałem również szczegółowe instrukcje dla 1.
Aganju

3

Używam również Excela z francuskimi ustawieniami regionalnymi i często napotykam ten problem z plikami CSV. Jak wyjaśniają inni, liczby francuskie używają śpiączki jako separatora dziesiętnego, a liczba podobna 123.45jest interpretowana przez Excel jako tekst.

Najszybszym sposobem na obejście tego jest zastąpienie .go ,. Możesz to zrobić szybko za pomocą funkcji Znajdź / Zamień, zgodnie z sugestią Davida.

Dla tych, którzy dość często spotykają się z tym problemem, możesz skorzystać z tego fragmentu kodu (na podstawie tej odpowiedzi ), zapisać go w skoroszycie OSOBISTYM i przypisać go do przycisku na wstążce:

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

Mam nadzieję, że pomaga to ludziom, którzy doświadczają tego niepotrzebnego problemu!


Dodatkowa dokumentacja

  1. Jak przypisać makra do wstążki
  2. Skopiuj swoje makra do osobistego skoroszytu makr

2

Komórki, które próbujesz dodać, nie są widoczne jako liczby. Jest tak, ponieważ jest kropka „”. a nie przecinek „,” reprezentujący dziesiętną część liczby.

Znacznie szybszym sposobem naprawienia tego jest użycie funkcji find (ctrl + F), find all "." i zamień na „,”.


@ fixer1234 faktycznie, David ma rację. We francuskich ustawieniach regionalnych, które też mam, przecinek jest separatorem dziesiętnym. Kropka w ogóle nie jest używana do liczb. Problemem PO jest po prostu, że numery są rzeczywiście tekst, i to naprawić, trzeba wymienić .z ,. Oczywiście ma to zastosowanie tylko we francuskich (i podobnych) lokalizacjach.
piko

1
  1. Podświetl kolumnę, którą próbujesz SUMOWAĆ, kliknij prawym przyciskiem myszy i sformatuj komórki.

  2. Wybierz Liczba, ale pamiętaj, aby ustawić miejsca dziesiętne na 0, jeśli nie dotyczy to wartości. Teraz, chociaż zmieniłeś format kolumny, nie oznacza to, że kolumna oficjalnie przekonwertowała wszystkie wartości na liczby, więc wykonaj następujące czynności, aby rozwiązać ten problem

  3. Ponownie podświetl całą kolumnę i kliknij kartę Dane, a następnie „Tekst do kolumn”

wprowadź opis zdjęcia tutaj

  1. Wybierz opcję Rozdzielane, kliknij przycisk Dalej

  2. Odznacz Tab i po prostu kliknij Dalej wprowadź opis zdjęcia tutaj

  3. Kliknij przycisk Zakończ

Suma powinna teraz odzwierciedlać liczbę!


-1

Otwórz nowy arkusz Excell. sformatuj arkusz jako liczby, usuń dziesiętne, jeśli ich nie potrzebujesz. następnie skopiuj oryginalny arkusz i wklej go jako wartości tylko do arkusza, który formatujesz tylko jako liczby. Powinienem rozwiązać twój problem, być może będziesz musiał sformatować niektóre arkusze do analizy danych lub cokolwiek innego, czego potrzebujesz i zrobić wszystko na swoich polach, jeśli je oddzieliłeś, ale twoje formuły powinny działać, głupie rzeczy sprawiły, że zmarnowałem pół dnia na rozwiązywanie problemu


-1

Upewnij się, że nie masz żadnych ukrytych wierszy. Miałem dwa rzędy, które były ukryte, a kiedy zdałem sobie z tego sprawę i usunąłem te wiersze, moje obliczenia w końcu zadziałały.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.