Excel Forum Per condividere esperienze su Microsoft Excel

Convalida dati pescando in base ad un valore tra righe e colonne

  • Messaggi
  • OFFLINE
    AndyLyon
    Post: 1
    Registrato il: 05/04/2018
    Città: CALENZANO
    Età: 48
    Utente Junior
    2007
    00 23/10/2018 15:05
    Convalida dati tra righe e colonne
    Salve a tutti.
    Sto cercando di trovare una formula da inserire nella convalida dati della colonna I, come da esempio che allego.
    In sostanza vorrei che al variare delle colonne G e H, Excel mi "pescasse" i nominativi con quella combinazione di valori scelti.
    Sapete aiutarmi per favore?
    Grazie mille!! ;-)
    [Modificato da AndyLyon 23/10/2018 15:11]
  • OFFLINE
    alfrimpa
    Post: 3.984
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 23/10/2018 15:15
    Ciao AndyLion

    Il tuo file originale è esattamente uguale a quello riprodotto nell'immagine (a parte i dati)?

    Non so se quello che chiedi si possa fare con la convalida dati.

    Sicuramente usando una casella combinata (ActiveX) ci sono più possibilità.

    Allega un file di esempio (strutturalmente uguale all'originale e senza dati sensibili) e vediamo.

    Alfredo
  • OFFLINE
    AndyLyon
    Post: 1
    Registrato il: 05/04/2018
    Città: CALENZANO
    Età: 48
    Utente Junior
    2007
    00 23/10/2018 16:17
    Ciao alfrimpa,
    grazie per la celere risposta. Il file te lo allego volentieri ma è identico all'immagine. Chiaramente sono dati di esempio e nelle celle I2 e I5 ho inserito l'elenco dei nomi di convalida manualmente. E' qui che vorrei/spererei di inserirne la formula corretta e dinamica...
    Mi auguro si possa fare altrimenti diventa un lavoro molto più complicato.

    Grazie per adesso.

    Ciao ciao
  • OFFLINE
    DANILOFIORINI
    Post: 245
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 23/10/2018 16:20
    Buonasera a tutti si può fare anche con la semplice convalida dati
    dobbiamo usare due colonne di servizio che saranno poi il bacino delle convalide
    quindi in N2 da trascinare in basso fino a riga 100

    =SE.ERRORE(INDICE($A$2:$A$100;AGGREGA(15;6;RIF.RIGA($A$2:$A$100)/(INDICE(INDIRETTO(INDIRIZZO(2;CONFRONTA($G$2;$A$1:$E$1;0))&":"&INDIRIZZO(100;CONFRONTA($G$2;$A$1:$E$1;0)));;)=$H$2)-RIF.RIGA($A$2)+1;RIF.RIGA(A1)));"")

    in O2 da trascinare in basso fino a riga 100

    =SE.ERRORE(INDICE($A$2:$A$100;AGGREGA(15;6;RIF.RIGA($A$2:$A$100)/(INDICE(INDIRETTO(INDIRIZZO(2;CONFRONTA($G$6;$A$1:$E$1;0))&":"&INDIRIZZO(100;CONFRONTA($G$6;$A$1:$E$1;0)));;)=$H$6)-RIF.RIGA($A$2)+1;RIF.RIGA(A1)));"")

    Poi evidenzia la cella I2
    DATI
    CONVALIDA DATI
    ELENCO
    nella barra incolla

    =SCARTO(N$2;;;MATR.SOMMA.PRODOTTO(--(N$2:N$100<>"")))

    ripeti l'operazione perla cella I6

    e incolla

    =SCARTO(O$2;;;MATR.SOMMA.PRODOTTO(--(O$2:O$100<>"")))
  • OFFLINE
    alfrimpa
    Post: 3.985
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 23/10/2018 16:29
    Grazie Danilo io con le formule non ci so fare proprio.

    Comunque meglio così.

    Alfredo
  • OFFLINE
    AndyLyon
    Post: 2
    Registrato il: 05/04/2018
    Città: CALENZANO
    Età: 48
    Utente Junior
    2007
    00 23/10/2018 16:37
    Ciao Danilo,
    grazie tante ma credo che la tua soluzione funzioni solo da Excel 2010 in poi; infatti la funzione aggrega in excel 2007 non c'è...:-(
    Esiste quindi una soluzione per il 2007?

    Grazie ancora...
  • OFFLINE
    DANILOFIORINI
    Post: 246
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 23/10/2018 16:40
    si
    ora sono fuori tra un po te la faccio devi cambiare le due formule in colonna N e O
  • OFFLINE
    DANILOFIORINI
    Post: 247
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 23/10/2018 17:17
    Allora come ti dicevo in N2 da attivare con CTRL+SHIFT+INVIO e poi trascinare in basso

    =SE.ERRORE(INDICE($A$2:$A$100;PICCOLO(SE(INDICE(INDIRETTO(INDIRIZZO(2;CONFRONTA($G$2;$A$1:$E$1;0))&":"&INDIRIZZO(100;CONFRONTA($G$2;$A$1:$E$1;0)));;)=$H$2;RIF.RIGA($A$2:$A$100)-RIF.RIGA($A$2)+1);RIF.RIGA(A1)));"")

    in O2 da attivare con CTRL+SHIFT+INVIO e poi trascinare in basso


    =SE.ERRORE(INDICE($A$2:$A$100;PICCOLO(SE(INDICE(INDIRETTO(INDIRIZZO(2;CONFRONTA($G$6;$A$1:$E$1;0))&":"&INDIRIZZO(100;CONFRONTA($G$6;$A$1:$E$1;0)));;)=$H$6;RIF.RIGA($A$2:$A$100)-RIF.RIGA($A$2)+1);RIF.RIGA(A1)));"")
    [Modificato da DANILOFIORINI 23/10/2018 17:20]
  • OFFLINE
    AndyLyon
    Post: 3
    Registrato il: 05/04/2018
    Città: CALENZANO
    Età: 48
    Utente Junior
    2007
    00 23/10/2018 17:46
    Danilo sei un GRANDEEEEEE!!!!

    Funziona BENISSIMO... Grazie infinite!

    🤗🤗🤗
    Buona serata