Excel Forum Per condividere esperienze su Microsoft Excel

Excel - Indice(Confronta( restituzione valori da destra verso sinistra

  • Messaggi
  • OFFLINE
    AndrewTFox
    Post: 1
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 27/04/2018 10:24
    Indice(Confronta da destra a sinistra
    Ciao,
    ho creato questa formula che cerca e riporta il primo valore da destra verso sinitra contenuto in una stringa all'interno di in un vettore

    =INDICE(4:4;CONFRONTA(CONCATENA("*" & " - ";A1);4:4;0))

    Funziona correttamente, la mia domanda è:

    - E' possibile fare in modo che mi riporti l'ultimo valore che trova invece del primo? (O che faccia la ricerca da destra verso sinistra)



    Grazie in anticipo!
    [Modificato da AndrewTFox 27/04/2018 10:31]
  • OFFLINE
    DANILOFIORINI
    Post: 171
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 27/04/2018 14:08
    Buongiorno


    =INDICE(4:4;AGGREGA(14;6;RIF.COLONNA(4:4)/((DESTRA(4:4;1)=A1));1))
    [Modificato da DANILOFIORINI 27/04/2018 14:20]
  • OFFLINE
    AndrewTFox
    Post: 1
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 27/04/2018 14:59
    Ciao Danilo, grazie per la risposta!
    Ti confermo che per questo semplice esempio funziona alla perfezione..
    Però ho un problema su un sistema leggermente diverso, pensavo di riuscire ad adattarlo ma non riesco a comprendere bene la funzione "Aggrega"

    Ti allego il file con il vettore specifico, dove la ricerca in realtà dovrei farla su una formula (non so se è questo il problema).

    Grazie per la disponibilità
  • OFFLINE
    DANILOFIORINI
    Post: 172
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 27/04/2018 16:04
    Ciao
    Nell' esempio di prima cercavi un testo ora un numero quindi prova ad anteporreal criterio di ricerca destra (..) la funzione valore o a moltiplicare x 1
    Ora sono fa cellulare se non risolvi stasera te la aggiusto
  • OFFLINE
    AndrewTFox
    Post: 2
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 27/04/2018 16:35
    Re:
    DANILOFIORINI, 27/04/2018 16.04:

    Ciao
    Nell' esempio di prima cercavi un testo ora un numero quindi prova ad anteporreal criterio di ricerca destra (..) la funzione valore o a moltiplicare x 1
    Ora sono fa cellulare se non risolvi stasera te la aggiusto




    Sarebbe perfetta se non fosse che mi converte anche le date e mi cercasse tra quelle [SM=g27825]

    Per ovviare al problema dovrei modificare il valore da cercare impostandolo come testo e aggiungendo il trattino:
    - se prima cercavo il valore 47, ora dovrò cercare '- 47

    Cosi funziona non considerando le date.. Una brutta toppa però
  • OFFLINE
    DANILOFIORINI
    Post: 173
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    10 27/04/2018 20:54
    Ciao
    le date in excel sono numeri quindi possiamo bypassare dicendogli
    di considerare soltanto le celle del range che sono testi allora mettiamo la condizione per farglielo capire quindi


    =INDICE(6:6;AGGREGA(14;6;RIF.COLONNA(6:6)/((VALORE(DESTRA(6:6;LUNGHEZZA(A1)))=A1)*(VAL.TESTO(6:6)));1))
  • OFFLINE
    AndrewTFox
    Post: 3
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 02/05/2018 09:48
    Re:
    DANILOFIORINI, 27/04/2018 20.54:

    Ciao
    le date in excel sono numeri quindi possiamo bypassare dicendogli
    di considerare soltanto le celle del range che sono testi allora mettiamo la condizione per farglielo capire quindi


    =INDICE(6:6;AGGREGA(14;6;RIF.COLONNA(6:6)/((VALORE(DESTRA(6:6;LUNGHEZZA(A1)))=A1)*(VAL.TESTO(6:6)));1))




    Ciao Danilo, grazie ancora per la risposta.

    C'è qualche motivo particolare per cui, se invece di un'intera riga faccio un vettore definito ad alcuni campi la formula non funziona più?

    Per capire quello che devo fare, ti allego il file su cui sto lavorando..
    Nel foglio "Reale" dovrei riportare la formula, dove nella parte evidenziata in rosso ho usato il vettore definito, mentre in giallo il vettore è sull'intera riga.
    Praticamente dovrei riportare solamente quei valori "Simbolo" partendo dalla cella P5 alla EL5.

    I valori simbolo sono tutti quei valori concatenati con il numero delle settimane in "Pianificazione", es:
    AC1 - 48
    R1 - 47
    C1 - 47
    ...

    Ti ringrazio per la disponibilità
    [Modificato da AndrewTFox 02/05/2018 10:20]
  • OFFLINE
    DANILOFIORINI
    Post: 179
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 02/05/2018 11:11
    Ciao
    Ora sono da cellulare e sinceramente non ho capito dove vuoi la formula se nella parte gialla o rossa o in entrambe da trascinare in basso....fai così allega il file con i dati inseriti e dove vuoi i risultati mettili a mano senza formule....in quanto non ho capito neanche quello stringa.estrai che hai all' inizio....comunque se invece di tutta la riga vuoi un tange definito se inizia da P5 nella matrice di aggrega devi mettere - RIF.RIGA($P$5)+1 cioè da dove parte la matrice....dopo in pausa cmq lo guardo
  • OFFLINE
    AndrewTFox
    Post: 4
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 02/05/2018 12:52
    Re:
    DANILOFIORINI, 02/05/2018 11.11:

    Ciao
    Ora sono da cellulare e sinceramente non ho capito dove vuoi la formula se nella parte gialla o rossa o in entrambe da trascinare in basso....fai così allega il file con i dati inseriti e dove vuoi i risultati mettili a mano senza formule....in quanto non ho capito neanche quello stringa.estrai che hai all' inizio....comunque se invece di tutta la riga vuoi un tange definito se inizia da P5 nella matrice di aggrega devi mettere - RIF.RIGA($P$5)+1 cioè da dove parte la matrice....dopo in pausa cmq lo guardo





    Scusami la non chiarezza..
    Vorrei avere la formula su entrambe le righe da trascinare in basso.
    Lo stringa.estrai non fa altro che estrarmi solo il "Simbolo" invece che tutta la scritta con la ripetizione della settimana (si può anche rimuovere).

    Nella parte gialla ho riportato la formula che mi hai gentilmente offerto, mentre nella rossa ho provato a modificare i riferimenti del vettore, ma mi riporta valori non coerenti..



  • OFFLINE
    DANILOFIORINI
    Post: 181
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 02/05/2018 13:36
    Perdonami
    ma io no riesco a capire che vuoi estrarre se alleghi come ti ho gia detto il file senza formule inserite e con il risultato da ottenere scritto a mano si risolve...cmq nelle formule con aggrega funziona cosi

    =INDICE(es A2:f2;aggrega(15 o 14;6;(rifcolonna(a2:f2)/(criterio=VERO))-RIF.COLONNA($A$2)+1;K))

    la parte in rosso è per far partire la ricerca da quel punto
  • OFFLINE
    AndrewTFox
    Post: 5
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 02/05/2018 14:21
    Re:

    Scusa ma non sono riuscito a capire la modifica..
    Come mi hai chiesto, ti allego il file, dove nel foglio "Reale", il 1° range (verde) è quello in cui ho utilizzato la formula che mi hai fornito precedentemente, nel 2° range (grigio) invece ho inserito i valori che mi aspetterei di ottenere per quel range.

    Ho inserito alcuni commenti sperando di essere stato più chiaro..
    [Modificato da AndrewTFox 02/05/2018 14:35]
  • OFFLINE
    AndrewTFox
    Post: 6
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 02/05/2018 14:48
    Re:
    DANILOFIORINI, 02/05/2018 13.36:


    =INDICE(es A2:f2;aggrega(15 o 14;6;(rifcolonna(a2:f2)/(criterio=VERO))-RIF.COLONNA($A$2)+1;K))




    Ok, questo sono riuscito ad adattarlo, con un pò di calma capisco anche il funzionamento del complesso..

    =INDICE(Pianificazione!$P5:$EL5;AGGREGA(14;6;RIF.COLONNA(Pianificazione!$P5:$EL5)/((VALORE(DESTRA(Pianificazione!$P5:$EL5;LUNGHEZZA(R$5)))=R$5)*(VAL.TESTO(Pianificazione!$P5:$EL5)))-RIF.COLONNA($P5)+1;1))

    L'unico errore che mi esce è che se cerco ad esempio il valore "7", mi riporta anche il "47".
    Pensavo di ovviare al problema modificando la ricerca aggiungendo un carattere sempre presente, ovvero lo spazio.
    Pensavo di poter semplicemente modificare questa parte

    VALORE(DESTRA(Pianificazione!$P5:$EL5;LUNGHEZZA(R$5)))=R$5)

    In questo modo (non funzionante)

    VALORE(DESTRA(Pianificazione!$P5:$EL5;LUNGHEZZA(R$5)+1))=concatena(" ";R$5)
    [Modificato da AndrewTFox 02/05/2018 14:54]
  • OFFLINE
    DANILOFIORINI
    Post: 182
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 02/05/2018 20:20
    buonasera
    prova cosi

    =SE.ERRORE(INDICE(Pianificazione!$P5:$EL5;AGGREGA(14;6;RIF.COLONNA(Pianificazione!$P5:$EL5)/((VALORE(STRINGA.ESTRAI(Pianificazione!$P$5:$EL$5;TROVA("-";Pianificazione!$P$5:$EL$5)+2;LUNGHEZZA(R$5)))=R$5)*(VAL.TESTO(Pianificazione!$P5:$EL5)))-RIF.COLONNA($P5)+1;1));"")
    [Modificato da DANILOFIORINI 02/05/2018 20:22]
  • OFFLINE
    AndrewTFox
    Post: 7
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 07/05/2018 12:27
    Re:
    DANILOFIORINI, 02/05/2018 20.20:

    buonasera
    prova cosi

    =SE.ERRORE(INDICE(Pianificazione!$P5:$EL5;AGGREGA(14;6;RIF.COLONNA(Pianificazione!$P5:$EL5)/((VALORE(STRINGA.ESTRAI(Pianificazione!$P$5:$EL$5;TROVA("-";Pianificazione!$P$5:$EL$5)+2;LUNGHEZZA(R$5)))=R$5)*(VAL.TESTO(Pianificazione!$P5:$EL5)))-RIF.COLONNA($P5)+1;1));"")




    Ciao Danilo, grazie ancora.
    Purtroppo, se riporto la formula sopra, nella settimana 4 e 5 della seconda riga, vengono riportati dei valori errati (C4 - 47 / OKT - 50)
  • OFFLINE
    federico460
    Post: 1.603
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 07/05/2018 14:38
    ciao

    prova questa


    =CERCA(A1;DESTRA(A4:INDIRETTO(INDIRIZZO(4;MAX((4:4<>"")*RIF.COLONNA(4:4)))));A4:INDIRETTO(INDIRIZZO(4;MAX((4:4<>"")*RIF.COLONNA(4:4)))))




    matriciale
    ctrl shift invio
    mmmmmmmmmm!

    ho usato il primo esempio [SM=g27825]
    [Modificato da federico460 07/05/2018 14:41]
  • OFFLINE
    DANILOFIORINI
    Post: 186
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Junior
    2016
    00 07/05/2018 20:51
    Buonasera
    nel file che allego in riga 9 e riga 10 ho messo la formula corretta
    per farti vedere che ottengo gli stessi risultati che hai messo manualmente.....c'era un problema di riferimenti assoluti e nel numero di lettere dello stringa.estrai quindi in R6 del foglio Reale da trascinare a destra e poi in basso

    =SE.ERRORE(INDICE(Pianificazione!$P5:$EL5;AGGREGA(14;6;RIF.COLONNA(Pianificazione!$P5:$EL5)/((VALORE(STRINGA.ESTRAI(Pianificazione!$P5:$EL5;TROVA("-";Pianificazione!$P5:$EL5)+2;2))=R$5)*(VAL.TESTO(Pianificazione!$P5:$EL5)))-RIF.COLONNA($P5)+1;1));"")
  • OFFLINE
    AndrewTFox
    Post: 8
    Registrato il: 27/04/2018
    Città: MILANO
    Età: 34
    Utente Junior
    2016
    00 10/05/2018 11:20
    Spettacolo!

    Grazie Danilo per la pazienza e la disponibilità!
  • 15MediaObject5,00117 1