Excel e gli applicativi Microsoft Office Somma celle con valori Alfanumerici

Login Registrati
Stai vedendo 21 articoli - dal 1 a 21 (di 21 totali)
  • Autore
    Articoli
  • #27617 Score: 0 | Risposta

    Dodi
    Partecipante
      2 pts

      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 Score: 0 | Risposta

      alfrimpa
      Partecipante
        33 pts

        Scusa puoi spiegare come viene fuori il 21?

        #27623 Score: 0 | Risposta

        Dodi
        Partecipante
          2 pts

          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 Score: 0 | Risposta

          GiuseppeMN
          Partecipante
            19 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 Score: 0 | Risposta

            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 Score: 0 | Risposta

              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 Score: 0 | Risposta

                GiuseppeMN
                Partecipante
                  19 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 Score: 0 | Risposta

                  Dodi
                  Partecipante
                    2 pts

                    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 Score: 1 | Risposta

                    D@nilo
                    Partecipante
                      12 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

                      #27638 Score: 0 | Risposta

                      GiuseppeMN
                      Partecipante
                        19 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 Score: 0 | Risposta

                        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 Score: 0 | Risposta

                          GiuseppeMN
                          Partecipante
                            19 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 Score: 0 | Risposta

                            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 Score: 0 | Risposta

                              Dodi

                                Volevo scrivere Matriciale. 

                                #27643 Score: 0 | Risposta

                                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 Score: 0 | Risposta

                                  Marius44
                                  Moderatore
                                    58 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 Score: 0 | Risposta

                                    dodi

                                      Marius Grazie mille

                                      perfetto proprio quello che cercavo

                                       

                                      #27647 Score: 0 | 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 Score: 0 | Risposta

                                        Marius44
                                        Moderatore
                                          58 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 Score: 0 | Risposta

                                          Marius44
                                          Moderatore
                                            58 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 Score: 0 | Risposta

                                            mandoz
                                            Partecipante

                                              Marius, grazie per la tua disponibilità

                                            Login Registrati
                                            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: