You are here:--valori unici
valori unici2018-06-22T15:14:25+02:00

Home Forum Domande su Formule e Funzioni valori unici

  • Autore
    Articoli
  • Avatargiorgioantonio
    Partecipante
      Post totali: 354

      https://www.dropbox.com/s/kuk7de7l1qnlgqo/Valori_Uni.xlsx?dl=0

      salve,

      cortesemente vorrei un aiuto per risolvere un problema

      di dati duplicati.

      nella catella foglio2 rigo11 e 12 delle colonne O:S

      in queste celle ci sono dei doppioni e vorrei che il doppione

      diventi “” oppure 0 (zero) e questo senza far venire meno

      le formule che si trovano ivi che produce il risultato.

      Grazie

    • D@niloD@nilo
      Partecipante
        Post totali: 48

        Buongiorno

        se lo devi fare con le formule devi spostare queste celle da un’altra parte in quanto se se faccio una formula che interessa quel range si creano dei riferimenti circolari quindi ad esempio le metti da W1 a AB2

        in N11 da trascinare a destra e in basso

        =SE(CONTA.SE($W1:W1;W1)>1;””;W1)

        se invece lo scopo è soltanto non visualizzare questi doppioni puoi usare la formattazione condizionale evidenzia il range N11:S12

        FORMATTAZIONE CONDIZIONALE

        NUOVA REGOLA

        USA FORMULA

        nella barra della formula inserisci   =CONTA.SE($N11:N11;N11)>1

        scegli il formato del testo bianco e dai OK

        • Questa risposta è stata modificata 1 anno, 3 mesi fa da D@nilo D@nilo.
        • Questa risposta è stata modificata 1 anno, 3 mesi fa da D@nilo D@nilo.
      • Avatargiorgioantonio
        Partecipante
          Post totali: 354

          Salve D@nilo,

          ho preso in esame il primo caso quello cioè

          di usare la formula

          Poichè sono diverse le colonne da impegnare se si

          può trovare un’altra soluzione.

          Cioè utilizzare le formule che danno il risultato

          resto ecc più la’annulamento del numero uguale

          Ciao

          • Questa risposta è stata modificata 1 anno, 3 mesi fa da Avatar giorgioantonio.
        • BySalvBySalv
          Amministratore del forum
            Post totali: 520

            Ciao Giorgio. il problema è proprio il riferimento circolare con il fuori90, come dice Danilo che saluto, riportando solo il risultato del fuori90 in un altra cella allora può essere usata la formula senza il riferimento circolare.

            Avevo visto una formula che non visualizzava i doppioni, ma non ricordo dove, vedo se riesco di nuovo a trovarla.

            Ciao By Sal

          • D@niloD@nilo
            Partecipante
              Post totali: 48

              Ciao

              Per non visualizzare i doppioni si dovrebbe usare un CONTA.se con il range bloccato sulla prima colonna e il criterio la tua formula per forza di cose quando trascini a destra e la cella interessata coincide con l estremo del range si crea un riferimento circolare

              Quindi non credo che sarà molto semplice impostare una formula che inglobando la tua non visualizzi i doppioni quindi secondo me a patto di non essere smentito o utilizzi la formattazione condizionale o usi sei misere celle di appoggio anche perché un foglio contiene circa 16000 colonne un milioncino di righe qualcuna la possiamo anche utilizzare per u nostri scopi

              Detto questo un saluto a tutti

              • Questa risposta è stata modificata 1 anno, 3 mesi fa da D@nilo D@nilo.
            • Avatargiorgioantonio
              Partecipante
                Post totali: 354

                Salve D@nilo,

                grazie dell’aiuto che cmq ho messo in atto.

                E se il tutto venisse risolto con una macro

                VBA?

                Cioè verso destra e in giù?

                Saluti e grazie ancora

              • BySalvBySalv
                Amministratore del forum
                  Post totali: 520

                  Ciao Giorgio con il VBA, vediamo di farlo ma devi spiegarmi la prima formula in “N11”, avevo capito che non dovevo usare il VBA.

                  =SE(CONTA.SE(D11:$L11;C11)=1;C11;SE(CONTA.SE(E11:L11;D11)=1;D11;SE(CONTA.SE(F11:L11;E11)=1;E11;SE(CONTA.SE(G11:L11;F11)=1;F11;SE(CONTA.SE(H11:L11;G11)=1;G11;SE(CONTA.SE(I11:L11;H11)=1;H11;SE(CONTA.SE(J11:L11;I11)=1;I11;SE(CONTA.SE(K11:L11;J11)=1;J11;SE(CONTA.SE(L11:L11;K11)=1;K11;"")))))))))

                  la prima cosa questa la funzione per il fuori90, copiata in un modulo

                  Function Fuori90(ff)
                  'Dim ff
                  While ff > 90
                  ff = ff - 90
                  Wend
                  If ff = 0 Then ff = 90
                  Fuori90 = ff
                  End Function

                  nella cella “O11” puoi usarla come una normale funzione di Excel, scrivendo

                  = Fuori90(Foglio1!C11*Foglio2!$N$1)

                  comunque ti faccio la macro per il range(“O11:S12”), con le formule non vado daccordo.

                  Ciao By Sal  :bye:

                  • Questa risposta è stata modificata 1 anno, 3 mesi fa da BySalv BySalv.
                • Avatargiorgioantonio
                  Partecipante
                    Post totali: 354

                    Salve By Sal,

                    una curiosità e sarebbe sui PDF

                    se in un file  quindi modulo inserisco una PDF

                    registro una macro che non ha niente a che vedere

                    con la PDF.

                    faccio una verifica se la macro fa quanto voglio e

                    verifico da modulo con F8.

                    F8 durante lo svolgimento della macro passa anche

                    dalla PDF che ho in un altro modulo, PERCHE’?

                    Ciao

                  • Avatargiorgioantonio
                    Partecipante
                      Post totali: 354

                      I “se” della colonna N

                      quella formula va a controllare se ci sono 2 numeri uguali

                      esempio nella riga C11:L11 ci sono 2 numeri uguali J11=15 e L11=15

                      quindi se N11 riporta un numero  N1 moltiplica il numero di foglio1

                      di C11 in O11; poi N1 di foglio2 moltiplica D11 foglio1 in P11 ecc

                      fino a G11 di foglio1 e risultato in O11 di foglio2.

                      Tenere presente che il calcolo va fatto solo se colonna N presenta

                      un numero e che lo sviluppo delle righe (archivio) deve conteggiare

                      le righe del foglio1 colonna C10 in giù.

                      e interessa che nella riga O:S non ci siano doppioni-

                      Salve

                      :wacko:

                    • BySalvBySalv
                      Amministratore del forum
                        Post totali: 520

                        Ciao Giorgio, quella è una UDF una funzione Utente, e funziona uguale come una formula Excel come ho detto la devi soltanto copiare in un modulo e poi dimenticarla.

                        dovunque vorrai usare la formula del “Fuori90” ammettendo che nella cella “A1” hai il numero 550 e vuoi sapere il Fuori90 in un altra cella scrivi

                        =Fuori90(A1)

                        ed avrai il risultato, oppure come ho fatto io fare il calcolo del 1° estratto del foglio1 +30 in “N1”

                        =Fuori90(Foglio1!C11*Foglio2!$N$1)

                        quindi nella cella dove avrai messo la formula avrai il Fuori90

                        Ho anche la funzione per i vertibili per avere il vertibile di un numero.

                        Comunque torniamo a noi, con le formule come ho detto non sono un granchè, ma con il vba me la cavo.

                        eccoti la macro che fa il lavoro, quante estrazioni metti nel foglio1 tante estrazioni calcola nel foglio2, adesso sono 2 ma se ne metti 20 le fa tutte.

                        Mantiene anche la posizione, cioè solo la prima posizione del doppione viene scritta le successive vengono omesse esempio

                        60-30-90-0-0

                        vuol dire che gli zero possono essere un doppione delle prime 3 esempio

                        60-30-90-90-60

                        quindi 60-90 sono doppioni, ma non viene visualizzato lo zero resta vuota la posizione è solo un esempio.

                        Sub risultato()
                        Dim r, x, y, d, n, rng, sh1 As Worksheet, sh2 As Worksheet
                        
                        Set sh1 = Worksheets("Foglio1")
                        Set sh2 = Worksheets("Foglio2")
                        
                        sh2.Activate
                        Application.ScreenUpdating = False
                        r = sh1.Cells(Rows.Count, 3).End(xlUp).Row
                        Range(sh2.Cells(11, 15), sh2.Cells(r, 19)).ClearContents
                        For x = 11 To r
                            For y = 15 To 19
                                d = Fuori90(sh1.Cells(x, y - 12) * sh2.Cells(1, 14))
                                sh2.Activate
                                Set rng = Range(sh2.Cells(x, 15), sh2.Cells(x, 19))
                                n = WorksheetFunction.CountIf(rng, d)
                                If n = 0 Then Cells(x, y) = d Else Cells(x, y) = ""
                            Next y
                        Next x
                        Application.ScreenUpdating = True
                        sh2.Activate
                        sh2.Cells(1, 1).Select
                        End Sub

                        Ho lasciato la formula nella colonna “N” non l’ho toccata ho considerato solo le colonne “O-S”

                        Ciao By sal :bye:

                        ti allego il link al file

                        https://mega.nz/#!oAcgCaSI!CfPyVTOaSv9H0i0D4wDEpS8GrF7s-HKRdphj9rMn0-U

                        • Questa risposta è stata modificata 1 anno, 3 mesi fa da BySalv BySalv.
                      • Avatargiorgioantonio
                        Partecipante
                          Post totali: 354

                          Farò sapere,

                          come visto è corretta l’interpretazione.

                          Salve

                        • Avatargiorgioantonio
                          Partecipante
                            Post totali: 354

                            Salve e buona giornata,

                            “Ho anche la funzione per i vertibili per avere il vertibile di un numero.”

                            visto l’accenno di cui sopra e per non aprire un altro tag

                            se cortesemente puoi inserire la UDF dei vertibili

                            così dato l’esito positivo chiudo l’argomento.

                            Salve

                          • BySalvBySalv
                            Amministratore del forum
                              Post totali: 520

                              Ciao Giorgio eccoti la UDF per i vertibili

                              Function Vert90(n)
                              Dim vv
                              While n > 90
                              n = n - 90
                              Wend
                              If n = 0 Then n = 90
                              vv = Array(10, 20, 30, 40, 50, 60, 70, 80, 90, 1, 19, 21, 31, 41, 51, 61, 71, 81, 11, 2, 12, 29, 32, 42, 52, 62, 72, 82, 22, 3 _
                              , 13, 23, 39, 43, 53, 63, 73, 83, 33, 4, 14, 24, 34, 49, 54, 64, 74, 84, 44, 5, 15, 25, 35, 45, 59, 65, 75, 85, 55 _
                              , 6, 16, 26, 36, 46, 56, 69, 76, 86, 66, 7, 17, 27, 37, 47, 57, 67, 79, 87, 77, 8, 18, 28, 38, 48, 58, 68, 78, 89 _
                              , 88, 9)
                              Vert90 = vv(n - 1)
                              End Function

                              al solito devi copiarla in un modulo e dimenticarla

                              questa fa anche il Fuori90 del numero prima di darti il vertibile, quindi se in A1 hai il numero nella cella dove vuoi il vertibile scrivi “Vert90(A1)”, oppure scrivi la formula per il calcolo come per il fuori90.

                              Ciao By Sal  :bye:

                            • Avatargiorgioantonio
                              Partecipante
                                Post totali: 354

                                Grazie infinito della UDF.

                                • Questa risposta è stata modificata 1 anno, 3 mesi fa da Avatar giorgioantonio.

                              La discussione ‘valori unici’ è chiusa a nuove risposte.

                              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