Excel e gli applicativi Microsoft Office Conta numeri in una colonna fino alla prima cella vuota

LoginRegistrati
Stai vedendo 24 articoli - dal 1 a 24 (di 24 totali)
  • Autore
    Articoli
  • #28826 Risposta

    SERGIO

      Buongiorno, vorrei sapere se è possibile conoscere il risultato di una somma di numeri in una colonna di excel fino alla prima cella vuota dato che il numero massimo di celle è di 1000.

      Attualmente uso la formula SOMMA ma devo regolare la lunghezza manualmente e questa operazione devo farla alcune centinaia di volte.

      Ringrazio anticipatamente

      Sergio

      #28837 Risposta

      GiuseppeMN
      Partecipante
        17 pts

        Buona sera, @SERGIO;
        credo serva VBA, che conoscenza hai di VBA?

        Buona serata.

        Giuseppe

        #28839 Risposta

        SERGIO DE PALMA

          No, nessuna.

          Penso sia l'acronimo di Visual Basic.

          Non ho idea

          #28840 Risposta
          gianfranco55
          gianfranco55
          Partecipante
            4 pts

            ciao

            da A2 in giù i dati

             

            =SOMMA(INDIRETTO("A2"&":"&INDIRIZZO(PICCOLO(SE($A$2:$A$1000=0;RIF.RIGA($A$2:$A$1000));RIF.RIGA(A1));1;1)))

             

            solo per esempio

            se lasci una cella vuota sopra ai dati

            A1 vuota

            e hai più range di numeri da sommare intervallati da celle vuote

            puoi usare

            =SOMMA(INDIRETTO(INDIRIZZO(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));RIF.RIGA(A1));1;1)&":"&INDIRIZZO(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));RIF.RIGA(A2));1;1)))

             

            e tirarla in giù

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

              Ciao

              @gianfranco55

              Ottima soluzione. Complimenti ma, forse, hai dimenticato un piccolo ma essenziale particolare:

              è una matriciale e va confermata con CTRL+SHIFT+ENTER non col solo ENTER

               

              Spero di non aver detto corbellerie. Ciao,

              Mario

              #28845 Risposta
              gianfranco55
              gianfranco55
              Partecipante
                4 pts

                ciao

                Marius

                ho il 365 e non me lo ricordo di scriverlo.  

                si è una matriciale

                se Karma non ha il 365

                #28852 Risposta

                SERGIO DE PALMA

                  Buongiorno, in effetti senza la conferma suggerita da Marius44 la formula non funziona.

                  Vorrei solo capire come poterla inserire nella formula senza dover digitare CTRL+SHIFT+ENTER ad ogni modifica.

                  Ho notato che compaiono due parentesi graffe, una all'inizio e una alla fine della stringa.

                  Inoltre vorrei sapere come evitare i blocchi di posizione $ poiché devo utilizzare la formula in altri contesti.

                  Ho provato a togliere tutte i dollari ma la formula non funziona più.

                  Ringrazio anticipatamente

                  Sergio

                  #28855 Risposta
                  gianfranco55
                  gianfranco55
                  Partecipante
                    4 pts

                    ciao

                    se togli tutti gli assoluti ( usa F4)

                    la formula funziona solo nella prima cella 

                    come la trascini sfalsa tutto.

                    Vorrei solo capire come poterla inserire nella formula senza dover digitare CTRL+SHIFT+ENTER ad ogni modifica.

                    clicca su invio o su ctrl maiuscolo invio non è che cambi tanto

                     

                    prova così senza matriciale

                    =SOMMA(INDIRETTO(INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));RIF.RIGA(A1));1);1;1)&":"&INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));RIF.RIGA(A2));1);1;1)))

                     

                     

                     

                    #28856 Risposta
                    Marius44
                    Marius44
                    Moderatore
                      33 pts

                      Ciao

                      @gianfranco55

                      La formula ultima che hai postato funziona come la seconda che hai indicato nel post #28840 ma sempre come matriciale (altrimenti dà #VALORE)

                       

                      Ciao,

                      Mario

                      #28858 Risposta

                      SERGIO DE PALMA

                        Ok, la formula funziona ma non più quando la duplico in un'altra cella.

                        Spiego meglio il mio problema:

                        Ho una colonna lunghissima con molte serie di numero uno.

                        Esempio: A2:A20 SPAZIO A22:A57 SPAZIO A59:A62 SPAZIO A64:a145 SPAZIO e così via.

                        In pratica io ho bisogno che la formula, inserita nella casella B1 dia 19 e questo funziona,

                        ma poi, quando la copio nella casella B21 dovrebbe darmi 36,

                        nella successiva casella B58 dovrebbe darmi 4 ... il prossimo risultato, dalla A64 alla A145 sarebbe 82

                        e così via, ovvero, la somma dei numeri uno che incontra fino alla prossima casella vuota.

                        Sicuramente adesso è più chiaro ciò che mi servirebbe.

                        Grazie

                        #28860 Risposta
                        gianfranco55
                        gianfranco55
                        Partecipante
                          4 pts

                          duplicare in cella ???

                           

                          la metti in B2 e la tiri in giù

                          la formula raggruppa uno sotto l'altro le somme tra gli spazi.

                          non hai visto il file?

                           in B2 da tirare in giù

                          =SE($A3<>"";"";SOMMA($A$2:A2)-SOMMA($B$1:$B1))

                           

                          tu vuoi la somma sulla cella sopra alla vuota

                          che è un'altra cosa

                           

                           

                           

                           

                          #28863 Risposta

                          SERGIO DE PALMA

                            Buongiorno, ho inserito questa immagine per rendere perfettamente l'idea.

                            In pratica nelle celle in rosso della colonna B devo ottenere i risultati dei vari segmenti nella colonna A.

                            Le successioni sono sempre interrotte da una cella vuota.

                            Da qui la mia domanda iniziale: CONTA NUMERI FINO A PRIMA CELLA VUOTA. 

                            L'obiettivo sarebbe inserire la formula nella prima cella B1 e poi copiarla in tutte le altre celle di cui devo avere il risultato.

                            Nell'esempio, dalla cella B1 dovrei copiarla in B5, B10; B14 e poi B22 e così via fino alla fine.

                            Attualmente utilizzo la formula =SOMMA(A1:A4) ma questa operazione, che deo svolgere ogni mese, data la lunghezza della colonna, mi impegna per oltre 5 ore e naturalmente con la possibilità di commettere errori.

                            Grazie mille per il tempo che mi avete dedicato.

                            Esempio del modello

                            #28866 Risposta

                            GiuseppeMN
                            Partecipante
                              17 pts

                              Buon pomeriggio a Tutti.

                              @SERGIO DE PALMA
                              Nel file in allegato, molto indegnamente, ho riportato le Formule proposte dall'Ottimo @gianfranco55, che saluto.

                              @SERGIO DE PALMA, in #28863 scrive:
                              L'obiettivo sarebbe inserire la formula nella prima cella B1 e poi copiarla in tutte le altre celle di cui devo avere il risultato.
                              Nell'esempio, dalla cella B1 dovrei copiarla in B5, B10; B14 e poi B22 e così via fino alla fine.
                              Vorrei essere smentito ma credo che per ottenere una struttura così disomogenea senza mettere mano ai riferimenti nelle Formule serva VBA.

                              Buon fine settimana.

                              Giuseppe

                              Allegati:
                              You must be logged in to view attached files.
                              #28868 Risposta
                              gianfranco55
                              gianfranco55
                              Partecipante
                                4 pts

                                ciao

                                Ciao Giuseppe

                                 

                                metti questa in B2

                                e tirala in giù

                                =SE($A2<>"";"";SOMMA($A$2:A2)-SOMMA($B$1:$B1))

                                 

                                 

                                vedi il lavoro delle due formule

                                colonna B e colonna C

                                Allegati:
                                You must be logged in to view attached files.
                                #28872 Risposta

                                GiuseppeMN
                                Partecipante
                                  17 pts

                                  Buona sera @gianfranco55;
                                  grazie della tua attenzione.

                                  Perdonami Gianfranco ma il Risultao non mi sembra esattamente quello voluto:

                                  In ogni caso considerando che la strada VBA per @SERGIO DE PALMA, che saluto, non è proponibile almeno fino a quando non avrà sviluppato una conoscenza di programmazione:
                                  Alla richiesta che conoscenza hai di VBA?
                                  @SERGIO DE PALMA in #28839, risponde:

                                  No, nessuna.
                                  Penso sia l'acronimo di Visual Basic.
                                  Non ho idea

                                  Credo proprio dovremo fermarci alle tue Formule matriciali anche se in questo contesto rimango convinto che VBA sia da preferire; ma questa è una mia oppinione molto personale e, come tale, opinabile.

                                  Buon fine settimana.

                                  Giuseppe

                                  P.s. Vedo solo ora i tuoi allegati in #28868; le mie considerazioni rimangono. Con amicizia.

                                  Giuseppe

                                   

                                  #28874 Risposta
                                  gianfranco55
                                  gianfranco55
                                  Partecipante
                                    4 pts

                                    ciao si può fare

                                    anche con la formula matriciale

                                    =SE(A2="";SOMMA(INDIRETTO(INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));CONTA.SE($A$1:A1;""));1);1;1)&":"&INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));CONTA.SE($A$1:A2;""));1);1;1)));"")

                                    #28875 Risposta
                                    Santuberto
                                    Santuberto
                                    Partecipante
                                      1 pt

                                      Buonasera a tutti. Ho tentato inutilmente di risolvere il problema, ma l’unica soluzione che sono riuscito a trovare è quella di utilizzare una colonna d’appoggio. Nel caso potesse servire… (non si sa mai. Magari nascondendo la colonna d’appoggio). Allego file “Z EX 74”. Buona serata a tutti.

                                      Allegati:
                                      You must be logged in to view attached files.
                                      #28877 Risposta
                                      Santuberto
                                      Santuberto
                                      Partecipante
                                        1 pt

                                        Mi scuso per l'intromissione, ma non avevo visto le ultime risposte: era da parecchio che avevo aperto la pagina che non si era aggiornata.

                                        #28878 Risposta
                                        Oscar
                                        Oscar
                                        Partecipante
                                          10 pts

                                          Non serve una matriciale basta una semplice formulina  la incolli dove vuoi e la tiri fino all'ultima riga

                                          =SE($B5="";SOMMA($B5:$B$104)-SOMMA(E6:E$104);"")

                                          Allegati:
                                          You must be logged in to view attached files.
                                          #28880 Risposta

                                          GiuseppeMN
                                          Partecipante
                                            17 pts

                                            Buona sera a Tutti.
                                            Poi, prometto, mi taccio; considerando che Forum dovrebbe essere uno strumento di confronto, senza voler intrapprendere una "competizione" Formule - VBA.
                                            A beneficio di tutti gli Utenti interessati all'argomento, allegato l'immagine di ciò che si può ottene con un Click senza limiti di Record inseriti e senza Formule.

                                            Poi, ognuno può tranquillamente scegliere la strada che ritiene più idonea.

                                            Buon fine settimana.

                                            Giuseppe

                                            Allegati:
                                            You must be logged in to view attached files.
                                            #28882 Risposta
                                            gianfranco55
                                            gianfranco55
                                            Partecipante
                                              4 pts

                                              Oscar ha scritto:

                                              Non serve una matriciale basta una semplice formulina  la incolli dove vuoi e la tiri fino all'ultima riga

                                               

                                              è come questa

                                              =SE($A2<>"";"";SOMMA($A$2:A2)-SOMMA($B$1:$B1))

                                              ma ragionata al contrario

                                              #28883 Risposta

                                              Ringrazio tutti per il tempo che mi avete dedicato.

                                              In particolare Oscar che ha presentato questa formula perfettamente funzionante.

                                              Grazie mille!!!

                                              #28896 Risposta
                                              gianfranco55
                                              gianfranco55
                                              Partecipante
                                                4 pts

                                                ciao 

                                                permettimi di dissentire su

                                                 questa formula perfettamente funzionante.

                                                tutte le formule funzionano ma si diversificano sul risultato.

                                                A) raggruppa i risultati su una colonna

                                                =SOMMA(INDIRETTO(INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));RIF.RIGA(A1));1);1;1)&":"&INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));RIF.RIGA(A2));1);1;1)))

                                                B) mette il risultato a fianco all'ultimo numero sommato

                                                =SE($A3<>"";"";SOMMA($A$2:A2)-SOMMA($B$1:$B1))

                                                C) mette il risultato a fianco all'ultima cella vuota (SOTTO)

                                                =SE($A2<>"";"";SOMMA($A$2:A2)-SOMMA($C$1:$C1))

                                                D) mette il risultato a fianco della prima cella vuota (SOPRA)

                                                =SE($A1="";SOMMA($A1:$A$104)-SOMMA(D2:D$104);"")

                                                 

                                                a te serviva la D

                                                #28897 Risposta
                                                gianfranco55
                                                gianfranco55
                                                Partecipante
                                                  4 pts

                                                  a te serviva la D

                                                  io per esempio avrei usato la A .

                                                  visivamente parlando è la più diretta da intercettare come valore

                                                   

                                                   

                                                  questa era solo didattica ma non da usare

                                                  =SE(A2="";SOMMA(INDIRETTO(INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));CONTA.SE($A$1:A1;""));1);1;1)&":"&INDIRIZZO(INDICE(PICCOLO(SE($A$1:$A$1000=0;RIF.RIGA($A$1:$A$1000));CONTA.SE($A$1:A2;""));1);1;1)));"")

                                                  Allegati:
                                                  You must be logged in to view attached files.
                                                LoginRegistrati
                                                Stai vedendo 24 articoli - dal 1 a 24 (di 24 totali)
                                                Rispondi a: Conta numeri in una colonna fino alla prima cella vuota
                                                Gli allegati sono permessi solo ad utenti REGISTRATI
                                                Le tue informazioni:



                                                vecchio frac - 2750 risposte

                                                albatros54
                                                albatros54 - 1036 risposte

                                                patel
                                                patel - 1029 risposte

                                                Marius44
                                                Marius44 - 918 risposte

                                                Luca73
                                                Luca73 - 749 risposte