Excel e gli applicativi Microsoft Office Somma celle con valori Alfanumerici

LoginRegistrati
Stai vedendo 21 articoli - dal 1 a 21 (di 21 totali)
  • Autore
    Articoli
  • #27617 Risposta
    Dodi
    Dodi
    Partecipante

      buona sera a tutti, 

      chiedo il vostro aiuto a risolvere e darmi una mano per una formula che mi permette di sommare celle contenenti numeri e lettere, quindi alfanumerici.

      ipotizziamo che nel range G7:G11 ho una serie di celle contenenti in alcune solo numeri, in altre numeri e lettere e in altre solo lettere. 

      di mia conoscenza conosco  solo la formula che posto; 

      =MATR.SOMMA.PRODOTTO(G7:G11)

      qualcuno di voi può darmi una mano con la formula? 

      allego anche un file esempio  dove ho utilizzato la formula, e nella cella G16 il risultato che invece dovrei ottenere. 

       

      ringrazio per l'aiuto

      Allegati:
      You must be logged in to view attached files.
      #27621 Risposta
      alfrimpa
      alfrimpa
      Partecipante
        16 pts

        Scusa puoi spiegare come viene fuori il 21?

        #27623 Risposta
        Dodi
        Dodi
        Partecipante

          Ciao Alfredo

          Grazie per la risposta; scusami e non mi ero accorto di aver commesso un errore di digitura, la somma e' 26 Quindi 6+5+5+10

          Grazie

           

           

          #27625 Risposta

          GiuseppeMN
          Partecipante
            8 pts

            Buona giornata, @dodi;
            una possibile soluzione potrebbe essere:
            - Selezionare il Range G7:G11
            - Dalla "Barra multifunzione Dati", "Strumenti Dati", "Testo in colonne"
            - "Delimitato", "Altro", +
            - "Fine"
            Risultato in Cella "G13" anche con:

            =SOMMA($G$7:$G$11)

            Giuseppe

            #27632 Risposta
            Dodi
            Dodi

              Giuseppe buongiorno 

              E grazie per i tuoi suggerimenti, 

              Non ho avuto ancora il modo di provare quanto da te suggerito, ma volevo farti una domanda, esiste un modo con una formula? Anche perché se in futuro mi ricapita una cosa del genere difficilmente mi ricorderei tutti i passaggi, invece una formula una volta capita mi resta impressa di più nella mente. 

              Se è possibile te ne sarei grato per il tuo prezioso aiuto. 

              #27633 Risposta
              Dodi
              Dodi

                Giuseppe ho avuto modo di provare il tuo suggerimento, ma ho visto che con il tuo metodo mi scompone i contenuti nelle celle e mi sposta le lettere sullela colonna a dx. 

                Ma non vorrei che fa questo perché il file che ho allegato era in esempio. 

                In realtà nelle colonne F e H ci sono altri valori. Quindi la soluzione proposta non mi andrebbe bene. 

                Resto in attesa di tuo ulteriore aiuto e se qualche altro utente possa essermi di aiuto. 

                 

                Grazie mille 

                #27634 Risposta

                GiuseppeMN
                Partecipante
                  8 pts

                  Buon pomeriggio, @dodi;
                  temo serva un Codice VBA ma prima di farti perdere tempo credo sarebbe utile e opportuno avere un File, senza dati sensibili, ma che rappresenti tutte le possibili situazioni.

                   

                  Buon fine settimana.

                  Giuseppe

                  #27635 Risposta
                  Dodi
                  Dodi
                  Partecipante

                    Giuseppe ciaoo

                    ho provato a vedere su tutti i forum se c'era un caso simile, ma niente. 

                    ma avrei trovato un codice VBA da inserire in un modulo e richiamare con comando "=Sommarenumeri(range dove ci sono i dati da sommare)" in una cella da me scelta.

                    se vedi il file che ho allegato, 

                    in vba nel modulo1 ho incollato un codice vba che ho trovato in un forum,

                    e poi  nella cella  E12 del foglio 1 (dove c'è scritto "#Nome?") dovrei avere il risultato. 

                    nella cella E12 il codice vba verrebbe richiamato con "=Sommarenumeri(range dove ci sono i dati da sommare)".

                    Andrebbe adeguato al mio caso. 

                    oppure avere una cosa del genere, cioè un codice vba da inserire in un modulo e nella cella dove vorrei il risultato dovrei richiamarlo con una stringa di codice. 

                    spero di esser stato chiaro nella spiegazione. 

                    resto in attesa di chiarimenti o di tua soluzione. 

                     

                    grazie

                     

                     

                     

                     

                    Allegati:
                    You must be logged in to view attached files.
                    #27637 Risposta
                    D@nilo
                    D@nilo
                    Partecipante
                      5 pts

                      Buonasera

                      per l'esempio postato

                       

                      =SOMMA(SOMMA(E6:E11);SOMMA(SE.ERRORE(STRINGA.ESTRAI(E6:E11;1;TROVA("+";E6:E11)-1)*1;0)))

                      da attivare con CTRL+SHIFT+INVIO

                      Marius44
                      #27638 Risposta

                      GiuseppeMN
                      Partecipante
                        8 pts

                        Avevo già inviato questa risposta ma non ne vedo traccia, provo a inviarla nuovamente.

                        Buon pomeriggio a Tutti.

                        Nel caso in cui la struttura del File sia quella proposta nel tuo allegato va benessimo la Formula proposta da @D@nilo, che saluto, ma se devi gestire stringhe diverse del tipo:
                        - CIG+5 al posto di 5+CIG
                        oppure
                        - P+6 al posto di 6+P

                        Serve un Codice VBA.

                        Poi, ovviamente, vedi tu.

                        Buon fine settimana.

                        Giuseppe

                        #27639 Risposta
                        Dodi
                        dodi

                          buona sera a tutti, 

                          rispondo a Danilo che mi ha postato il codice.

                          l'ho provato ma mi da come risultato "15" invece il risultato finale delle celle nel range deve essere 26. e cioè

                          6+5+5+10. 

                           

                          in pratica deve sommare anche i numeri con la presenza delle lettere. 

                          quindi deve prendere in considerazione anche le celle alfanumeriche. 

                          rispondo al quesito di Giuseppe, il formato non cambia ed è, e sarà cosi come li ho scritti e cioè 5+CIG  ;   6+P

                          il codice così come postato mi fa la sola somma dei numeri senza lettere, 

                          sembra che fa la stessa cosa del codice che avevo postato nell'inizio della discussione e cioè: 

                          =MATR.SOMMA.PRODOTTO(E6:E11) ma 

                          forse sbaglio io ad utilizzare il codice di Danilo. 

                          resto in attesa di riscontro. 

                          intanto ringrazio per l'aiuto. 

                          #27640 Risposta

                          GiuseppeMN
                          Partecipante
                            8 pts

                            Buona sera,@Dodi;
                            la Formula è "Matriciale" quindi va confermata con CTRL+SHIFT+INVIO

                            In pratica ti comparirà la Formula con parentesi graffa aperta all'inizio della Formula e parentesi graffa chiusa alla fine della Formula.

                             

                            Buona serata.

                            Giuseppe

                            #27641 Risposta
                            Dodi
                            Dodi

                              Giuseppe grazie per il suggerimento. 

                              Se non mi dicevi che era una formula matricole non avrei trovato il modo per farla funzionare.

                              Perché quando Danilo ha postato la formula ho provato poi a fare ctrl+shift+invio non veniva fuori nulla ma mi dava sempre come risultato 15.

                              Siete sempre preziosi con i vostri aiuti. 

                               

                              Grazie mille. 

                              #27642 Risposta
                              Dodi
                              Dodi

                                Volevo scrivere Matriciale. 

                                #27643 Risposta
                                Dodi
                                Dodi

                                  Buon giorno. 

                                  In merito al codice postato da Danilo, che saluto e ringrazio per la soluzione ho notato una cosa. 

                                  Che se per errore clicco nella cella del risultato il Matriciale si disattiva è mi tocca disattivarlo con il ctrl+shift+invio.

                                  A quando sembra oltre alla soluzione di Danilo non c'e altro modo con codice, ma la soluzione sarebbe il vba. 

                                  Qualcuno può essermi di aiuto per un codice vba che faccia la stessa cosa del codice di Danilo. 

                                  Possibilmente un codice da inserire in un modulo e richiamarlo nella cella dove voglio il risultato con una stringa di codice che attiva la macro. 

                                   

                                  Esempio: =sommarenumeri( range delle celle che vorrei sommare) 

                                  Il file che ho allegato ieri ha un codice vba sul modulo 1. Ma quel codice mi fa la somma dei numeri in una cella ad esempio : 4P+5CIG

                                  Mi da come risultato "9"

                                  Magari bisogna adegualro al mio caso e cioè fare la somma di più celle alfanumeriche. 

                                  Se rileggete la mia risposta #27635  delle 15:17 di ieri capite cosa intendo. 

                                   

                                  Ve ne sarei grato per l'aiuto 

                                  Ringrazio anticipatamente tutti 

                                  #27644 Risposta
                                  Marius44
                                  Marius44
                                  Moderatore
                                    28 pts

                                    Ciao

                                    Prova con questa UDF

                                    'Marius44
                                    Function SommaNumeri(rng As Range)
                                    For Each C In rng
                                      a = a + Val(C)
                                    Next
                                    SommaNumeri = a
                                    End Function

                                    Nella cella dove vuoi il risultato scrivi =SommaNumeri( ) e dentro le parentesi seleziona l'intervallo interessato

                                    Ciao,

                                    Mario

                                    Allegati:
                                    You must be logged in to view attached files.
                                    #27646 Risposta
                                    Dodi
                                    dodi

                                      Marius Grazie mille

                                      perfetto proprio quello che cercavo

                                       

                                      #27647 Risposta

                                      mandoz

                                        un saluto a tutti. perdonate la mia intrusione/curiosità. pensavo di approfittare dello scritto di Marius.

                                        mi sono accorto che la udf non somma i numeri che non cominciano per un numero. somma 4a+4b. non somma

                                        a4+b4. puoi inventare qualcosa ?

                                         

                                        grazie.

                                        #27650 Risposta
                                        Marius44
                                        Marius44
                                        Moderatore
                                          28 pts

                                          Ciao

                                          Prova quest'altra

                                          'Marius_bis
                                          Function SommaNumeri2(rng As Range)
                                          For Each C In rng
                                            If IsNumeric(C.Value) Then
                                              a = a + C.Value
                                            Else
                                              nn = Split(C, "+")
                                              On Error Resume Next
                                              For i = 0 To UBound(nn)
                                                a = a + Val(nn(i))
                                              Next i
                                            End If
                                          Next
                                          SommaNumeri2 = a
                                          End Function
                                          

                                          il seguito come prima però per l'intervallo B7:B11

                                          Ciao,

                                          Mario

                                          Allegati:
                                          You must be logged in to view attached files.
                                          #27652 Risposta
                                          Marius44
                                          Marius44
                                          Moderatore
                                            28 pts

                                            Ciao

                                            Riflettendoci forse è meglio così

                                            'Marius_bis
                                            Function SommaNumeri2(rng As Range)
                                            For Each C In rng
                                              If IsNumeric(C.Value) Then
                                                a = a + C.Value
                                              Else
                                                On Error Resume Next
                                                nn = Split(C, "+")
                                                For i = 0 To UBound(nn)
                                                  a = a + Val(nn(i))
                                                Next i
                                                On Error GoTo 0
                                              End If
                                            Next
                                            SommaNumeri2 = a
                                            End Function

                                            Ciao,

                                            Mario

                                            #27668 Risposta

                                            mandoz
                                            Partecipante

                                              Marius, grazie per la tua disponibilità

                                            LoginRegistrati
                                            Stai vedendo 21 articoli - dal 1 a 21 (di 21 totali)
                                            Rispondi a: Somma celle con valori Alfanumerici
                                            Gli allegati sono permessi solo ad utenti REGISTRATI
                                            Le tue informazioni:



                                            vecchio frac - 2750 risposte

                                            albatros54
                                            albatros54 - 1009 risposte

                                            patel
                                            patel - 956 risposte

                                            Marius44
                                            Marius44 - 824 risposte

                                            Luca73
                                            Luca73 - 696 risposte