Risultati da 1 a 21 di 21

Discussione: Copiare celle estrapolandole



  1. #1
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Copiare celle estrapolandole

    Ciao a tutti.
    grazie alla vs. pazienza il file https://www.dropbox.com/s/x4ypa1a64y...orum.xlsm?dl=0 si evolve in maniera spettacolare.
    Ora vorrei che nel nuovo foglio 'Verifica presenza', dopo aver selezionato il corso (in C4) e l'aggiornamento (in C5):
    a) la colonna B si popolasse dei nominativi che hanno fatto il corso
    b) la colonna E per la parte degli aggiornamenti .

    Dato atteso:

    corso base in C4: RLS
    Nominativo in B8: De Paperoni Paperon
    Data effettuazione in C8: 01/06/13
    Durata in D8: 16
    NB I valorii per la data e la durata sono estrapolati dal testo presente in H9 del foglio '1_Formazione Sicurezza' .

    ultimo aggiornamento in C5: RLS
    Nominativo in E8: De Paperoni Paperon
    Data effettuazione in F8: 22/03/2016
    Durata in G8: 4
    NB I valori per la data e la durata sono estrapolati dal testo presente in L5 del foglio '2_Aggiornamenti' .

    Ho provato in D8 ad adattare una formula di Cromagno ma ottengo un risultato non corretto:
    Codice: 
    =SE.ERRORE(INDIRETTO("'1_Formazione Sicurezza'!"&INDIRIZZO(CONFRONTA($C$4;Corso_Base;0);3)&":"&INDIRIZZO(CONFRONTA('Verifica presenza'!$C$4;Corso_Base;0);RIF.COLONNA($AA$1)))&"";8)
    Grazie in anticipo
    Gene

  2. #2
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2072
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Copiare celle estrapolandole

    ciao

    ti allego il file con la prima parte compilata
    cerca il perché De paperoni non viene riconosciuto
    ( cella con spazio?)

    se cambi nome funziona.

    se va bene avvisa
    File Allegati File Allegati

  3. #3
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare celle estrapolandole

    Ciao Gianfranco,
    ho provato a selezionare come corso Base: PARTE GENERALE SICUREZZA ma non ha elencato gli altri 2 nomi attesi ma è rimasto "ancorato" su Paperon De Paperoni.
    Ho ripetuto la selezione dopo avere:
    1) agganciare i nomi in '1_Formazione Sicurezza' collegandoli con il foglio Anagrafica (ossia =Anagrafica!C3)
    2) riscrivendoli a mano in '1_Formazione Sicurezza'

    Entrambi i tentativi infruttuosi.

    Gene

  4. #4
    L'avatar di D@nilo
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    45
    Messaggi
    1170
    Versione Office
    Excel 2010
    Likes ricevuti
    509
    Likes dati
    571

    Re: Copiare celle estrapolandole

    ciao,
    cosi sembra andare in C8 e tiri giù
    Codice: 
    =STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$H$7:$H$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8)
    in D8 e tiri giù
    Codice: 
    =DESTRA(INDICE('1_Formazione Sicurezza'!$H$7:$H$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2)
    in F8 e tiri giù
    Codice: 
    =STRINGA.ESTRAI(INDICE('2_Aggiornamenti'!$L$5:$L$24;CONFRONTA('Verifica presenza'!$E8;'2_Aggiornamenti'!$A$5:$A$24));1;10)
    in G8 e tir giù
    Codice: 
    =DESTRA(INDICE('2_Aggiornamenti'!$L$5:$L$24;CONFRONTA('Verifica presenza'!$E8;'2_Aggiornamenti'!$A$5:$A$24));2)
    allego file
    File Allegati File Allegati

  5. #5
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare celle estrapolandole

    Ciao Danilo,
    in realtà selezionando il corso di RLS (in C4) dovrebbe darmi solo De Paperoni Paperon
    controprova potrebbe essere selezionare in C4 PARTE GENERALE SICUREZZA il risultato atteso è l'inserimento in elenco di tutti i nominativi nella parte corrispondente al corso base.

    Gene

  6. #6
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133

    Re: Copiare celle estrapolandole

    Ciao G.Bove, e un saluto a tutti, se ho capito bene, una possibile soluzione potrebbe essere la seguente:

    Scheda Verifica presenza
    In B8:
    =SE.ERRORE(INDICE('1_Formazione Sicurezza'!$A$7:$A$21;AGGREGA(15;6;(RIF.RIGA('Verifica presenza'!$B$8:$B$21)-RIF.RIGA('Verifica presenza'!$B$8)+1)/(INDIRETTO("'1_Formazione Sicurezza'"&"!"&INDIRIZZO(7;CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0))&":"&INDIRIZZO(21;CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0)))>0);RIGHE('Verifica presenza'!$B$8:$B8)));"")

    In C8:
    =SE.ERRORE(SE(INDICE('1_Formazione Sicurezza'!$A$7:$I$21;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$21;0);CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0))>0;SINISTRA(INDICE('1_Formazione Sicurezza'!$A$7:$I$21;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$21;0);CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0));TROVA("_";INDICE('1_Formazione Sicurezza'!$A$7:$I$21;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$21;0);CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0)))-1)+0;"");"")

    In D8:
    =SE($C8="";"";MATR.SOMMA.PRODOTTO((INDICE('1_Formazione Sicurezza'!$A$1:$I$21;6;CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0)))*('1_Formazione Sicurezza'!$A$7:$A$21='Verifica presenza'!$B8)))

    In E8:
    =INDICE('2_Aggiornamenti'!$A$5:$A$24;AGGREGA(15;6;(RIF.COLONNA(Aggiornamenti)-RIF.COLONNA('2_Aggiornamenti'!$B$4)+1)/(Aggiornamenti='Verifica presenza'!$C$5);RIGHE('Verifica presenza'!$B$8:$B8)))

    In F8:
    =SE.ERRORE(SINISTRA(INDICE('2_Aggiornamenti'!$F$5:$Z$24;AGGREGA(14;6;(RIF.RIGA('2_Aggiornamenti'!$A$5:$A$24)-RIF.RIGA('2_Aggiornamenti'!$A$5)+1)/('2_Aggiornamenti'!$A$5:$A$24='Verifica presenza'!$E8);1);AGGREGA(14;6;(RIF.COLONNA('2_Aggiornamenti'!$B$5:$Z$5)-RIF.COLONNA('2_Aggiornamenti'!$B$5)+1)/('2_Aggiornamenti'!$F5:$Z5<>0);RIGHE($E$8:$E8)));TROVA("_";INDICE('2_Aggiornamenti'!$F$5:$Z$24;AGGREGA(14;6;(RIF.RIGA('2_Aggiornamenti'!$A$5:$A$24)-RIF.RIGA('2_Aggiornamenti'!$A$5)+1)/('2_Aggiornamenti'!$A$5:$A$24='Verifica presenza'!$E8);1);AGGREGA(14;6;(RIF.COLONNA('2_Aggiornamenti'!$B$5:$Z$5)-RIF.COLONNA('2_Aggiornamenti'!$B$5)+1)/('2_Aggiornamenti'!$F5:$Z5<>0);RIGHE($E$8:$E8))))-1)+0;"")

    In G8:
    =SE.ERRORE(DESTRA(INDICE('2_Aggiornamenti'!$F$5:$Z$24;AGGREGA(14;6;(RIF.RIGA('2_Aggiornamenti'!$A$5:$A$24)-RIF.RIGA('2_Aggiornamenti'!$A$5)+1)/('2_Aggiornamenti'!$A$5:$A$24='Verifica presenza'!$E8);1);AGGREGA(14;6;(RIF.COLONNA('2_Aggiornamenti'!$B$5:$Z$5)-RIF.COLONNA('2_Aggiornamenti'!$B$5)+1)/('2_Aggiornamenti'!$F5:$Z5<>0);RIGHE($E$8:$E8)));LUNGHEZZA(INDICE('2_Aggiornamenti'!$F$5:$Z$24;AGGREGA(14;6;(RIF.RIGA('2_Aggiornamenti'!$A$5:$A$24)-RIF.RIGA('2_Aggiornamenti'!$A$5)+1)/('2_Aggiornamenti'!$A$5:$A$24='Verifica presenza'!$E8);1);AGGREGA(14;6;(RIF.COLONNA('2_Aggiornamenti'!$B$5:$Z$5)-RIF.COLONNA('2_Aggiornamenti'!$B$5)+1)/('2_Aggiornamenti'!$F5:$Z5<>0);RIGHE($E$8:$E8))))-TROVA("_";INDICE('2_Aggiornamenti'!$F$5:$Z$24;AGGREGA(14;6;(RIF.RIGA('2_Aggiornamenti'!$A$5:$A$24)-RIF.RIGA('2_Aggiornamenti'!$A$5)+1)/('2_Aggiornamenti'!$A$5:$A$24='Verifica presenza'!$E8);1);AGGREGA(14;6;(RIF.COLONNA('2_Aggiornamenti'!$B$5:$Z$5)-RIF.COLONNA('2_Aggiornamenti'!$B$5)+1)/('2_Aggiornamenti'!$F5:$Z5<>0);RIGHE($E$8:$E8)))))+0;"")

    tutte da tirare giù alla bisogna.
    Allego il file di prova, ciao.
    File Allegati File Allegati

  7. I seguenti 4 utenti hanno dato un "Like" a pkrome59 per questo post:


  8. #7
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133

    Re: Copiare celle estrapolandole

    Ciao G.Bove, la formula in C8 va modificata con questa:

    In C8:
    =SE.ERRORE(SE(INDICE('1_Formazione Sicurezza'!$A$7:$I$21;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$21;0);CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0))>0;SINISTRA(INDICE('1_Formazione Sicurezza'!$A$7:$I$21;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$21;0);CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0));SE.ERRORE(TROVA("_";INDICE('1_Formazione Sicurezza'!$A$7:$I$21;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$21;0);CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0)))-1;LUNGHEZZA(INDICE('1_Formazione Sicurezza'!$A$7:$I$21;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$21;0);CONFRONTA('Verifica presenza'!$C$4;'1_Formazione Sicurezza'!$A$5:$I$5;0)))))+0;"");"")
    da tirare giù alla bisogna.
    Ciao.

  9. I seguenti 4 utenti hanno dato un "Like" a pkrome59 per questo post:


  10. #8
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2072
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Copiare celle estrapolandole

    ciao
    oramai l'ho fatto e lo allego
    più semplice si può fare immagino
    ma questo è quello che sono riuscito a fare io

    hai una colonna d'appoggio la F che ho seminascosta nel foglio aggiornamenti
    File Allegati File Allegati

  11. I seguenti 2 utenti hanno dato un "Like" a Gianfranco55 per questo post:


  12. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Copiare celle estrapolandole

    Grande pkrome, ottime formule.

    Suggerirei a Gene - al fine di non vedere tutti quei zeri nelle cella vuote - di modificare la formula nel Foglio "1_Formazione Sicurezza" in A7 a scendere con questa:

    =SE(Anagrafica!C3<>"";Anagrafica!C3;"")

    P.S.- Gene, vedo che scrivi le formule anteponendo il segno +, in tal modo il risultato sarà =+formula, basterebbe che anteponi solo l'uguale (=) quando scrivi la formula.


    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  13. #10
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare celle estrapolandole

    Ciao a grazie a tutti per gli aiuti e per i suggerimenti.

    Gene

    @pkrome59
    Ho provato ad inserire una data a super daniele come aggiornamento del corso Addetto I Soccorso e in verifica presenza ha correttamente indicato il nominativo ma non ha popolato la data e la durata. Mentre funziona perfettamente per De Paperoni Paperon (selezionato come aggiornamento RLS)

    Ultima modifica fatta da:Canapone; 28/06/17 alle 12:35

  14. #11

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Copiare celle estrapolandole

    Ciao a tutti,
    visto che la soluzione con le formule è stata data, propongo quella con vba.

    Codice: 
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range(Cells(4, 3), Cells(5, 3))) Is Nothing Then
            Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet
            Dim x As Integer, i As Integer, y As Integer, j As Integer, z As Integer, w As Integer, uCol As Integer
            Set sh1 = Sheets("Verifica presenza")
            Set sh2 = Sheets("1_Formazione Sicurezza")
            Set sh3 = Sheets("2_Aggiornamenti")
                Application.EnableEvents = False
                Application.ScreenUpdating = False
                    Range(Cells(8, 2), Cells(38, 7)) = ""
                    x = 8
                        For i = 3 To 24
                            For y = 7 To 77
                                If sh2.Cells(5, i) = sh1.Cells(4, 3) And sh2.Cells(y, i) > 0 Then
                                    sh1.Cells(x, 2) = sh2.Cells(y, 1)
                                        If sh1.Cells(x, 2) <> "" Then
                                            sh1.Cells(x, 3) = Left(sh2.Cells(y, i), 8)
                                            sh1.Cells(x, 4) = Right(sh2.Cells(y, i), 2)
                                        x = x + 1
                                    End If
                                End If
                            Next
                        Next
                    j = 8
                    For z = 5 To 24
                        For w = 2 To 3
                        uCol = sh3.Cells(z, Columns.Count).End(xlToLeft).Column
                            If sh3.Cells(4, w) = sh1.Cells(5, 3) And sh3.Cells(z, 1) > 0 Then
                                    sh1.Cells(j, 5) = sh3.Cells(z, 1)
                                    sh1.Cells(j, 6) = Left(sh3.Cells(z, uCol), 10)
                                    sh1.Cells(j, 7) = Right(sh3.Cells(z, uCol), 2)
                                j = j + 1
                            End If
                        Next
                    Next
                        With sh1.Range("E8:G38")
                            sh1.Sort.SortFields.Clear
                            sh1.Sort.SortFields.Add Key:=Range _
                                ("F8:F38"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
                                xlSortTextAsNumbers
                            sh1.Sort.SortFields.Add Key:=Range _
                                ("E8:E38"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                                xlSortNormal
                            sh1.Sort.SortFields.Add Key:=Range _
                                ("G8:G38"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
                                xlSortNormal
                        End With
                        With sh1.Sort
                            .SetRange Range("E7:G38")
                            .Header = xlYes
                            .MatchCase = False
                            .Orientation = xlTopToBottom
                            .SortMethod = xlPinYin
                            .Apply
                        End With
                    Set sh1 = Nothing
                    Set sh2 = Nothing
                    Set sh3 = Nothing
                Application.ScreenUpdating = True
                Application.EnableEvents = True
        End If
    End Sub
    Gene, pensando potesse esserti utile, ho aggiunto un pezzo di codice che per la parte riguardante l"Ultimo aggiornamento" ordina i nominativi in ordine di data decrescente.

    FILE DA SCARICARE
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  15. I seguenti utenti hanno dato un "Like"


  16. #12
    L'avatar di Berna11
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Latina
    Età
    62
    Messaggi
    2294
    Versione Office
    Excel 2010
    Likes ricevuti
    910
    Likes dati
    451

    Re: Copiare celle estrapolandole

    Un saluto a tutti,
    oltre la soluzione proposta da ges (ciao) con Vba, senza togliere il "merito" a nessuno di quelli che mi hanno preceduto ho rivisto e fatto qualche modifica alle loro formule e mi sembra che ora da il risultato che cercavi (credo).
    Vedi il file.

    File Allegati File Allegati

  17. I seguenti 3 utenti hanno dato un "Like" a Berna11 per questo post:


  18. #13
    L'avatar di D@nilo
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    45
    Messaggi
    1170
    Versione Office
    Excel 2010
    Likes ricevuti
    509
    Likes dati
    571

    Re: Copiare celle estrapolandole

    Buongiorno a tutti io ci ho riprovato ed è venuto fuori cosi:
    in B8
    Codice: 
    =SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$H$5;SE('1_Formazione Sicurezza'!H7="";"";'1_Formazione Sicurezza'!A7);"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$F$5;SE('1_Formazione Sicurezza'!F7="";"";'1_Formazione Sicurezza'!A7);"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$E$5;SE('1_Formazione Sicurezza'!E7="";"";'1_Formazione Sicurezza'!A7);"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$D$5;SE('1_Formazione Sicurezza'!D7="";"";'1_Formazione Sicurezza'!A7);"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$C$5;SE('1_Formazione Sicurezza'!C7="";"";'1_Formazione Sicurezza'!A7);"")
    in C8
    Codice: 
    =SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$H$5;SE(SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$H$7:$H$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);"")="";"";SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$H$7:$H$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$F$5;SE(SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$F$7:$F$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);"")="";"";SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$F$7:$F$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$E$5;SE(SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$E$7:$E$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);"")="";"";SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$E$7:$E$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$D$5;SE(SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$D$7:$D$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);"")="";"";SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$D$7:$D$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$C$5;SE(SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$C$7:$C$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);"")="";"";SE.ERRORE(STRINGA.ESTRAI(INDICE('1_Formazione Sicurezza'!$C$7:$C$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));1;8);""));"")
    in D8
    Codice: 
    =SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$H$5;SE(SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$H$7:$H$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);"")="";"";SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$H$7:$H$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$F$5;SE(SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$F$7:$F$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);"")="";"";SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$F$7:$F$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$E$5;SE(SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$E$7:$E$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);"")="";"";SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$E$7:$E$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$D$5;SE(SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$D$7:$D$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);"")="";"";SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$D$7:$D$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);""));"")&SE('Verifica presenza'!$C$4='1_Formazione Sicurezza'!$C$5;SE(SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$C$7:$C$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);"")="";"";SE.ERRORE(DESTRA(INDICE('1_Formazione Sicurezza'!$C$7:$C$77;CONFRONTA('Verifica presenza'!$B8;'1_Formazione Sicurezza'!$A$7:$A$77;0));2);""));"")
    in E8
    Codice: 
    =SE(E('2_Aggiornamenti'!$B5="X");SE('Verifica presenza'!$C$5='2_Aggiornamenti'!$B$4;'2_Aggiornamenti'!A5;"");"")&SE(E('2_Aggiornamenti'!$C5="X");SE('Verifica presenza'!$C$5='2_Aggiornamenti'!$C$4;'2_Aggiornamenti'!A5;"");"")
    in F8
    Codice: 
    =STRINGA.ESTRAI(SE('Verifica presenza'!E8='2_Aggiornamenti'!A5;'2_Aggiornamenti'!AA5;"");1;10)
    in G8
    Codice: 
    =DESTRA(SE('Verifica presenza'!E8='2_Aggiornamenti'!A5;'2_Aggiornamenti'!AA5;"");2)
    ho messo una colonna d'appoggio (AA) nel foglio 2_Aggiornamenti....cosi giusto per fare qualcosa
    File Allegati File Allegati

  19. I seguenti 3 utenti hanno dato un "Like" a D@nilo per questo post:


  20. #14
    L'avatar di Berna11
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Latina
    Età
    62
    Messaggi
    2294
    Versione Office
    Excel 2010
    Likes ricevuti
    910
    Likes dati
    451

    Re: Copiare celle estrapolandole

    Scusate nel post #12 non ho pubblicato le formule che, come detto, erano già state proposte le ho solo rivedute e corrette dove occorreva.
    Se necessario provvedo.

  21. #15
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2072
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Copiare celle estrapolandole

    oh!
    Finalmente si torna al SE
    W Danilo

    stiamo prendendo la Gesomatite
    che è una malattia contagiosa che prende l'indice e lo confronta con il resto della mano

    io come al solito le formule mi dimentico di metterle
    sarà per la prossima
    Ultima modifica fatta da:Canapone; 28/06/17 alle 12:36

  22. I seguenti 3 utenti hanno dato un "Like" a Gianfranco55 per questo post:


  23. #16
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133

    Re: Copiare celle estrapolandole

    Ciao G.Bove, la formula in F8 va modificata con questa:

    In F8:
    =SE.ERRORE(SINISTRA(INDICE('2_Aggiornamenti'!$F$5:$Z$24;CONFRONTA($E$8;'2_Aggiornamenti'!$A$5:$A$24;0);AGGREGA(14;6;(RIF.COLONNA('2_Aggiornamenti'!$F$5:$Z$5)-RIF.COLONNA('2_Aggiornamenti'!$F$5)+1)/(('2_Aggiornamenti'!$F5:$Z24<>0)*('2_Aggiornamenti'!$A$5:$A$24='Verifica presenza'!$E8));RIGHE($E$8:$E8)));TROVA("_";INDICE('2_Aggiornamenti'!$F$5:$Z$24;AGGREGA(14;6;(RIF.RIGA('2_Aggiornamenti'!$A$5:$A$24)-RIF.RIGA('2_Aggiornamenti'!$A$5)+1)/('2_Aggiornamenti'!$A$5:$A$24='Verifica presenza'!$E8);1);AGGREGA(14;6;(RIF.COLONNA('2_Aggiornamenti'!$B$5:$Z$5)-RIF.COLONNA('2_Aggiornamenti'!$B$5)+1)/('2_Aggiornamenti'!$F5:$Z5<>0);RIGHE($E$8:$E8))))-1)+0;"")
    da tirare giù alla bisogna.
    Allego il file di prova.
    Ciao.
    File Allegati File Allegati

  24. I seguenti utenti hanno dato un "Like"


  25. #17
    L'avatar di Berna11
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Latina
    Età
    62
    Messaggi
    2294
    Versione Office
    Excel 2010
    Likes ricevuti
    910
    Likes dati
    451

    Re: Copiare celle estrapolandole

    Ciao Pk io ho proposto in F8 una "riveduta" usata anche per il foglio Dashbord da cella J29 . Da confermare con Ctrl+Maiu+invio.
    =SE($E8="";"";MAX(SE('2_Aggiornamenti'!A5:A24=E8;SE($E8="";"";MAX(SE('2_Aggiornamenti'!A5:A24=E8;SE(VAL.NUMERO(SINISTRA('2_Aggiornamenti'!F5:Z24;RICERCA("_";'2_Aggiornamenti'!F5:Z24)-1)+0);SINISTRA('2_Aggiornamenti'!F5:Z24;RICERCA("_";'2_Aggiornamenti'!F5:Z24)-1)+0)))))))

    Dai controlli fatti mi sembra funzionare aspettavo notizie da G.Bove.

  26. #18
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare celle estrapolandole

    Ciao,
    tutte le soluzioni raggiungono lo scopo e l'imbarazzo della scelta è una piacevole sensazione. Ma studiarle tutte sarà un'impegno notevole.

    @Ges
    Un feedback anche per il mio VBA tutor Ges.
    La macro VBA lavora bene per la parte CORSO BASE ma resta statica quando si seleziona una voce nella riga AGGIORNAMENTI.

    Immenso grazie a tutti voi.

    Gene
    Ultima modifica fatta da:Canapone; 28/06/17 alle 12:36

  27. #19

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Copiare celle estrapolandole

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio

    @Ges...
    La macro VBA lavora bene per la parte CORSO BASE ma resta statica quando si seleziona una voce nella riga AGGIORNAMENTI
    ....
    Ciao Gene,
    non è statica ... Mostra tutti i nominativi con i loro ultimi aggiornamenti.. Se provi a modificare le date aggiungendo aggiornamenti più recenti o altri nomi vedi come li integra.. e mette il più recente superiore.
    Visto che hai messo tante righe pensavo volessi avere tutti i nomi ... Se non è così basta una leggera modifica al codice.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  28. #20

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Copiare celle estrapolandole

    Ciao Gene,
    rivedendo il file ho capito che vuoi che ti esca SOLO il nominativo del corso e non tutti i corsi.
    Rimedio subito, giusto per lasciarti anche l'opzione vba.

    Codice: 
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range(Cells(4, 3), Cells(5, 3))) Is Nothing Then
            Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet
            Dim x As Integer, i As Integer, y As Integer, j As Integer, z As Integer, w As Integer, uCol As Integer
            Set sh1 = Sheets("Verifica presenza")
            Set sh2 = Sheets("1_Formazione Sicurezza")
            Set sh3 = Sheets("2_Aggiornamenti")
                Application.EnableEvents = False
                Application.ScreenUpdating = False
                    Range(Cells(8, 2), Cells(38, 7)) = ""
                    x = 8
                        For i = 3 To 24
                            For y = 7 To 77
                                If sh2.Cells(5, i) = sh1.Cells(4, 3) And sh2.Cells(y, i) > 0 Then
                                    sh1.Cells(x, 2) = sh2.Cells(y, 1)
                                        If sh1.Cells(x, 2) <> "" Then
                                            sh1.Cells(x, 3) = Left(sh2.Cells(y, i), 8)
                                            sh1.Cells(x, 4) = Right(sh2.Cells(y, i), 2)
                                        x = x + 1
                                    End If
                                End If
                            Next
                        Next
                    j = 8
                    For z = 5 To 24
                        For w = 2 To 5
                        uCol = sh3.Cells(z, Columns.Count).End(xlToLeft).Column
                            If sh3.Cells(4, w) = sh1.Cells(5, 3) And sh3.Cells(z, w) = "X" Then
                                    sh1.Cells(j, 5) = sh3.Cells(z, 1)
                                    sh1.Cells(j, 6) = Left(sh3.Cells(z, uCol), 10)
                                    sh1.Cells(j, 7) = Right(sh3.Cells(z, uCol), 2)
                                j = j + 1
                            End If
                        Next
                    Next
                     With sh1.Range("E8:G38")
                             sh1.Sort.SortFields.Clear
                            sh1.Sort.SortFields.Add Key:=Range _
                                ("F8:F38"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
                                xlSortTextAsNumbers
                            sh1.Sort.SortFields.Add Key:=Range _
                                ("E8:E38"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                                xlSortNormal
                            sh1.Sort.SortFields.Add Key:=Range _
                                ("G8:G38"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
                                xlSortNormal
                        End With
                        With sh1.Sort
                            .SetRange Range("E7:G38")
                            .Header = xlYes
                            .MatchCase = False
                            .Orientation = xlTopToBottom
                            .SortMethod = xlPinYin
                            .Apply
                        End With
                    Set sh1 = Nothing
                    Set sh2 = Nothing
                    Set sh3 = Nothing
                Application.ScreenUpdating = True
                Application.EnableEvents = True
        End If
    End Sub
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  29. I seguenti 2 utenti hanno dato un "Like" a ges per questo post:


  30. #21
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare celle estrapolandole

    [RISOLTO]

    Ciao Ges,
    è perfetto.
    In questi giorni inizio a finalizzare sul file master tutto lo scibile datomi in questo thread.
    L'idea è quella di usare le formule PKrome & Berna come base ( con le proposte Gianfranco e Danilo come fieno in cascina).
    Mentre la tua opzione VBA del tuo post #11 mi stuzzica alcune modifiche!!

    Alla prossima
    Gene
    Ultima modifica fatta da:Canapone; 28/06/17 alle 12:36

Discussioni Simili

  1. Risposte: 3
    Ultimo Messaggio: 14/11/16, 22:00
  2. Risposte: 6
    Ultimo Messaggio: 23/10/16, 18:02
  3. Copiare celle unite
    Di liuno nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 07/08/16, 19:19
  4. Copiare celle unite
    Di liuno nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 06/08/16, 20:46
  5. copiare celle con due condizioni
    Di G.Bove nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 28/02/16, 08:19

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •