Calcolo ripetizioni massime - Excel Calcolo ripetizioni massime - Excel

Risultati da 1 a 20 di 20

Discussione: Calcolo ripetizioni massime - Excel

Visualizzazione Ibrida

Messaggio precedente Messaggio precedente   Nuovo messaggio Nuovo messaggio
  1. #1
    Senior Member L'avatar di Stefansen
    Data Registrazione
    Jan 2016
    Messaggi
    8.093

    Calcolo ripetizioni massime - Excel

    Ho un foglio con colonna A una serie di nomi in frequenza del tipo:
    Pippo, Pluto, Gianni, Pippo, Pippo, Pippo, Gianni, Pluto

    Mi serve da calcolare la ripetizione massima di Pippo (in questo caso 3). L'ho fatto in maniera indiretta: nella colonna B mi mette 1 se cella affianco è Pippo + somma di quella superiore e così, altrimenti 0 e riparte il calcolo quando ritrova Pippo, poi valore massimo.
    Mi chiedevo c'è un modo meno grezzo di farlo?

    Inoltre un foglio Excel risulta meno pesante se progettato nel modo:
    >A2=F(A1)
    >A3=F(A2)
    oppure
    >A3=F(F(A1))
    dove A1 è la cella e F la funzione
    ovvero è più leggero se metto una singola funzione in una cella e poi il rimando ad un altra e così via oppure se le metto tutte direttamente sulla stessa cella?

  2. #2
    Bannato
    Data Registrazione
    Aug 2017
    Località
    San Diego
    Messaggi
    7.087

    Re: Calcolo ripetizioni massime - Excel

    Sì, c'è un modo più rapido.

  3. #3
    Senior Member
    Data Registrazione
    Feb 2016
    Messaggi
    8.944

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da 1/Zero Visualizza Messaggio
    Sì, c'è un modo più rapido.
    ed è anche meno "grezzo"

  4. #4
    Senior Member L'avatar di Stefansen
    Data Registrazione
    Jan 2016
    Messaggi
    8.093

    Re: Calcolo ripetizioni massime - Excel

    Se c'è è probabilmente una funzione che "di nascosto" fa sostanzialmente quel che ho fatto Io dandoti esplicitamente il risultato

  5. #5
    B1-66ER ¥€$ L'avatar di KymyA
    Data Registrazione
    Jan 2016
    Località
    PUTIGNANO (BA)
    Messaggi
    19.650
    Gamer IDs

    Gamertag: KymyA PSN ID: KymyA Steam ID: KymyA

    Re: Calcolo ripetizioni massime - Excel

    Senti, come già detto io risolvo tutto con il VB... se vuoi ti faccio il foglio excel con la funzione o te la copio qui.
    Cosa vuoi che faccia? Metto su una funzione che deve fare cosa in base a che parametri?

    Tipo :

    Stefansen(RangeCelle;stringa)

    quindi nel tuo caso per sapere la ripetizione max di "Pippo" nella colonna B dovresti inserire in una cella :
    =Stefansen(B1:B999;"Pippo")
    DISCLAIMER: Questo post non invita a commettere reati ne tantomeno ad infrangere la legge (degli uomini o Divina). Quanto scritto può essere parzialmente o totalmente falso o frutto della fantasia (malata) dell'autore. L'autore non si assume responsabilità per quanto scritto, suggerito o sottointeso da questo post.

  6. #6
    B1-66ER ¥€$ L'avatar di KymyA
    Data Registrazione
    Jan 2016
    Località
    PUTIGNANO (BA)
    Messaggi
    19.650
    Gamer IDs

    Gamertag: KymyA PSN ID: KymyA Steam ID: KymyA

    Re: Calcolo ripetizioni massime - Excel

    Codice:
    Function Stefansen(ByVal sCol As String, ByVal iInizio As Integer, ByVal iFine As Integer, _
      ByVal sTesto As String) As Integer
    
        ' Cerca nella colonna sCol il massimo di ripetizioni
        Dim iRow As Integer, iMax As Integer, iConteggio As Integer
        Dim bCheck As Boolean
        Dim sCella As String
        
        iRow = iInizio
        
        Do
            sCella = Trim(Range(sCol & Trim(iRow)))
            
            If sCella = "" Then
            
                Exit Do
                
            End If
            
            If sCella = sTesto Then
                If bCheck = False Then
                    bCheck = True
                    iMax = 1
                Else
                    iMax = iMax + 1
                End If
            Else
                If bCheck = True Then
                    bCheck = False
                    If iMax > iConteggio Then
                        iConteggio = iMax
                    End If
                End If
            End If
            
            iRow = iRow + 1
            
            If iRow > iFine Then
                Exit Do
            End If
            
        Loop
        
        Stefansen = iConteggio
        
    End Function
    DISCLAIMER: Questo post non invita a commettere reati ne tantomeno ad infrangere la legge (degli uomini o Divina). Quanto scritto può essere parzialmente o totalmente falso o frutto della fantasia (malata) dell'autore. L'autore non si assume responsabilità per quanto scritto, suggerito o sottointeso da questo post.

  7. #7
    Senior Member L'avatar di Stefansen
    Data Registrazione
    Jan 2016
    Messaggi
    8.093

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da KymyA Visualizza Messaggio
    Codice:
    Function Stefansen(ByVal sCol As String, ByVal iInizio As Integer, ByVal iFine As Integer, _
      ByVal sTesto As String) As Integer
    
        ' Cerca nella colonna sCol il massimo di ripetizioni
        Dim iRow As Integer, iMax As Integer, iConteggio As Integer
        Dim bCheck As Boolean
        Dim sCella As String
        
        iRow = iInizio
        
        Do
            sCella = Trim(Range(sCol & Trim(iRow)))
            
            If sCella = "" Then
            
                Exit Do
                
            End If
            
            If sCella = sTesto Then
                If bCheck = False Then
                    bCheck = True
                    iMax = 1
                Else
                    iMax = iMax + 1
                End If
            Else
                If bCheck = True Then
                    bCheck = False
                    If iMax > iConteggio Then
                        iConteggio = iMax
                    End If
                End If
            End If
            
            iRow = iRow + 1
            
            If iRow > iFine Then
                Exit Do
            End If
            
        Loop
        
        Stefansen = iConteggio
        
    End Function
    Grazie, proverò a vederci qualcosa anche se in genere preferisco non usare il VBA

  8. #8
    B1-66ER ¥€$ L'avatar di KymyA
    Data Registrazione
    Jan 2016
    Località
    PUTIGNANO (BA)
    Messaggi
    19.650
    Gamer IDs

    Gamertag: KymyA PSN ID: KymyA Steam ID: KymyA

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da Stefansen Visualizza Messaggio
    Grazie, proverò a vederci qualcosa anche se in genere preferisco non usare il VBA
    L'ho scritta in due secondi, senza troppi controlli. Ad esempio bisognerebbe controllare che iInizio sia minore di iFine...

    Io ho riempito la colonna A (da A1 ad A30) di nomi, poi nella cella B1 ho inserito :
    Codice:
    =Stefansen("A";1;30;"Pippo")
    e mi è uscito nella cella il valore 3 che effettivamente era il massimo di ripetizioni...
    DISCLAIMER: Questo post non invita a commettere reati ne tantomeno ad infrangere la legge (degli uomini o Divina). Quanto scritto può essere parzialmente o totalmente falso o frutto della fantasia (malata) dell'autore. L'autore non si assume responsabilità per quanto scritto, suggerito o sottointeso da questo post.

  9. #9
    Diversity Officer, He/She L'avatar di Fruttolo
    Data Registrazione
    Jan 2016
    Messaggi
    20.071

    Re: Calcolo ripetizioni massime - Excel

    La ripetizione di pippo è pippe

  10. #10
    Senior Member L'avatar di manuè
    Data Registrazione
    Jan 2016
    Località
    Roma
    Messaggi
    29.908

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da Fruttolo Visualizza Messaggio
    La ripetizione di pippo è pippe
    ma minni ha le minne?
    se lasciati a se stessi i problemi tendono a risolversi da soli, se così non accade, allora è meglio lasciar perdere il tutto e passare ad altro.

    - gli ignoranti ignorano -

  11. #11
    Senior Member L'avatar di shen_long
    Data Registrazione
    Jan 2016
    Località
    Alghero, trapiantato a Torino
    Messaggi
    2.486

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da Stefansen Visualizza Messaggio
    Mi serve da calcolare la ripetizione massima di Pippo (in questo caso 3). L'ho fatto in maniera indiretta: nella colonna B mi mette 1 se cella affianco è Pippo + somma di quella superiore e così, altrimenti 0 e riparte il calcolo quando ritrova Pippo, poi valore massimo.
    Mi chiedevo c'è un modo meno grezzo di farlo?
    Dipende, se sei uno studente universitario e hai tempo da perdere sicuramente c'è un modo meno grezzo e sicuramente più corretto.
    Se usi excel come aiuto per il lavoro che fai, e vuoi risolvere la cosa senza perdere tempo in minchiate, il metodo da te usato è quello giusto.

  12. #12
    Senior Member L'avatar di Ciome
    Data Registrazione
    Jan 2016
    Messaggi
    13.471

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da Stefansen Visualizza Messaggio
    Ho un foglio con colonna A una serie di nomi in frequenza del tipo:
    Pippo, Pluto, Gianni, Pippo, Pippo, Pippo, Gianni, Pluto

    Mi serve da calcolare la ripetizione massima di Pippo (in questo caso 3). L'ho fatto in maniera indiretta: nella colonna B mi mette 1 se cella affianco è Pippo + somma di quella superiore e così, altrimenti 0 e riparte il calcolo quando ritrova Pippo, poi valore massimo.
    Mi chiedevo c'è un modo meno grezzo di farlo?

    Inoltre un foglio Excel risulta meno pesante se progettato nel modo:
    >A2=F(A1)
    >A3=F(A2)
    oppure
    >A3=F(F(A1))
    dove A1 è la cella e F la funzione
    ovvero è più leggero se metto una singola funzione in una cella e poi il rimando ad un altra e così via oppure se le metto tutte direttamente sulla stessa cella?
    togli tutto il puttanaio e metti

    =CONTA.SE(intervallo; "pippo")
    riassunto topic pirateria domestica:

    Citazione Originariamente Scritto da darkeden82 Visualizza Messaggio
    Tu non lavori nell'it ma per il sociale


    l'apice di svapo:

    Citazione Originariamente Scritto da Milella Visualizza Messaggio
    *
    Ultima modifica di golem101; Oggi alle 17:33 Motivo: bestemmie e pornografia
    Ultima modifica di salgari; Oggi alle 17:35 Motivo: qua comando io, chi è questo golem101


    rondella's way:

    Citazione Originariamente Scritto da Lo Zio Visualizza Messaggio
    rondella farebbe una foursome con la stallona, il frigorifero e la lavastoviglie


  13. #13
    Senior Member L'avatar di Stefansen
    Data Registrazione
    Jan 2016
    Messaggi
    8.093

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da Ciome Visualizza Messaggio
    togli tutto il puttanaio e metti

    =CONTA.SE(intervallo; "pippo")
    Eh?
    Conta.se mi conta il numero dei "Pippo" presenti nell'intervallo non il numero massimo di Pippo successivi

  14. #14
    B1-66ER ¥€$ L'avatar di KymyA
    Data Registrazione
    Jan 2016
    Località
    PUTIGNANO (BA)
    Messaggi
    19.650
    Gamer IDs

    Gamertag: KymyA PSN ID: KymyA Steam ID: KymyA

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da Ciome Visualizza Messaggio
    togli tutto il puttanaio e metti

    =CONTA.SE(intervallo; "pippo")
    Dimostri di non aver capito una sega.
    Non vuole il conteggio, ma il numero massimo di ripetizioni di una stringa in una colonna
    Codice:
    A
    B
    B
    A
    C
    A
    B
    B
    A
    B
    B
    B
    C
    C
    B
    Per B vale 3
    DISCLAIMER: Questo post non invita a commettere reati ne tantomeno ad infrangere la legge (degli uomini o Divina). Quanto scritto può essere parzialmente o totalmente falso o frutto della fantasia (malata) dell'autore. L'autore non si assume responsabilità per quanto scritto, suggerito o sottointeso da questo post.

  15. #15
    Senior Member L'avatar di Ciome
    Data Registrazione
    Jan 2016
    Messaggi
    13.471

    Re: Calcolo ripetizioni massime - Excel

    continuo a non capire. stefansen spiegami. tu hai l'elenco. conta i pippo. la tua formula che segna 1 e somma al valore precedente è una conta.

    cosa deve fare tutto sto ambaradan se arriva a tre pippo? e cosa deve fare se non arriva a tre pippo?

    Citazione Originariamente Scritto da Stefansen Visualizza Messaggio
    Bi=se(e(Ai="Pippo",Bi-1<>0),1+Bi-1,se(e(Ai="Pippo",Bi-1=0),1,0)
    sta roba fa...
    "se la cella a fianco è pippo e la cella sopra è diversa da zero, prendi il valore della cella sopra e sommaci 1,
    altrimenti, se a fianco abbiamo pippo ma sopra abbiamo zero, restituisci 1.
    se nessuno dei due casi, restituisci zero".

    e quindi poi la formula che lavora con le celle di b cosa fa? per capire cosa ti serve
    Ultima modifica di Ciome; 06-05-19 alle 17:13
    riassunto topic pirateria domestica:

    Citazione Originariamente Scritto da darkeden82 Visualizza Messaggio
    Tu non lavori nell'it ma per il sociale


    l'apice di svapo:

    Citazione Originariamente Scritto da Milella Visualizza Messaggio
    *
    Ultima modifica di golem101; Oggi alle 17:33 Motivo: bestemmie e pornografia
    Ultima modifica di salgari; Oggi alle 17:35 Motivo: qua comando io, chi è questo golem101


    rondella's way:

    Citazione Originariamente Scritto da Lo Zio Visualizza Messaggio
    rondella farebbe una foursome con la stallona, il frigorifero e la lavastoviglie


  16. #16
    Senior Member L'avatar di Stefansen
    Data Registrazione
    Jan 2016
    Messaggi
    8.093

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da Ciome Visualizza Messaggio
    continuo a non capire. stefansen spiegami. tu hai l'elenco. conta i pippo. la tua formula che segna 1 e somma al valore precedente è una conta.

    cosa deve fare tutto sto ambaradan se arriva a tre pippo? e cosa deve fare se non arriva a tre pippo?
    Se cella A5=Pippo >>> B5=Pippo+valore(B4) se B4 diverso da 0 (ovvero A4=Pippo) altrimenti B5=1 (ricomincia l'iter)

    Quindi hai
    Pluto 0
    Pippo 1
    Pippo 2
    Pippo 3
    Pluto 0
    Pippo 1

    ti calcoli il valore massimo della colonna B è hai la sequenza più lunga di Pippo registrata

  17. #17
    Senior Member L'avatar di Stefansen
    Data Registrazione
    Jan 2016
    Messaggi
    8.093

    Re: Calcolo ripetizioni massime - Excel

    Comunque ho usato questa formula, dove sulla colonna A ho la lista di nomi:
    Bi=se(e(Ai="Pippo",Bi-1<>0),1+Bi-1,se(e(Ai="Pippo",Bi-1=0),1,0)
    e sembra funzionare

    Bi-1 è la cella sopra a quella riferita per la formula

    Poi trovo il valore max nella colonna B che corrisponde alla ripetizione massima di Pippo

  18. #18
    Senior Member L'avatar di Ciome
    Data Registrazione
    Jan 2016
    Messaggi
    13.471

    Re: Calcolo ripetizioni massime - Excel

    ahhhh la sequenza più lunga. ok. ci penso e ti dico

    una veloce googlata: https://stackoverflow.com/questions/...umber-in-excel

    assomiglia molto alla tua idea, ma il secondo messaggio sotto propone anche una versione con due sole formule senza una colonna di supporto.
    Ultima modifica di Ciome; 06-05-19 alle 17:15
    riassunto topic pirateria domestica:

    Citazione Originariamente Scritto da darkeden82 Visualizza Messaggio
    Tu non lavori nell'it ma per il sociale


    l'apice di svapo:

    Citazione Originariamente Scritto da Milella Visualizza Messaggio
    *
    Ultima modifica di golem101; Oggi alle 17:33 Motivo: bestemmie e pornografia
    Ultima modifica di salgari; Oggi alle 17:35 Motivo: qua comando io, chi è questo golem101


    rondella's way:

    Citazione Originariamente Scritto da Lo Zio Visualizza Messaggio
    rondella farebbe una foursome con la stallona, il frigorifero e la lavastoviglie


  19. #19
    B1-66ER ¥€$ L'avatar di KymyA
    Data Registrazione
    Jan 2016
    Località
    PUTIGNANO (BA)
    Messaggi
    19.650
    Gamer IDs

    Gamertag: KymyA PSN ID: KymyA Steam ID: KymyA

    Re: Calcolo ripetizioni massime - Excel

    visto che con il VB è tutto più veloce? 5 minuti...

    Voialtri sarà che la soluzione è più "elegante", ma state ancora analizzando il problema. io -TAC- soluzione. Peraltro parametrica e riciclabile anche in altre funzioni/fogli
    DISCLAIMER: Questo post non invita a commettere reati ne tantomeno ad infrangere la legge (degli uomini o Divina). Quanto scritto può essere parzialmente o totalmente falso o frutto della fantasia (malata) dell'autore. L'autore non si assume responsabilità per quanto scritto, suggerito o sottointeso da questo post.

  20. #20
    Senior Member L'avatar di shen_long
    Data Registrazione
    Jan 2016
    Località
    Alghero, trapiantato a Torino
    Messaggi
    2.486

    Re: Calcolo ripetizioni massime - Excel

    Citazione Originariamente Scritto da KymyA Visualizza Messaggio
    visto che con il VB è tutto più veloce? 5 minuti...

    Voialtri sarà che la soluzione è più "elegante", ma state ancora analizzando il problema. io -TAC- soluzione. Peraltro parametrica e riciclabile anche in altre funzioni/fogli
    Ma non è vero, la soluzione migliore è quella del primo post. Zero sbatti, due formule in dieci secondi.

    Quella di VB sicuro è più elegante e immagino che faccia più colpo ai party, ma quando lavori "basta che funzioni"

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Chi Siamo
Forum ufficiale della rivista
The Games Machine
Seguici su