Excel: Sommare un intervallo solo se la cella di criterio è numerica (ISNUMBER + SUMPRODUCT)

Vuoi sommare gli importi in F2:F892 solo quando la cella corrispondente in G2:G892 è davvero un numero (positivo, negativo o zero)? In questa guida trovi metodi chiari, veloci e compatibili con le diverse versioni di Excel, con esempi e consigli pratici.

Indice

Scenario e obiettivo

Hai due colonne:

  • F2:F892 – importi da sommare;
  • G2:G892 – celle che contengono talvolta numeri, talvolta il testo “Deleted” (o altri testi).

L’obiettivo è calcolare la somma in F solo per le righe in cui G è numerica.

Caso A (già risolto): sommare quando G è “Deleted”

Per completezza, la formula già nota:

=SUMIFS(F2:F892, G2:G892, "Deleted")

Caso B (da risolvere): sommare quando G è numerica

Excel non ha un criterio “è numerico” direttamente in SUMIFS, ma ci sono soluzioni semplici e robuste (anche senza colonne di supporto).

Soluzione rapida (tabella riassuntiva)

MetodoFormulaQuando preferirloNote
1. SUMPRODUCT + ISNUMBER (universale)=SUMPRODUCT(--ISNUMBER($G$2:$G$892), $F$2:$F$892)Sempre (supporta positivi, negativi e zeri; nessuna colonna di appoggio)ISNUMBER restituisce VERO (1) se G è numerica, FALSO (0) altrimenti; il doppio meno -- converte VERO/FALSO in 1/0.
2. Colonna di supportoIn H2 =ISNUMBER(G2) (copia in basso), poi =SUMIFS($F$2:$F$892,$H$2:$H$892,TRUE)Se vuoi rendere il controllo più leggibile o riutilizzarlo in altre formuleOttimo con Tabelle di Excel (ListObject) e per aggiungere altri criteri più avanti.
3. SUMIFS con doppio criterio (solo se i numeri sono sempre ≠ 0)=SUMIFS(F2:F892,G2:G892,">0") + SUMIFS(F2:F892,G2:G892,"<0")Quando sai che in G non ci sono zeriNon include gli zeri; per includerli aggiungi +SUMIFS(F2:F892,G2:G892,"=0"), ma diventa più prolissa.
4. FILTER + SUM (Excel 365/2021+)=SUM(FILTER(F2:F892, ISNUMBER(G2:G892)))Se usi versioni moderne con matrici dinamichePulita e leggibile; se in G ci sono errori, valuta IFERROR per evitarne la propagazione.

Perché SUMIFS da sola non basta

SUMIFS lavora con condizioni tipiche come “>0”, “<0”, “=0”, corrispondenze di testo, intervalli date ecc. Non ha però un operatore nativo per testare il tipo del contenuto (numero vs testo). Se in G sono presenti numeri e testi misti, la soluzione più solida è ricorrere a ISNUMBER, cioè una funzione di test che rileva con precisione se una cella è numerica.

Metodo consigliato: SUMPRODUCT + ISNUMBER

Formula:

=SUMPRODUCT(--ISNUMBER($G$2:$G$892), $F$2:$F$892)

Come funziona, passo per passo

  1. ISNUMBER($G$2:$G$892) genera una matrice booleana lunga quanto l’intervallo (VERO/FALSO per ogni riga).
  2. Il doppio meno -- converte VERO/FALSO in 1/0, così ogni riga numerica in G vale 1, altrimenti 0.
  3. SUMPRODUCT moltiplica elemento per elemento questa matrice (1/0) con gli importi di F e poi somma i prodotti: in pratica include gli importi solo dove G è numerica.

Vantaggi

  • Universale: funziona con interi, decimali, negativi e zero.
  • Compatibilità: disponibile in tutte le versioni moderne di Excel (anche senza matrici dinamiche).
  • Sintassi compatta: nessuna colonna di appoggio.

Versione autoesplicativa con LET (Excel 365/2021+)

=LET(rF,$F$2:$F$892, rG,$G$2:$G$892, SUMPRODUCT(--ISNUMBER(rG), rF))

LET assegna nomi a intervalli e semplifica manutenzione e lettura della formula.

Quando i numeri sono “memorizzati come testo”

Se i dati in G provengono da importazioni o copia/incolla, potresti trovarti numeri che sembrano numeri ma sono in realtà testo (di solito con un triangolino verde nella cella). In tal caso ISNUMBER(G2) restituisce FALSO. Se vuoi considerarli comunque numeri, usa una leggera variante che prova a convertirli:

=SUMPRODUCT(--ISNUMBER(IFERROR($G$2:$G$892*1,"")), $F$2:$F$892)

  • *1 forza la conversione da testo numerico a numero (se possibile).
  • IFERROR(…,"") impedisce che i testi non numerici (es. “Deleted”) generino errori.

Se sospetti spazi intrusi in G, ulteriormente robusta è:

=SUMPRODUCT(--ISNUMBER(IFERROR(SUBSTITUTE($G$2:$G$892," ","")*1,"")), $F$2:$F$892)

In contesti internazionali con separatori delle migliaia (es. “1 234” oppure “1.234”), valuta una pulizia personalizzata dei caratteri non numerici prima della conversione.

Metodo con colonna di supporto

  1. In H2 inserisci: =ISNUMBER(G2) e trascina fino a H892.
  2. Somma gli importi: =SUMIFS($F$2:$F$892, $H$2:$H$892, TRUE).

Pro:

  • Logica esplicita e visibile nelle celle.
  • Facile aggiungere nuovi criteri (date, ulteriori condizioni su F o su altre colonne).
  • Perfetto se lavori con Tabelle di Excel (structured references). Esempio con tabella Dati avente colonne [Importo] e [Stato]:
    =SUMIFS(Dati[Importo], Dati["ÈNumero"], TRUE)
    dove [ÈNumero] è la colonna calcolata =ISNUMBER([@Stato]).

Metodo con SUMIFS “separati” (>0 / <0 / =0)

Se sai che in G non compaiono zeri, puoi cavartela con:

=SUMIFS(F2:F892, G2:G892, ">0") + SUMIFS(F2:F892, G2:G892, "<0")

Se invece vuoi includere anche gli zeri, aggiungi:

+ SUMIFS(F2:F892, G2:G892, "=0")

Attenzione: questa soluzione non distingue tra numeri e testi che contengono simboli di confronto; lavora solo quando sei certo della natura dei dati in G.

Metodo con FILTER (Office 365 / Excel 2021+)

Se hai le matrici dinamiche, questa è una formula molto leggibile:

=SUM(FILTER(F2:F892, ISNUMBER(G2:G892)))

Pro: il filtro è dichiarativo e immediato. Contro: se in G compaiono errori, FILTER li può propagare; usa ISNUMBER(IFERROR(G2:G892,"")) nel predicato per neutralizzarli.

Consigli pratici e gestione dei casi limite

  • Celle vuote in G: i metodi 1 e 4 le escludono automaticamente (non sono numeri). Con il metodo 3, non serve gestirle se usi le tre somme >0, <0, =0.
  • Errori (#N/D, #VALORE!, ecc.) in G: preferisci SUMPRODUCT(--ISNUMBER(IFERROR(G:G,"")), F:F) o, con matrici dinamiche, FILTER(F:F, ISNUMBER(IFERROR(G:G,""))).
  • Numeri negativi con parentesi (es. (1.234)): spesso arrivano come testo. Puoi convertirli on‑the‑fly:
    =SUMPRODUCT(--ISNUMBER(IFERROR(--SUBSTITUTE(SUBSTITUTE($G$2:$G$892,"(","-"),")",""),"")), $F$2:$F$892)
  • Formattazione vs contenuto: il formato celle non influisce su ISNUMBER: conta ciò che è memorizzato. Un “123” formattato come testo resta testo.
  • Prestazioni: su 891 righe non è un tema. Su decine di migliaia di righe, il metodo con colonna di supporto può risultare più performante, specialmente se la colonna di controllo viene riutilizzata in più calcoli.
  • Convalida veloce: usa =COUNT($G$2:$G$892) per contare quante celle numeriche sono in G. Se il numero non torna con le aspettative, c’è probabilmente qualche “numero come testo” da sanare.

Applicazione con più criteri

Vuoi filtrare anche per un’altra condizione (es. Data in E nel 2024)? Ecco due approcci:

Con SUMPRODUCT

=SUMPRODUCT(--ISNUMBER($G$2:$G$892), --(YEAR($E$2:$E$892)=2024), $F$2:$F$892)

Puoi concatenare ulteriori maschere booleane con altri --(condizione).

Con colonna di supporto

In H: =ISNUMBER(G2), poi:

=SUMIFS($F$2:$F$892, $H$2:$H$892, TRUE, $E$2:$E$892, ">="&DATE(2024,1,1), $E$2:$E$892, "<"&DATE(2025,1,1))

Versioni con riferimenti strutturati (Tabelle di Excel)

Se la tua area è convertita in Tabella (Ctrl+T) chiamata Dati con colonne [Importo] e [Stato]:

  • Senza colonna di supporto: =SUMPRODUCT(--ISNUMBER(Dati[Stato]), Dati[Importo])
  • Con FILTER (365/2021+): =SUM(FILTER(Dati[Importo], ISNUMBER(Dati[Stato])))
  • Con supporto: aggiungi colonna calcolata [ÈNumero] = =ISNUMBER([@Stato]), poi =SUMIFS(Dati[Importo], Dati[ÈNumero], TRUE)

Ripulire i dati a monte (opzionale ma consigliato)

Se il foglio è alimentato da importazioni con formati incoerenti, valuta una normalizzazione preventiva:

  1. Text to Columns (Dati → Testo in colonne) per forzare il tipo numerico.
  2. Trova/Sostituisci di spazi non separatori, simboli di valuta e parentesi.
  3. Power Query: imposta i tipi colonna una volta sola; ridurrà al minimo numeri come testo su futuri aggiornamenti.

Diagnostica: capire perché una riga non rientra nella somma

Quando un importo atteso non viene incluso, verifica rapidamente in una colonna di servizio:

  1. In H2: =ISNUMBER(G2)
  2. In I2: =TYPE(G2) → restituisce 1 (numero), 2 (testo), 16 (errore), ecc.
  3. Se H è FALSO ma I = 2 (testo) per un valore numerico visivamente “giusto”, hai un numero come testo: applica la variante con conversione vista sopra.

FAQ rapide

La formula con SUMPRODUCT include gli zeri?

Sì. ISNUMBER(0) è VERO, quindi le righe con G=0 vengono sommate.

E se in G ho “ 123 ” (spazi ai lati)?

Spesso Excel lo interpreta comunque come numero; se resta testo, usa la versione con SUBSTITUTE(" ","") e conversione *1 dentro IFERROR.

Posso usare SUMIFS con un criterio tipo “è numero”?

Non direttamente. Per questo si ricorre a ISNUMBER (con o senza colonna di supporto).

Funziona anche in Google Sheets?

Sì. Le formule con SUMPRODUCT, ISNUMBER e FILTER hanno comportamenti analoghi.

Checklist operativa

  • Devi solo sommare quando G è numerica? Usa: =SUMPRODUCT(--ISNUMBER($G$2:$G$892), $F$2:$F$892).
  • Hai numeri “come testo”? Usa la versione con IFERROR(…*1,"").
  • Vuoi logica trasparente per altri calcoli? Aggiungi una colonna ÈNumero con =ISNUMBER(G2) e poi SUMIFS.
  • Hai Excel 365/2021+? Valuta =SUM(FILTER(F2:F892, ISNUMBER(G2:G892))) per la massima leggibilità.

Esempi completi da copiare

Esempio base (nessun errore in G, numeri corretti)

=SUMPRODUCT(--ISNUMBER($G$2:$G$892), $F$2:$F$892)

Esempio robusto (G contiene testi, zeri, errori, numeri come testo)

=SUMPRODUCT(--ISNUMBER(IFERROR(SUBSTITUTE($G$2:$G$892," ","")*1,"")), $F$2:$F$892)

Esempio con ulteriori criteri

=SUMPRODUCT(--ISNUMBER($G$2:$G$892), --($A$2:$A$892="ClienteX"), $F$2:$F$892)

Conclusione

Per sommare gli importi in F solo quando la cella di controllo G è numerica, il binomio SUMPRODUCT + ISNUMBER è la soluzione più semplice, affidabile e compatibile. Se desideri massima chiarezza o devi applicare molti criteri, la colonna di supporto con ISNUMBER e SUMIFS resta un’ottima scelta. Con Excel 365/2021+, FILTER offre una variante estremamente leggibile. Adatta la formula alla “qualità” dei dati (spazi, numeri come testo, valori formattati tra parentesi) e otterrai risultati coerenti anche in dataset misti.


Appendice: cosa succede dietro le quinte

Capire come Excel valuta le formule ti aiuta a diagnosticare problemi:

  • ISNUMBER restituisce VERO solo se il contenuto è numerico; il formato non conta.
  • Doppio meno (--) è un trucco per convertire VERO/FALSO in 1/0. Puoi usare anche N() o --(condizione).
  • SUMPRODUCT interpreta gli argomenti come matrici, anche in versioni prive di matrici dinamiche, e somma il prodotto elemento per elemento.
  • IFERROR è essenziale quando tenti conversioni (*1, VALUE, --) su testi non numerici: intercetta gli errori e li rimpiazza con valori innocui (es. stringa vuota).

Riepilogo operativo in una riga

Incolla e vai: =SUMPRODUCT(--ISNUMBER($G$2:$G$892), $F$2:$F$892) — questa è la formula più sicura per sommare solo le righe in cui G contiene un numero.


Suggerimenti extra

  • Controllo qualità: confronta il risultato con =SUM(F2:F892) e con =COUNT(G2:G892) per capire quante righe stai realmente includendo.
  • Modelli riutilizzabili: con LAMBDA (365/2021+) puoi creare una funzione personalizzata, ad esempio SommaSeNumero:
    =LAMBDA(rImporti, rControllo, SUMPRODUCT(--ISNUMBER(rControllo), rImporti))
    Dopo averla definita in Gestione Nomi, richiami: =SommaSeNumero(F2:F892, G2:G892).
  • Espandibilità: per includere subito nuovi record, usa intervalli strutturati (Tabelle) o definisci nomi dinamici.

In sintesi: identifica la natura dei dati in G, scegli il metodo più adatto (SUMPRODUCT + ISNUMBER nella maggior parte dei casi) e, se necessario, normalizza i valori prima della somma. Con questi accorgimenti, la “somma condizionata su celle numeriche” diventa una formula affidabile, pulita e pronta per la produzione.

Formule chiave (copiabili):

  • Base, universale: =SUMPRODUCT(--ISNUMBER($G$2:$G$892), $F$2:$F$892)
  • Con conversione numeri-come-testo: =SUMPRODUCT(--ISNUMBER(IFERROR($G$2:$G$892*1,"")), $F$2:$F$892)
  • Filtro dinamico (365/2021+): =SUM(FILTER($F$2:$F$892, ISNUMBER($G$2:$G$892)))
  • Colonna di supporto: =SUMIFS($F$2:$F$892, $H$2:$H$892, TRUE) con H = =ISNUMBER(G2)

Nota su localizzazione funzioni: questa guida usa i nomi funzione in lingua inglese (SUMPRODUCT, ISNUMBER, SUMIFS, FILTER) perché sono i più diffusi in documentazione e community; nelle edizioni localizzate potresti trovare equivalenti (es. SOMMA.PRODOTTO, VAL.NUMERO, SOMMA.PIÙ.SE, FILTRO).


Pronti all’uso: “Caso A” e “Caso B”

CasoDescrizioneFormula
ASomma F dove G è uguale al testo “Deleted”=SUMIFS(F2:F892, G2:G892, "Deleted")
BSomma F dove G è numerica (positivi, negativi, zero)=SUMPRODUCT(--ISNUMBER($G$2:$G$892), $F$2:$F$892)
Indice