Somma che restituisce 0 in Excel


12

Sto lavorando su un foglio di calcolo Excel e quando uso una formula SOMMA in una cella e quindi seleziono le colonne, viene restituito 0. Penso che sia dovuto alle doppie virgolette nella cella. Ho provato a formattare le celle ma ancora ritorna 0.

Sto usando Microsoft Office 2010

Schermata del risultato

Risposte:


5

Per rimuovere le virgolette doppie, selezionare le celle da convertire e utilizzare Find->Replaceper modificare quote ( ") in nulla.

Se le celle rimangono come testo, ecco un metodo che convertirà il testo in numeri usando il Paste Specialcomando.

  1. In qualsiasi cella vuota, digitare il valore 1
  2. Assicurati che la cella in cui hai digitato 1 sia formattata come un numero
  3. Seleziona la cella con 1 e Copy
  4. Seleziona le celle con i valori che desideri convertire in numeri
  5. Scegliere Paste Special
  6. In Operation, fare Multiplyclic su e quindi fare clic suOK

Il problema non deriva dalle virgolette. Le virgolette mostrate nello screenshot sono qui perché i valori sono testi, non numeri, e il valore non contiene alcuna citazione. Il motivo è che in una locale francese ,è il separatore decimale, no .. Quindi valori come 123.45sono testi e non possono essere riassunti. Moltiplicare per 1 come suggerisci non funzionerebbe neanche in questo caso, perché non si tratta di una situazione "numeri memorizzati come testo", ma piuttosto di una situazione "testo memorizzato come testo". Se sostituisci i punti con le virgole, Excel convertirà i testi in numeri reali (questo vale solo per le impostazioni internazionali francesi).
piko,

7

I "numeri" che stai tentando di aggiungere sono Testi , non numeri.

Ciò accade quando vengono caricati da fonti che li contrassegnano di conseguenza o quando il formato della cella è impostato in modo errato.

Sfortunatamente, non esiste un semplice modo in due clic per risolverlo: cambiando il formato delle celle non cambierà il contenuto di conseguenza, dovrai inserire nuovamente ciascun valore. Esistono diversi modi per risolverlo, tuttavia:

  1. Se hai caricato i dati da un CSV o da un'altra fonte non Excel, la cosa più semplice è ripeterli e contrassegnare la colonna come "Numero" anziché "Testo". Per fare ciò, apri un foglio Excel vuoto, vai a Dati / Da testo e segui la procedura guidata. Nel passaggio 3/3, assicurati di fare clic sulla colonna e seleziona "Generale", non "Testo"

  2. se questa non è un'opzione, puoi usare una colonna helper (come proprio accanto ai valori), entrare =VALUE(E1)in F1 e copiarlo. Questa colonna sarà ora sommabile. È inoltre possibile copiare il contenuto della colonna F e "Solo incolla / Valori" sulla colonna E, quindi eliminare la colonna helper.

  3. la terza opzione è combinare questo in una formula di matrice: invece di =SUM(E10:E13)usare =SUM(VALUE(E10:E13))e premere CTRLSHIFTENTER(invece di solo ENTER).


Ho provato con la soluzione 2 e 3 ma l' =SUM(VALUE(E10:E13))ERRORE di ritorno quindi nessuna soluzione. Ma per fortuna il file è formato CSV, c'è un modo per convertirlo in .xlsx e contrassegnare la colonna come Numero.
Grazie

@ fixer1234 A me sembra che sia stato suggerito nella risposta.
techraf,

@techraf, sì. Stavo cercando di rispondere al commento del PO, ma il mio commento ha appena aggiunto confusione.
fixer1234

@techraf e @Aganju ho persino applicato la funzione VALUE su ogni cella, ma restituisce comunque un errore=SUM(VALUE(E10):VALUE(E13))
Haithem Rihane,

@HaithemRihane, che non può funzionare, non è una formula Array in quel modo. Hai seguito le istruzioni con CTRL + MAIUSC + RET? Il risultato verrà visualizzato come ={SUM(VALUE(E10:E13))}se non si fosse mai digitato il {}. Ho anche aggiunto le istruzioni dettagliate per 1.
Aganju

3

Uso anche un Excel con impostazioni locali francesi e spesso incontro questo problema con i file CSV. Come spiegato da altri, i numeri francesi usano un coma come separatore decimale e un numero simile 123.45viene interpretato come testo da Excel.

Il modo più veloce per aggirare questo è sostituire .con ,. Puoi farlo rapidamente con Trova / Sostituisci, come suggerito da David.

Per coloro che affrontano questo problema abbastanza spesso, puoi usare questo pezzo di codice ( adattato da questa risposta ), salvarlo nella tua cartella di lavoro PERSONALE e assegnarlo a un pulsante nella barra multifunzione:

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

Spero che ciò aiuti le persone a riscontrare questo problema inutile!


Documentazione aggiuntiva

  1. Come assegnare macro alla barra multifunzione
  2. Copia le tue macro in una cartella di lavoro Macro personale

2

Le celle che stai tentando di aggiungere non vengono visualizzate come numeri. Questo perché c'è un punto "." e non una virgola "," per rappresentare la parte decimale del numero.

Un modo molto più veloce per risolvere questo problema è usare la funzione find (ctrl F), find all "." e sostituisci con ",".


@ fixer1234 in realtà, David ha ragione. Nella locale francese, che ho anche, virgola è il separatore decimale. Il periodo non viene utilizzato per i numeri. Il problema del PO è semplicemente che i numeri sono in realtà testo e per risolverlo è necessario sostituirlo .con ,. Ovviamente, si applica solo alle impostazioni locali francesi (e simili).
piko,

1
  1. Evidenzia la colonna che stai tentando di SOMMARE, fai clic con il pulsante destro del mouse e formatta le celle.

  2. Seleziona Numero ma ricorda di impostare le cifre decimali su 0 se non si applica al valore. Ora, sebbene tu abbia cambiato il formato della colonna, non significa che la colonna abbia convertito ufficialmente tutti i valori in numeri, quindi fai quanto segue per risolvere questo

  3. Evidenzia nuovamente l'intera colonna e fai clic sulla scheda Dati, quindi su "Testo in colonne"

inserisci qui la descrizione dell'immagine

  1. Seleziona Delimitato, fai clic su Avanti

  2. Deseleziona la scheda e fai clic su Avanti inserisci qui la descrizione dell'immagine

  3. Fai clic su Fine

La somma dovrebbe ora riflettere un numero!


-1

Apri un nuovo foglio Excell. formatta il foglio come numeri, rimuovi i decimali se non ti servono. quindi copia il foglio originale e incollalo come valori solo nel foglio che formatti solo come numeri. Se dovessi risolvere il tuo problema potresti dover formattare alcuni fogli per il datesting o qualsiasi altra cosa tu abbia bisogno e fare tutto sulle tue scatole se li avessi separati, ma le tue formule dovrebbero funzionare cosa stupida mi ha fatto perdere mezza giornata a capire il suo problema


-1

Assicurati di non avere righe nascoste. Avevo due file che erano nascoste e dopo che me ne sono reso conto e rimosso quelle righe, il mio calcolo ha finalmente funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.