You are here:--[RISOLTO] Formua_1
[RISOLTO] Formua_12019-03-26T09:47:29+02:00

Home Forum Domande su Formule e Funzioni [RISOLTO] Formua_1

Tag: 

  • Autore
    Articoli
  • Avatargiorgioantonio
    Partecipante
      Post totali: 348

      https://www.dropbox.com/s/o1q3cq3ys4rfsx9/_1.xlsb?dl=0

      salve a tutti,

      cortesemente chiedo una formula con la quale ottenere
      l’esito in una cella.

      Individuato la riga diciamo a:e in cui possono essere
      presenti da un minimo di 2 numeri ad un massimo di 5
      e scelto il periodo appena dopo individuato la riga dei
      numeri da verificare, riportare l’esito delle uscite
      di minimo 2 numeri.
      partendo dalla coppia o terna che si trova per prima
      esempio si stabilisce un periodo di righe diciamo 30
      la prima coppia la troviamo al rigo 7, poi la seconda
      al rigo 19 cioè man mano che si trova la coppa segnare
      tutte quelle trovate progressivamente
      Nel file ho portato l’esempio con delle spiegazioni
      ma l’esito lo vorrei in una sola cella.
      Ringrazio dell’aiuto.

      • Questo argomento è stato modificato 4 mesi, 3 settimane fa da sid sid.
    • sidsid
      Moderatore
        Post totali: 718

        Ciao
        Non ho capito granchè dalla tua spiegazione.
        Partiamo dal risultato che vuoi ottenere in I5, che è
        7,19,29,36,42,

        Questi numeri rappresentano le righe del database in cui trovi i numeri della ricerca?

        riportare l’esito delle uscite
        di minimo 2 numeri.

        Non ho capito quali sono i 2 numeri di cui effettui la ricerca, per quanto riguarda il risultato in I5

        Spiega meglio come effettui la ricerca

      • Avatargiorgioantonio
        Partecipante
          Post totali: 348

          Salve,

          poniamo il caso che i numeri da controllare
          si trovano a rigo 11;
          da rigo 12 e fino a rigo 56 deve controllare se trova 2 o più numeri
          del rigo 11;
          a prescindere che il conteggio sia da rigo 12
          deve tenere in calcolo come se contasse da 1
          cioè 12 è come se fosse 1 poi 13 è come se fosse 2
          ecc e fino a 56 che sarebbe 45.
          quando trova 2 o più punti alla riga 16 deve scrivere
          5 perchè dalla riga 12 contando 5 posti pur trovandoci
          alla riga 16.
          detto in parole povere nella cella della formula riportare
          il dato numerico progressivo di quando trova 2 o più punti.
          Ancora un esempio se a rigo 56 trova i 2 punti riportare 45
          da 12 a 56 conta 45 posti.
          Salve

          • Questa risposta è stata modificata 5 mesi, 1 settimana fa da Avatar giorgioantonio.
        • Avatargiorgioantonio
          Partecipante
            Post totali: 348

            vorrei aggiungere una precisazione
            che la quantità delle righe è da stabilire
            cioè la formula sarà usata per 45 righe
            come per 15 ecc

          • sidsid
            Moderatore
              Post totali: 718

              Cominciamo ad essere più precisi:

              poniamo il caso che i numeri da controllare
              si trovano a rigo 11

              1: la riga in cui si trovano i numeri da cercare, come la stabilisci?

              da rigo 12 e fino a rigo ….

              2: la riga iniziale della ricerca è sempre quella successiva alla riga in cui si trovano i numeri da cercare?

              … e fino a rigo 56 deve controllare se trova 2 o più numeri
              del rigo 11

              3: la ricerca va fatta fino alla fine della tabella?

              4: la tabella ha sempre le stesse righe oppure può variare?

              Rispondi rispettando l’ordine delle domande; grazie

            • Avatargiorgioantonio
              Partecipante
                Post totali: 348

                https://www.dropbox.com/s/tlouk5m26e2ithq/Punti_Combinazione.xlsb?dl=0

                Salve Sid,
                a quanto detto in precedenza mi sono accorto che non ti avrei
                spiegato un bel niente.
                Come si suol dire “tagliando la testa” ti ho messo a disposizione
                il file completo.
                Per avere dei risultati dovresti distribuire le formule in basso
                dalla colonna dopo le date per verificare il tuo apporto.
                Dopo che ha distribuito una buona parte di formule in giu’
                considera:delle colonne
                i numeri che saranno controllati valgono quelli delle colonne sotto in rosso e in
                colonna dove è segnato la F l’esito, questi dati andrebbero controllati nell’archivio
                presente nel foglio da colonna A:E.

                Non credo di aver lasciato dei dubbi sul da farsi.

                • Questa risposta è stata modificata 5 mesi, 1 settimana fa da Avatar giorgioantonio.
                • Questa risposta è stata modificata 5 mesi, 1 settimana fa da Avatar giorgioantonio.
              • sidsid
                Moderatore
                  Post totali: 718

                  Perdonami ma ti ho fatto 4 domande e non hai risposto a nessuna.
                  Il secondo file che hai postato ha una tabella differente dal primo, sia per dimensioni (ogni riga ha 20 estratti contro i 5 del primo file), sia per riferimenti (colonne C:V del secondo file, contro A:E del primo)

                  Per cortesia, in base al primo file, rispondi alle 4 domande che ti ho fatto in precedenza; grazie della collaborazione

                • Avatargiorgioantonio
                  Partecipante
                    Post totali: 348

                    SalveSid,

                    Non ho capito granchè dalla tua spiegazione.
                    Partiamo dal risultato che vuoi ottenere in I5, che è
                    7,19,29,36,42,

                    Questi numeri rappresentano le righe del database in cui trovi i numeri della ricerca?

                    risposta:
                    no, conta le righe da quando comincia a controllare.
                    Per esempio in rigo 5 inizia a conta se ci sono punti
                    dei numeri di rigo 4. E da rigo 5 conta 1-2-3-4-5-6-7
                    a rigo 11 del database trova punti ma scrive 7 perchè
                    da rigo 5 conta 1-2-3-4-5-6-7.

                  • Avatargiorgioantonio
                    Partecipante
                      Post totali: 348

                      1: la riga in cui si trovano i numeri da cercare, come la stabilisci?

                      preciso che i numeri da cercare sono riportati in altre colonne
                      erroneamente ho indicato i numeri dell’archivio.
                      esempio ammesso che si parta da rigo 4 i numeri da controllare
                      sono in rigo P4:T4 che si va a controllare da A5:E56

                    • Avatargiorgioantonio
                      Partecipante
                        Post totali: 348

                        2: la riga iniziale della ricerca è sempre quella successiva alla riga in cui si trovano i numeri da cercare?

                        si sempre

                      • Avatargiorgioantonio
                        Partecipante
                          Post totali: 348

                          dulcis infundum
                          errori negli errori
                          il secondo file postato è quello sbagliato
                          ripropongo il file dove è segnato da quali colonne
                          prende i numeri e in quale colonna mette il risultato:
                          I numeri sotto dove è colorato in rosso
                          I dati sotto dove è presente la lettera F.
                          all’apertura del file da colonna
                          I12:DT12
                          trascinare in giù circa 1 o 2 migliaia di righe
                          ps chiedere per altre spiegazioni.
                          https://www.dropbox.com/s/ko06pqki3mp9z3g/S_M_P.xlsb?dl=0

                        • sidsid
                          Moderatore
                            Post totali: 718

                            ripropongo il file dove è segnato da quali colonne
                            prende i numeri e in quale colonna mette il risultato:
                            I numeri sotto dove è colorato in rosso
                            I dati sotto dove è presente la lettera F.
                            all’apertura del file da colonna
                            I12:DT12

                            Immagino che quello che hai scritto si riferisca al nuovo file che hai inviato; ma a quale foglio ti riferisci ?

                          • Avatargiorgioantonio
                            Partecipante
                              Post totali: 348

                              salve,

                              mi riferisco sempre allo stesso foglio
                              cioè trovati i numeri esempio colonne P:T
                              dalla riga dopo controllare in A:E
                              per 45 estrazioni.
                              NB
                              I primi 2 messaggi di oggi si riferiscono alle domande
                              sul file iniziale mentre sul messaggio ultimo
                              col nuovo file ciò che mi farai è sul reale
                              per ottenere i dati.
                              Ripeto l’archivio è sullo stesso foglio da A:E
                              in seguito poichè il tutto cioè formule e posizioni
                              e righe sono uguali sarà adeguato agli altri foglio
                              cioè quelli le cui linguette sono colorate in marrone.

                            • sidsid
                              Moderatore
                                Post totali: 718

                                mi riferisco sempre allo stesso foglio

                                Ma se non mi dici il nome del foglio, non so a cosa ti riferisci.
                                ============================================================

                                cioè trovati i numeri esempio colonne P:T
                                dalla riga dopo controllare in A:E
                                per 45 estrazioni.

                                Da questa seconda affermazione immagino che ti stai riferendo al foglio chimato “V”.

                                Vediamo se ho capito bene quello che bisogna fare
                                I primi numeri che trovo nelle colonne P:T sono in riga 24, e sono nell’ordine:
                                69
                                46
                                23
                                67
                                Ora secondo la tua spiegazione io dovrò verificare se nelle colonne A:E partendo da riga 25 (per 45 righe a scendere) fino a riga 69, se in ogni estrazione sono presenti almeno 2 numeri uguali a quelli della ricerca; se li trovo devo inserire nella colonna X (contraddistinta con “F” in X11) il numero di estrazioni che sono intercorse da riga 24; questo per ogni coppia (o più) di numeri trovati nelle 45 estrazioni.

                                Ho capito bene?

                              • Avatargiorgioantonio
                                Partecipante
                                  Post totali: 348

                                  Si da rigo 25 per 45 estrazioni e mettere i
                                  dati in cella X24 con un “;”

                                  OK

                                • sidsid
                                  Moderatore
                                    Post totali: 718

                                    Ma i numeri da cercare in P:T li posso trovare per tutta la lunghezza dell’archivio in A:E (riga 5691), oppure solo nella tabella colorata che va da riga 12 a riga 64?

                                  • Avatargiorgioantonio
                                    Partecipante
                                      Post totali: 348

                                      NON HO CAPITO

                                      ma se ho capito
                                      se a rigo 24 P:T trova i numeri andare in A25:E69 e controllare
                                      se e quando ci sono i 2 o più punti e scrivere in X24 tutti gli
                                      esiti;
                                      se a rigo 61 P:T trova i numeri andare in A62:E106 e controllare
                                      se e quando ci sono i 2 0 più punti e scrivere in X61 tutti gli
                                      esiti;
                                      Un appunto: che siano 2 punti o tre punti mi interessa sapere
                                      dopo quando partendo da 62 che = 1.
                                      se trova ad esempio i punti a 106 (61_106) non scrivere 106 ma
                                      45

                                      (da colonna d12 a colonna DT12 dovresti trascinare le formule
                                      per un o due migliaia di righe per avere più risultati)

                                    • Avatargiorgioantonio
                                      Partecipante
                                        Post totali: 348

                                        rileggendo
                                        Ma i numeri da cercare in P:T li posso trovare per tutta la lunghezza dell’archivio in A:E (riga 5691), oppure solo nella tabella colorata che va da riga 12 a riga 64?

                                        I numeri che trovi in P:T se presenti sono condizionati e se e quando
                                        trova la condizione sono presenti.
                                        Il fatto di avere dati precedenti o vecchi servono per una statistica
                                        ma nello stesso tempo l’ultimo dato sarebbe da porre in gioco.
                                        Quindi puoi trovarli fine alla fine dell’archivio.
                                        Cioè se nell’archivio7estrazione trova la condizione ti consiglia in P:T
                                        di tenere conto di quei numeri

                                        • Questa risposta è stata modificata 5 mesi, 1 settimana fa da Avatar giorgioantonio.
                                      • sidsid
                                        Moderatore
                                          Post totali: 718

                                          Ma i numeri da cercare in P:T li posso trovare per tutta la lunghezza dell’archivio in A:E (riga 5691), oppure solo nella tabella colorata che va da riga 12 a riga 64?

                                          Vedo di spiegarmi meglio: nelle colonne P:T abbiamo 2 serie di numeri: la prima in riga 24 (69,46,23,67), la seconda in riga 61(53,41,60,33).
                                          Ma questi numeri io posso trovarli fino alla 64 (dove termina la tabella colorata), oppure anche oltre (esempio in riga 1234), visto che l’archivio arriva fin oltre le 5000 righe?

                                        • Avatargiorgioantonio
                                          Partecipante
                                            Post totali: 348

                                            se riporti7trascini tutte le formule da d12 a dt5691
                                            a rigo 5687 troverai l’ultima riga P:T con i numeri

                                          • sidsid
                                            Moderatore
                                              Post totali: 718

                                              Ma questi numeri io posso trovarli fino alla 64 (dove termina la tabella colorata), oppure anche oltre (esempio in riga 1234), visto che l’archivio arriva fin oltre le 5000 righe?

                                              Scusa..forse sono io che pretendo troppo, ma dovevi solo dire:
                                              – si..puoi trovare i numeri fino oltre la riga 5600
                                              – no..puoi trovare i numeri fino alla riga 64

                                              Voglio capire bene come scegli la riga di P:T, da cui far partire la ricerca per 45 righe

                                            • Avatargiorgioantonio
                                              Partecipante
                                                Post totali: 348

                                                vai nelle colonne cg:ck 24
                                                c’è una formula che se trova in A24:E23 2 numeri uguali nella stessa posizione estrattiva
                                                fa la radice quadrata (vedi la formula); quando trova i 2 numeri uguali da zero e prosegue
                                                con le altre posizioni uguali a calcolare la radice quadrata.
                                                poichè capita di trovare qualche numero uguale da cg:ck
                                                in P utilizzo la formula per eliminare i doppioni)
                                                Essendo queste le mie conoscenze limitate in fatto di formule mi adatto

                                                • Questa risposta è stata modificata 5 mesi, 1 settimana fa da Avatar giorgioantonio.
                                              • Avatargiorgioantonio
                                                Partecipante
                                                  Post totali: 348

                                                  scusami Sid,

                                                  mica potresti darmi una ritoccata al file?
                                                  praticamente sistemando il foglio V
                                                  tutti gli altri fogli escludendo le colonne A:E
                                                  come archivio sono perfettamente uguali in tutto
                                                  e per tutto come calcolo.
                                                  Mi toglieresti dal file tanta zavorra.

                                                  ” ? ? ? ”

                                                • sidsid
                                                  Moderatore
                                                    Post totali: 718

                                                    Se non ho capito male, per effettuare la ricerca devo verificare la presenza dei numeri in P:T
                                                    In P24:T24 abbiamo 4 numeri (P24 è vuota); mi chiedo se in P:T

                                                    1 – possiamo trovare più/meno di 4 numeri?
                                                    2 – ne troviamo sempre 4?

                                                    Se la risposta esatta è la numero 1, chiedo.
                                                    – abbiamo una soglia minima di numeri per far partire la ricerca in A:B?
                                                    Se la risposta è SI, immagino che i numeri debbano essere minimo 2 o sbaglio?

                                                  • Avatargiorgioantonio
                                                    Partecipante
                                                      Post totali: 348

                                                      Salve,

                                                      1)massimo 4 numeri e la vuota può capitare ovunque di P:T
                                                      2)a volte potresti trovarne raramente anche 2 e qualche volta
                                                      3 per via della eliminazione di qualche numero ripetuto

                                                    • Avatargiorgioantonio
                                                      Partecipante
                                                        Post totali: 348

                                                        Salve Sid

                                                        mi hi chiesto se in P:T
                                                        i numeri massimi
                                                        riflettendo mi sono reso conto
                                                        che la formula o non so cosa che mi
                                                        scriverai sarà utilizzata sia in P:T
                                                        ma anche in altre posizioni dove i
                                                        numeri che prenderà in considerazione
                                                        possono arrivare fino a 6
                                                        Tienine conto

                                                      • sidsid
                                                        Moderatore
                                                          Post totali: 718

                                                          2)a volte potresti trovarne raramente anche 2 e qualche volta 3 per via della eliminazione di qualche numero ripetuto

                                                          Però visto che io devo trovare almeno 2 numeri nelle estrazioni in A:B, escluderei dalla ricerca le celle con solo un numero in P:T

                                                        • sidsid
                                                          Moderatore
                                                            Post totali: 718

                                                            iflettendo mi sono reso conto
                                                            che la formula o non so cosa che mi
                                                            scriverai sarà utilizzata sia in P:T
                                                            ma anche in altre posizioni dove i
                                                            numeri che prenderà in considerazione
                                                            possono arrivare fino a 6

                                                            Per ora sto lavorando solo su P:T.
                                                            Nel caso la soluzione funzioni correttamente, sarà adattata per gli altri range.

                                                          • sidsid
                                                            Moderatore
                                                              Post totali: 718

                                                              Spero di aver capito bene la tua esigenza
                                                              Ho usato una udf
                                                              In un modulo standard metti questo codice

                                                              Public Function TROVA_RIGHE(ByVal rng As Range, ByVal rArchivio As Range) As String
                                                              Dim rRiga As Range
                                                              Dim j As Integer
                                                              Dim sRitardo As String
                                                              
                                                              For j = 1 To rArchivio.Rows.Count
                                                                  Set rRiga = rArchivio.Rows(j)
                                                                  If Evaluate("=sum(--(" & rng.Address & "= transpose(" & rRiga.Address & ")))") >= 2 Then
                                                                      sRitardo = sRitardo & j & ";"
                                                                  End If
                                                              Next j
                                                              TROVA_RIGHE = IIf(sRitardo = vbNullString, vbNullString, Mid(sRitardo, 1, Len(sRitardo) - 1))
                                                              
                                                              Set rRiga = Nothing
                                                              End Function

                                                              In X12 inserisci
                                                              =SE(CONTA.NUMERI(P12:T12)>=2;TROVA_RIGHE(P12:T12;A13:E57);"")
                                                              e trascina fin dove vuoi; spero sia abbastanza veloce.

                                                            • Avatargiorgioantonio
                                                              Partecipante
                                                                Post totali: 348

                                                                Salve Sid,

                                                                in parte la UDF funziona,
                                                                cioè da i valori anche quando ce ne sono 2,
                                                                però spesso trovo #valore!
                                                                per esempio proprio a rigo 24 ma poi
                                                                se viene estesa tutta la formula ce ne sono
                                                                molti.

                                                                Non si potrebbe accomodare?

                                                              • sidsid
                                                                Moderatore
                                                                  Post totali: 718

                                                                  Immagino che nel foglio “V” del file originale ci siano più dati nelle colonne P:T
                                                                  È possibile vedere il foglio originale? Almeno capisco dov’è il problema, visto che nel file in mio possesso nn riscontro errori

                                                                • Avatargiorgioantonio
                                                                  Partecipante
                                                                    Post totali: 348

                                                                    il file originale è quello
                                                                    i dati delle colonne P:T
                                                                    sono presi dalle colonne
                                                                    CB:CF
                                                                    però in queste colonne potrebbe presentarsi
                                                                    qualche doppione.

                                                                  • Avatargiorgioantonio
                                                                    Partecipante
                                                                      Post totali: 348

                                                                      ho ripetuto a risposta
                                                                      pensavo di non aver risposto

                                                                    • Avatargiorgioantonio
                                                                      Partecipante
                                                                        Post totali: 348

                                                                        Sid,

                                                                        visto che a te funziona
                                                                        cortesemente potresti allegare il
                                                                        file in tuo possesso?

                                                                        Grazie

                                                                      • sidsid
                                                                        Moderatore
                                                                          Post totali: 718

                                                                          Prova la udf in questo modod

                                                                          Public Function TROVA_RIGHE(ByVal rng As Range, ByVal rArchivio As Range) As String
                                                                          Dim rRiga As Range
                                                                          Dim j As Integer
                                                                          Dim sRitardo As String
                                                                          
                                                                          For j = 1 To rArchivio.Rows.Count
                                                                              Set rRiga = rArchivio.Rows(j)
                                                                              If Evaluate("=sum(--(" & rng.Address & "= transpose(" & rRiga.Address & ")))") >= 2 Then
                                                                                  sRitardo = sRitardo & j & ";"
                                                                              End If
                                                                          Next j
                                                                          If sRitardo = vbNullString Then
                                                                              TROVA_RIGHE = vbNullString
                                                                          Else
                                                                              TROVA_RIGHE = Mid(sRitardo, 1, Len(sRitardo) - 1)
                                                                          End If
                                                                          
                                                                          Set rRiga = Nothing
                                                                          End Function
                                                                        • sidsid
                                                                          Moderatore
                                                                            Post totali: 718

                                                                            Questa è l’ultima versione

                                                                            Public Function TROVA_RIGHE(ByVal rng As Range, ByVal rArchivio As Range) As String
                                                                            Dim rRiga As Range
                                                                            Dim j As Integer
                                                                            Dim sRitardo As String
                                                                            Dim nUltimaRiga As Long
                                                                            
                                                                            nUltimaRiga = Range("A" & Rows.Count).End(xlUp).Row
                                                                            For j = 1 To rArchivio.Rows.Count
                                                                                
                                                                                Set rRiga = rArchivio.Rows(j)
                                                                                If rng.Rows(j).Row >= nUltimaRiga Then Exit For
                                                                                If Evaluate("=sum(--(" & rng.Address & "= transpose(" & rRiga.Address & ")))") >= 2 Then
                                                                                    sRitardo = sRitardo & j & ";"
                                                                                End If
                                                                            Next j
                                                                            
                                                                            If sRitardo = vbNullString Then
                                                                                TROVA_RIGHE = vbNullString
                                                                            Else
                                                                                TROVA_RIGHE = Mid(sRitardo, 1, Len(sRitardo) - 1)
                                                                            End If
                                                                            
                                                                            Set rRiga = Nothing
                                                                            End Function
                                                                          • Avatargiorgioantonio
                                                                            Partecipante
                                                                              Post totali: 348

                                                                              Salve Sid,

                                                                              devo solo farmi qualche controllo se
                                                                              da i risultati esatti per il resto
                                                                              cioè “#VALORE!” si è eliminato

                                                                            • Avatargiorgioantonio
                                                                              Partecipante
                                                                                Post totali: 348

                                                                                La udf l’ho messa in un modulo NON di classe.
                                                                                Solo per togliere il dubbio.

                                                                                I dati li da esatti,
                                                                                non avevo dubbi,
                                                                                solo che raccomandi sempre un controllo.

                                                                              • sidsid
                                                                                Moderatore
                                                                                  Post totali: 718

                                                                                  Fai molti test per verificare che sia tutto ok

                                                                                • Avatargiorgioantonio
                                                                                  Partecipante
                                                                                    Post totali: 348

                                                                                    nel modulo dove ho messo l’UDF
                                                                                    option explicit è ininfluente?
                                                                                    e se lo apostrofo avanti influisce
                                                                                    macro in altri moduli?

                                                                                  • sidsid
                                                                                    Moderatore
                                                                                      Post totali: 718

                                                                                      Influisce solo in quel modulo. Se non hai dichiarato le variabili il codice va in errore.
                                                                                      Perchè mai dovresti disattivarlo?

                                                                                    • Avatargiorgioantonio
                                                                                      Partecipante
                                                                                        Post totali: 348

                                                                                        registro una macro che non ha niente a che vedere
                                                                                        con la UDF che ho collocato in un modulo ma la macro
                                                                                        registrata è di quel file.
                                                                                        Su quella macro registrata per vedere il funzionamento
                                                                                        se è corretto utilizzo i tasti FN ed i tasto F8.
                                                                                        non so perchè ma mentre verifico tasto F8 entra nella UDF.
                                                                                        che ripeto non centra con la macro registrata.

                                                                                      • sidsid
                                                                                        Moderatore
                                                                                          Post totali: 718

                                                                                          Non ci sono problemi se lo fa

                                                                                        • Avatargiorgioantonio
                                                                                          Partecipante
                                                                                            Post totali: 348

                                                                                            UNALTRA RICHIESTA E POI ACCUSO RISOLTO
                                                                                            questa macro in più fogli e come posizione
                                                                                            avrà lo stesso range di selezione,
                                                                                            e siccome richiede il nome del foglio
                                                                                            cosa si può ssostituire per rendere utile
                                                                                            a tutti
                                                                                            Sub Macro4()

                                                                                            ActiveCell.Select
                                                                                            Range(“F12:CS12”).Select
                                                                                            ActiveCell.Range(“A1:CN” & i).Select
                                                                                            ActiveWorkbook.Worksheets(“V”).Sort.SortFields.Clear
                                                                                            ActiveWorkbook.Worksheets(“V”).Sort.SortFields.Add Key:=ActiveCell.Offset(0, 91).Range(“A1:A” & i), SortOn:=xlSortOnValues, Order:=xlAscending, _
                                                                                            DataOption:=xlSortNormal
                                                                                            With ActiveWorkbook.Worksheets(“V”).Sort
                                                                                            .SetRange ActiveCell.Range(“A1:CN” & i)
                                                                                            .Header = xlGuess
                                                                                            .MatchCase = False
                                                                                            .Orientation = xlTopToBottom
                                                                                            .SortMethod = xlPinYin
                                                                                            .Apply
                                                                                            End With
                                                                                            End Sub

                                                                                          • sidsid
                                                                                            Moderatore
                                                                                              Post totali: 718

                                                                                              Non mischiare gli argomenti.
                                                                                              Apri una nuova discussione.
                                                                                              Grazie della collaborazione.

                                                                                              PS
                                                                                              Attenzione: nella macro c’è la variabile i che non è definita.

                                                                                            • Avatargiorgioantonio
                                                                                              Partecipante
                                                                                                Post totali: 348

                                                                                                Salve Sid

                                                                                                della tua utilissima UDF cioè la formula
                                                                                                in cella mi dava a volte valore, valore che
                                                                                                almeno per il momento non me lo da più
                                                                                                perchè vi ho aggiunto
                                                                                                SE.ERRORE(SE(CONTA.NUMERI(P12:T12)>=2;TROVA_RIGHE(P12:T12;A13:E57);””);””)

                                                                                                Salvo nuove situazioni.

                                                                                              • sidsid
                                                                                                Moderatore
                                                                                                  Post totali: 718

                                                                                                  Stai usando la versione rivista nel post 8084?
                                                                                                  A me non dava più errore #Valore

                                                                                                • Avatargiorgioantonio
                                                                                                  Partecipante
                                                                                                    Post totali: 348

                                                                                                    Salve
                                                                                                    ho sincronizzato l’archivio con i dati,
                                                                                                    cerco di spiegarmi
                                                                                                    nella colonna G riporto una formula che
                                                                                                    conta per differenza RIF.riga() quante
                                                                                                    estrazioni mancavano alla fine
                                                                                                    è un ritardo con le combinazioni
                                                                                                    e quindi quando ho collimato i dati
                                                                                                    che cerca può darsi che conteggiava
                                                                                                    diversamente l’evento (UDF)
                                                                                                    e questo me lo ha sistemato,
                                                                                                    però questo problema lo riscontravo a
                                                                                                    prima riga( non sempre) con #VALORE!
                                                                                                    da quando ho fatto questa aggiunta
                                                                                                    non riscontro questo errore.

                                                                                                  • Avatargiorgioantonio
                                                                                                    Partecipante
                                                                                                      Post totali: 348

                                                                                                      quindi il file pare non faccia più capricci.

                                                                                                      Riporto file così come funziona a me
                                                                                                      poichè i dati sono elaborati in modo
                                                                                                      SPARTANO
                                                                                                      si tratterebbe di interpretare i dati
                                                                                                      messi nella macro FORMULE che se
                                                                                                      coraggiosamente da intrepido lo facesse
                                                                                                      trasformando il tutto in modo flessibile.
                                                                                                      Per indicazione nella Scheda Nuova della
                                                                                                      barra ho inserito le macro necessarie al funzionamento
                                                                                                      e l’unica macro da non toccare nel senso
                                                                                                      che funziona correttamente in VBA (scritta da By-Sal)
                                                                                                      ma anche le altre solo che sono registrate non scritte in VBA
                                                                                                      Posto il file
                                                                                                      https://www.dropbox.com/s/fobu7b8ps4azt11/S_M_P_V3b_bTer.xlsb?dl=0
                                                                                                      volevo aggiungere che ci sono delle colonne coperte.
                                                                                                      Grazie se vi va

                                                                                                    • Avatargiorgioantonio
                                                                                                      Partecipante
                                                                                                        Post totali: 348

                                                                                                        Salve Sid,

                                                                                                        volevo una informazione sulla UDF
                                                                                                        è programmata per riscontrare un archivio di 5 numeri?
                                                                                                        oppure la posso utilizzare anche per un archivio di 20 numeri?
                                                                                                        inteso come 20 numeri per riga

                                                                                                      • sidsid
                                                                                                        Moderatore
                                                                                                          Post totali: 718

                                                                                                          Si, va bene anche per una riga da 20 numeri; occhio però ad inserire i riferimenti giusti

                                                                                                        • Avatargiorgioantonio
                                                                                                          Partecipante
                                                                                                            Post totali: 348

                                                                                                            Salve Sid,

                                                                                                            escono dati diversi
                                                                                                            . per prima ho ristretto il controllo di righe
                                                                                                            cioè in quelle precedenti partiva da 1 a 45
                                                                                                            mentre in quella attuale il controllo avviene su 9 righe
                                                                                                            su un archivio di 20 numeri

                                                                                                          • Avatargiorgioantonio
                                                                                                            Partecipante
                                                                                                              Post totali: 348

                                                                                                              Più delle parole … il file
                                                                                                              foglio interessato 4g2
                                                                                                              le formule iniziano da rigo 8
                                                                                                              colonna i in poi
                                                                                                              le formule dell’UDF sono sotto
                                                                                                              la voce wincite multiple
                                                                                                              https://www.dropbox.com/s/8lw7c10vc7e4bgj/S_M_P_V4.xlsb?dl=0

                                                                                                              una cortesia in foglio Al c’è l’archivio dedi 20
                                                                                                              numeri se possibile una macro VBA che aggiorni i
                                                                                                              fogli in quelli verdi vanno presi 5 colonne per volta
                                                                                                              mentre in quelli gialli vanno presi 4 colonne per volta
                                                                                                              dell’archivio rispettando le date.
                                                                                                              Se possibile.
                                                                                                              Prima il problema

                                                                                                            • sidsid
                                                                                                              Moderatore
                                                                                                                Post totali: 718

                                                                                                                Salve Sid,

                                                                                                                escono dati diversi

                                                                                                                Devi essere più preciso.
                                                                                                                Dimmi una cella di colonna CJ in cui è inserita la formula, che non restituisce il risultato corretto, altrimenti la vedo dura

                                                                                                              • Avatargiorgioantonio
                                                                                                                Partecipante
                                                                                                                  Post totali: 348

                                                                                                                  Ok

                                                                                                                  del foglio consideriamo la riga 22
                                                                                                                  la formula dell’UDF è in AA2
                                                                                                                  per controllare i dati di AA2
                                                                                                                  consideriamo le colonne U22:Y22
                                                                                                                  che sono 1-3-4-5 da controllare
                                                                                                                  nell’archivio foglio AL rigo 23-24-25-26-27-28-29-30-31
                                                                                                                  cioè per 9 righe
                                                                                                                  i 2 punti li troviamo solo al rigo 26 del foglio AL
                                                                                                                  e sono 1-5.
                                                                                                                  mentre foglio 4g2 AA22 dice di aver trovato per 9 volte 9 risultati
                                                                                                                  con almeno 2 punti.
                                                                                                                  poi vediamo gli altri risultati sempre del rigo 22

                                                                                                                • Avatargiorgioantonio
                                                                                                                  Partecipante
                                                                                                                    Post totali: 348

                                                                                                                    Salve,

                                                                                                                    un particolare non coerente l’ho trovato ma
                                                                                                                    non mi ha risolto il problema.

                                                                                                                    Nella UDF ho trova che per il lotto 5 colonne per ruota
                                                                                                                    è indicato il foglio “A” e ho rilasciato intatto l’UDF.

                                                                                                                    Ne ho fatto un copia e incollato dando un nuovo nome
                                                                                                                    ….TROVA_RIGHE_10El ….
                                                                                                                    e la A che si riferisce al foglio ho dato il nume
                                                                                                                    “AL” che è riferito all’archivio 10elotto cioè di
                                                                                                                    20 numeri per riga.

                                                                                                                  • Avatargiorgioantonio
                                                                                                                    Partecipante
                                                                                                                      Post totali: 348

                                                                                                                      Salve,

                                                                                                                      Nella UDF ho trova che per il lotto 5 colonne per ruota
                                                                                                                      è indicato il foglio “A” e ho rilasciato intatto l’UDF.

                                                                                                                      20 numeri per riga.

                                                                                                                      ho detto una cassonata la A si riferisce alla colonna
                                                                                                                      e non al foglio
                                                                                                                      Buongiorno

                                                                                                                    • sidsid
                                                                                                                      Moderatore
                                                                                                                        Post totali: 718

                                                                                                                        Ho cambiato approccio alla udf; prova questa variante:

                                                                                                                        Public Function TROVA_RIGHE(ByVal rng As Range, ByVal rArchivio As Range) As String
                                                                                                                        
                                                                                                                        Dim sRitardo As String, sNumeri As String
                                                                                                                        Dim nUltimaRiga As Long, j As Long, jj As Long
                                                                                                                        Dim vRng As Variant, vArchivio As Variant
                                                                                                                        Dim n As Integer
                                                                                                                        
                                                                                                                        nUltimaRiga = Range("A" & Rows.Count).End(xlUp).Row
                                                                                                                        vArchivio = rArchivio
                                                                                                                        vRng = rng
                                                                                                                        
                                                                                                                        For j = LBound(vArchivio) To UBound(vArchivio)
                                                                                                                            vArchivio = Application.Transpose(Application.Transpose(rArchivio.Rows(j).Value))
                                                                                                                            If rng.Rows(j).Row >= nUltimaRiga Then Exit For
                                                                                                                            sNumeri = "#" & Join(vArchivio, "#") & "#"
                                                                                                                            For jj = LBound(vRng, 2) To UBound(vRng, 2)
                                                                                                                                If vRng(1, jj) <> vbNullString Then
                                                                                                                                    If InStr(1, sNumeri, "#" & vRng(1, jj) & "#", vbTextCompare) > 0 Then
                                                                                                                                        n = n + 1
                                                                                                                                    End If
                                                                                                                                End If
                                                                                                                            Next jj
                                                                                                                            If n >= 2 Then
                                                                                                                                sRitardo = sRitardo & j & ";"
                                                                                                                            End If
                                                                                                                            n = 0
                                                                                                                        Next j
                                                                                                                            
                                                                                                                        If sRitardo = vbNullString Then
                                                                                                                            TROVA_RIGHE = vbNullString
                                                                                                                        Else
                                                                                                                            TROVA_RIGHE = Mid(sRitardo, 1, Len(sRitardo) - 1)
                                                                                                                        End If
                                                                                                                        
                                                                                                                        End Function
                                                                                                                      • Avatargiorgioantonio
                                                                                                                        Partecipante
                                                                                                                          Post totali: 348

                                                                                                                          Salve Sid
                                                                                                                          Sto facendo dei controlli e pare che mi rispetta i punti.
                                                                                                                          nuova UDF
                                                                                                                          In BB e colonna CJ poichè ci sono diversi numeri posso
                                                                                                                          mettere nella formula >=3 per esempio ?

                                                                                                                        • sidsid
                                                                                                                          Moderatore
                                                                                                                            Post totali: 718

                                                                                                                            Senza modificare il codice della udf, puoi inserire un terzo parametro nella stessa.
                                                                                                                            Esempio per la colonna AA hai impostato un numero max di 2; ora se questo valore invece che inserirlo nella macro, lo aggiungiamo come parametro alla udf, essa diventerà dinamica.

                                                                                                                            Devi fare 2 semplici modifiche alla udf:

                                                                                                                            1 – l’intestazione della udf diventa
                                                                                                                            Public Function TROVA_RIGHE(ByVal rng As Range, ByVal rArchivio As Range, ByVal nMax As Integer) As String
                                                                                                                            Come vedi ho aggiunto il parametro nMax, che sarà il criterio max che sceglierai per ogni singola colonna in cui inserisci la udf

                                                                                                                            2 – L’istruzione
                                                                                                                            If n >= 2 Then
                                                                                                                            diventa
                                                                                                                            If n >= nMax Then

                                                                                                                            Adessso una modifica nel foglio: nella cella AA3 (o quella che vuoi tu, ma sempre riferita alla colonna AA) inserisci 2

                                                                                                                            in AA7 inserisci
                                                                                                                            =SE(CONTA.NUMERI($U7:$Y7)>=2;TROVA_RIGHE($U7:$Y7;AL!$D8:$W16;$AA$3);"")

                                                                                                                            E trascini fin dove vuoi

                                                                                                                            ============================================
                                                                                                                            Per la colonna BC invece, in BC3 inserisci 3, e in BC7 inserisci
                                                                                                                            =SE.ERRORE(SE(CONTA.NUMERI($AR7:$BA7)>=3;TROVA_RIGHE($AR7:$BA7;AL!$D8:$W16;$BC$3);"");"")
                                                                                                                            E trascini giù.

                                                                                                                            Ora prova a cambiare il parametro di BC3; vedrai che la udf si aggiorna in automatico.
                                                                                                                            Spero sia chiaro il funzionamento
                                                                                                                            Aggiorna la formula nelle celle delle colonne interessate

                                                                                                                          • Avatargiorgioantonio
                                                                                                                            Partecipante
                                                                                                                              Post totali: 348

                                                                                                                              Ok operazione modifica effettuata
                                                                                                                              ho fatto 3-4 controlli l’unico problemino che
                                                                                                                              riscontro è che il dato dei punti me lo da la riga prima.
                                                                                                                              cioè al rigo 20 prende i numeri da controllare
                                                                                                                              segnala a 25 quindi al 5 che ci sono più punti
                                                                                                                              vado a verificare e li trovo al 4 cioè rigo 24.
                                                                                                                              Le formule partono da rigo 8 e ho fatto le dovute correzioni
                                                                                                                              con le formule che riguardano l’UDF.
                                                                                                                              Quale potrebbe essere l’errore?

                                                                                                                            • sidsid
                                                                                                                              Moderatore
                                                                                                                                Post totali: 718

                                                                                                                                Specifica bene a quale cella in cui è inserita la formula ti riferisci

                                                                                                                              • sidsid
                                                                                                                                Moderatore
                                                                                                                                  Post totali: 718

                                                                                                                                  Scusa ma va fatta una correzione nelle formule.

                                                                                                                                  Visto che usiamo un terzo parametro nella udf, dobbiamo sfruttarlo anche nelle formule.
                                                                                                                                  Un esempio da adattare a tutte le formule: visto che in AA3 abbiamo il valore 2, dobbiamo inserire il riferimento nelle formule.

                                                                                                                                  Esempio in AA8
                                                                                                                                  =SE(CONTA.NUMERI($U8:$Y8)>=2;TROVA_RIGHE($U8:$Y8;AL!$D9:$W17;$AA$3);"")
                                                                                                                                  diventa
                                                                                                                                  =SE(CONTA.NUMERI($U8:$Y8)>=$AA$3;TROVA_RIGHE($U8:$Y8;AL!$D9:$W17;$AA$3);"")
                                                                                                                                  e trascini giù.

                                                                                                                                  Stessa cosa per le forumle nelle altre colonne

                                                                                                                                • Avatargiorgioantonio
                                                                                                                                  Partecipante
                                                                                                                                    Post totali: 348

                                                                                                                                    sperando di non aver aggiunto qualche dato
                                                                                                                                    rispetto al file che hai.
                                                                                                                                    Foglio 4g2
                                                                                                                                    rigo 14
                                                                                                                                    si chiedono minimo 3 punti
                                                                                                                                    cella CJ14 =5;8;10
                                                                                                                                    Numeri in BY14:CH14= 2-5-6-7-8-10-13-16-18-23
                                                                                                                                    foglio AL rigo 15(il rigo 14 è quella ci trova la condizione)
                                                                                                                                    1=vuoto
                                                                                                                                    2=vuoto
                                                                                                                                    3=vuoto
                                                                                                                                    4=2-6-7-16
                                                                                                                                    5=vuoto
                                                                                                                                    6=vuoto
                                                                                                                                    7=5-13-18
                                                                                                                                    8=vuoto
                                                                                                                                    9=8-10-18
                                                                                                                                    10=vuoto
                                                                                                                                    Per favore dimmi solo se i numeri sono uguali a questi (i 10)

                                                                                                                                  • sidsid
                                                                                                                                    Moderatore
                                                                                                                                      Post totali: 718

                                                                                                                                      cella CJ14 =5;8;10

                                                                                                                                      Che formula c’è in quella cella?

                                                                                                                                    • sidsid
                                                                                                                                      Moderatore
                                                                                                                                        Post totali: 718

                                                                                                                                        Numeri in BY14:CH14= 2-5-6-7-8-10-13-16-18-23

                                                                                                                                        Purtroppo ho altri numeri.
                                                                                                                                        5-7-13-23-2-8-18-6-16-10
                                                                                                                                        Devi mandarmi il file aggiornato

                                                                                                                                      • Avatargiorgioantonio
                                                                                                                                        Partecipante
                                                                                                                                          Post totali: 348

                                                                                                                                          =SE.ERRORE(SE(CONTA.NUMERI($BY14:$CH14)>=3;TROVA_RIGHE($BY14:$CH14;AL!$D14:$W23;$CJ$3);””);””)

                                                                                                                                          ho fatto quello che mi hai detto attentamente penso di aver riportato i
                                                                                                                                          dati corretti.

                                                                                                                                          se i numeri non sono corretti riallego il file

                                                                                                                                        • sidsid
                                                                                                                                          Moderatore
                                                                                                                                            Post totali: 718

                                                                                                                                            =SE.ERRORE(SE(CONTA.NUMERI($BY14:$CH14)>=3;TROVA_RIGHE($BY14:$CH14;AL!$D14:$W23;$CJ$3);””);””

                                                                                                                                            Non è un errore, ma al posto del 3 devi usare il riferimento della cella in cui inserisci il criterio; in questo caso $CJ$3

                                                                                                                                          • Avatargiorgioantonio
                                                                                                                                            Partecipante
                                                                                                                                              Post totali: 348
                                                                                                                                            • sidsid
                                                                                                                                              Moderatore
                                                                                                                                                Post totali: 718

                                                                                                                                                Numeri in BY14:CH14= 2-5-6-7-8-10-13-16-18-23

                                                                                                                                                Purtroppo ho altri numeri.
                                                                                                                                                5-7-13-23-2-8-18-6-16-10
                                                                                                                                                Devi mandarmi il file aggiornato

                                                                                                                                                Perchè dici
                                                                                                                                                “BY14:CH14= 2-5-6-7-8-10-13-16-18-23”
                                                                                                                                                se anche sul tuo file hai i miei stessi numeri?

                                                                                                                                              • Avatargiorgioantonio
                                                                                                                                                Partecipante
                                                                                                                                                  Post totali: 348

                                                                                                                                                  Salve,

                                                                                                                                                  pare che la UDF, ultima, funziona alla perfezione

                                                                                                                                                  ringraziando vivamente i partecipanti si può
                                                                                                                                                  ritenere la richiesta esaudita.

                                                                                                                                                  Grazie

                                                                                                                                                • sidsid
                                                                                                                                                  Moderatore
                                                                                                                                                    Post totali: 718

                                                                                                                                                    Grazie del riscontro

                                                                                                                                                  • Avatargiorgioantonio
                                                                                                                                                    Partecipante
                                                                                                                                                      Post totali: 348

                                                                                                                                                      Salve Sid,
                                                                                                                                                      come posso raggirare il problema,
                                                                                                                                                      nella UDF c’è in 5 fogli con linguetta
                                                                                                                                                      in giallo che la colonna A è vuota
                                                                                                                                                      e quando sviluppo dati in quei fogli
                                                                                                                                                      le tre colonne interessate dall’UDF
                                                                                                                                                      mi danno zero.
                                                                                                                                                      Riallego il file.
                                                                                                                                                      https://www.dropbox.com/s/lk10149typisdin/S_M_P_V5.xlsb?dl=0

                                                                                                                                                    • sidsid
                                                                                                                                                      Moderatore
                                                                                                                                                        Post totali: 718

                                                                                                                                                        Il problema sta nel fatto che nella udf uso la colonna A per trovare l’ultima cella disponibile in cui ci sono valori.
                                                                                                                                                        Per i fogli con linguetta verde il problema non si pone, perchè la colonna A è compilata, mentre per i fogli con linguetta gialla la colonna A è vuota.
                                                                                                                                                        Visto che per entrambi i fogli con linguetta verde e gialla la colonna B è compilata, ti basta modificare l’istruzione
                                                                                                                                                        nUltimaRiga = Range("A" & Rows.Count).End(xlUp).Row
                                                                                                                                                        in
                                                                                                                                                        nUltimaRiga = Range("B" & Rows.Count).End(xlUp).Row

                                                                                                                                                      • Avatargiorgioantonio
                                                                                                                                                        Partecipante
                                                                                                                                                          Post totali: 348

                                                                                                                                                          Salve
                                                                                                                                                          l’UDF la sto usando per tutti i fogli cambiando
                                                                                                                                                          questa riga danneggio gli altri fogli?
                                                                                                                                                          per sicurezza
                                                                                                                                                          …non ho capito bene

                                                                                                                                                        • sidsid
                                                                                                                                                          Moderatore
                                                                                                                                                            Post totali: 718

                                                                                                                                                            Non danneggi nulla; l’istruzione va bene sia per i fogli con etichetta gialla, sia quelli con etichetta verde, in quanto entrambi hanno compilata la colonna B

                                                                                                                                                          Devi essere loggato per rispondere a questa discussione.

                                                                                                                                                          Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

                                                                                                                                                          Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

                                                                                                                                                          Chiudi