Sommare celle contenenti valori numerici e testi + valori numerici

Anonimo
2025-04-25T05:15:34+00:00

Buongiorno, cerco un sistema che mi permetta di sommare tutti i valori presenti nelle celle comprese quelle con presente anche un testo. Utilizzo la versione Excel 2016. Come da Esempio Foglio Ore, ci possono essere anche delle situazioni di 1+1, e mi servirebbe che non diventassero un 2, ma che nella somma totale risultino.

Grazie Mille

Microsoft 365 e Office | Excel | Altro | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2025-04-28T16:06:55+00:00

Ciao,

prova con questa versione

Function Somma_ValoriNumerici_Alfanumerici(Intervallo As Range) As Double 

   Dim v As Range, v2 As Variant 

   Dim str As String 

   Dim sum As Double 

   For Each v In Intervallo 

      str = v.Value 

      str = Replace(Replace(str, ")", ""), "(", "+") 

      For Each v2 In Split(str, "+") 

         If IsNumeric(v2) Then 

            sum = sum + CDbl(Trim(v2)) 

         End If 

      Next v2 

   Next v 

   Somma_ValoriNumerici_Alfanumerici = sum 

End Function 

Dovrebbe gestire in automatico anche stringhe del tipo "Testo (2)".

Sostituisce alla ")" un carattere "nullo" e alla "(" il "+" in modo da "splittare" le stringhe in base al "+".

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2025-04-25T09:44:33+00:00

Ciao,

devi aggiungere al progetto VBA della cartella di lavoro un modulo standard e all'interno di quello copiare il codice.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2025-04-25T08:18:13+00:00

Una possibile soluzione tramite VBA e l'utilizzo di una FDU (funzione definita dall'uente):

Function Somma_ValoriNumerici_Alfanumerici(Intervallo As Range) As Double 

   Dim v As Range, v2 As Variant 

   Dim sum As Double 

   For Each v In Intervallo 

      For Each v2 In Split(v.Value, "+") 

         If Not IsNumeric(Trim(v2)) Then 

            sum = sum + 0 

         Else 

            sum = sum + CDbl(Trim(v2)) 

         End If 

      Next v2 

   Next v 

   Somma_ValoriNumerici_Alfanumerici = sum 

End Function 

Il file va salvato in formato ".xlsm" (con attivazione di macro).

Il codice va salvato in un modulo vba standard.

La funzione va utilizzata in una cella come una normale funzione Excel assegnando come argomento l'intervallo di celle per le quali si desidera effettuare la somma.

Vedi se ti può essere utile.

ciao

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

10 risposte aggiuntive

Ordina per: Più recente
  1. Anonimo
    2025-04-29T07:37:32+00:00

    Fantastico!! Gentilissimo Grazie mille!!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Gianfranco55 25,270 Punti di reputazione Moderatore volontario
    2025-04-28T16:33:43+00:00

    grazie

    metto l'immagine

    La risposta è stata utile?

    0 commenti Nessun commento