Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Cerca.vert con condizione

Ultimo Aggiornamento: 12/05/2023 16:54
Post: 153
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
10/05/2023 16:54

Chiedo gentilmente questo (non avendo trovato nulla nei vecchi topic)

Ho necessità di trovare una sorta di cerca verticale che mi tenga conto della data più recente.

Allego il file
Vi ringrazio per l'aiuto
Post: 616
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Senior
EXCEL 2016 - SPREAD32
ONLINE
10/05/2023 18:57

ciao

se i codici macchina vanno da F2 a F6 puoi usare partendo da G2 la seguente formula

=CERCA(7;1/($A$2:$A$13=F2);$C$2:$C$13)

ho messo anche il file

Leo
[Modificato da L2018 10/05/2023 19:06]

LEO
https://t.me/LordBrum
Post: 153
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
11/05/2023 08:48

Re:
L2018, 10/05/2023 18:57:

ciao

se i codici macchina vanno da F2 a F6 puoi usare partendo da G2 la seguente formula

=CERCA(7;1/($A$2:$A$13=F2);$C$2:$C$13)

ho messo anche il file

Leo



Ciao Leo, ti ringrazio moltissimo per lo spunto, che mi ha dato un'idea per un altro lavoro che sto portando avanti (è una formula che non avevo mai usato!).
In questo caso però la formula non è completa in quanto non tiene conto delle date.
Nella colonna G deve comparire l'ultimo certificato non per ordine di inserimento ma per ordine di data: cioè per ogni macchina nell'elenco della colonna F deve essere associato il certificato più recente.

E' possibile?


Post: 619
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Senior
EXCEL 2016 - SPREAD32
ONLINE
11/05/2023 09:02

ciao

tu hai scritto

"Ho necessità di trovare una sorta di cerca verticale che mi tenga conto della data più recente."

Io non potendo capire cosa tu abbia inteso esattamente, ti ho fornito una bella formula (non mia) che realizza il CercaVert al contrario, e infatti l'ho inserita nel tuo file di esempio ottenendo il risultato che avevi scritto a mano.
Essendo un CercaVert al contrario ha tenuto conto delle date per come ho capito io.
Se ora vuoi delle modifiche o precisazioni devi/dobbiamo aspettare l'intervento di uno ben più bravo di me
Ovviamente dovresti spiegare meglio che cosa intendi per "tener conto delle date", e quindi eventualmente riscrivere l'esempio col risultato che vorresti

Leo

LEO
https://t.me/LordBrum
Post: 154
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
11/05/2023 09:21

Re:
L2018, 11/05/2023 09:02:

ciao

tu hai scritto

"Ho necessità di trovare una sorta di cerca verticale che mi tenga conto della data più recente."

Io non potendo capire cosa tu abbia inteso esattamente, ti ho fornito una bella formula (non mia) che realizza il CercaVert al contrario, e infatti l'ho inserita nel tuo file di esempio ottenendo il risultato che avevi scritto a mano.
Essendo un CercaVert al contrario ha tenuto conto delle date per come ho capito io.
Se ora vuoi delle modifiche o precisazioni devi/dobbiamo aspettare l'intervento di uno ben più bravo di me
Ovviamente dovresti spiegare meglio che cosa intendi per "tener conto delle date", e quindi eventualmente riscrivere l'esempio col risultato che vorresti

Leo



Ciao Leo, scusami se sono stato poco chiaro qui sul forum, credo che comunque il file sia abbastanza chiaro avendo messo sia i risultati da ottenere sia specificato che devono comparire i codici dei certificati "più recenti" (quindi legati alle date)
Come, giustamente, dici tu, potrebbe essere indicato un altro tipo di funzione (al posto del cerca.vert), spero davvero in un intervento di altri utenti.
Purtroppo non riesco a trovare soluzione :(

Ti ringrazio ancora per il tentativo


Post: 620
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Senior
EXCEL 2016 - SPREAD32
ONLINE
11/05/2023 09:25

ciao

mentre tu rispondevi ho fatto una piccola modifica nell'ipotesi che sia quello che vuoi , altrimenti appunto aspettiamo uno bravo

Leo

LEO
https://t.me/LordBrum
Post: 1.113
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
11/05/2023 09:44

Ciao a tutti
Per non "sporcare" il tuo lavoro ho usato le colonne I e J

In cella I2 inserisci =SE.ERRORE(INDICE(A2:A13;PICCOLO(SE(CONFRONTA(A2:A13;A2:A13;0)=RIF.RIGA(INDIRETTO("1:"&RIGHE(A2:A13)));CONFRONTA(A2:A13;A2:A13;0);"");RIF.RIGA(INDIRETTO("1:"&RIGHE(A2:A13)))));"")
Attenzione: dopo aver inserito la formula nella cella occorre selezionare l'intervallo I2:I13 e confermare come matriciale (Ctrl+Shift+Enter)

In cella J2 inserisci la formula di @L2018 (ciao Leo) modificata =CERCA(7;1/($A$2:$A$13=I2);$C$2:$C$13) e copia in basso fin dove serve.

Fai sapere. Ciao,
Mario
Post: 155
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
11/05/2023 09:47

Re:
L2018, 11/05/2023 09:25:

ciao

mentre tu rispondevi ho fatto una piccola modifica nell'ipotesi che sia quello che vuoi , altrimenti appunto aspettiamo uno bravo

Leo



Grazie davvero per l'ulteriore tentativo, apprezzo moltissimo, ma purtroppo aggiungere una colonna riportando le date non mi risolve il problema.
A me occorre solo "riempire" con formula solo la colonna G, in cui devono apparire i certificati più recenti

Per fare la prova del nove puoi ad esempio cambiare l'anno della data nella cella B12 (riferito alla macchina A) e mettere 05/03/15 invece 05/03/23: in questo caso il certificato Cert-11 sarà più vecchio degli altri 2 certificati della macchina A (Cert-05 e Cert-01), per cui in G2 non dovrà più comparire Cert-11 bensì Cert-05 che diventerà il più recente tra i 3 in gioco.



Post: 2.962
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
11/05/2023 09:50

ciao
se le date non sono in ordine

matriciale ctrl maiuscolo invio
=INDICE($C$2:$C$1000;CONFRONTA(1;(MAX(SE($A$2:$A$1000=$F2;$B$2:$B$1000))=$B$2:$B$1000)*($A$2:$A$1000=$F2);0))

ma per favore prova questa dovrebbe funzionare anche senza matriciale
=INDICE($C$2:$C$1000;CONFRONTA(1;INDICE((MAX(SE($A$2:$A$1000=$F2;$B$2:$B$1000))=$B$2:$B$1000)*($A$2:$A$1000=$F2);;);0))
Post: 156
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
11/05/2023 09:58

Re:
Marius44, 11/05/2023 09:44:

Ciao a tutti
Per non "sporcare" il tuo lavoro ho usato le colonne I e J

In cella I2 inserisci =SE.ERRORE(INDICE(A2:A13;PICCOLO(SE(CONFRONTA(A2:A13;A2:A13;0)=RIF.RIGA(INDIRETTO("1:"&RIGHE(A2:A13)));CONFRONTA(A2:A13;A2:A13;0);"");RIF.RIGA(INDIRETTO("1:"&RIGHE(A2:A13)))));"")
Attenzione: dopo aver inserito la formula nella cella occorre selezionare l'intervallo I2:I13 e confermare come matriciale (Ctrl+Shift+Enter)

In cella J2 inserisci la formula di @L2018 (ciao Leo) modificata =CERCA(7;1/($A$2:$A$13=I2);$C$2:$C$13) e copia in basso fin dove serve.

Fai sapere. Ciao,
Mario



Ciao Marius, sono convinto che funzioni ma ho provato seguendo le tue indicazioni ma non va (ho tenuto conto anche dell'invio matriciale!). Se me lo vuoi inviare tramite il file fai pure non ti preoccupare


Post: 157
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
11/05/2023 10:01

Re:
federico460, 11/05/2023 09:50:

ciao
se le date non sono in ordine

matriciale ctrl maiuscolo invio
=INDICE($C$2:$C$1000;CONFRONTA(1;(MAX(SE($A$2:$A$1000=$F2;$B$2:$B$1000))=$B$2:$B$1000)*($A$2:$A$1000=$F2);0))

ma per favore prova questa dovrebbe funzionare anche senza matriciale
=INDICE($C$2:$C$1000;CONFRONTA(1;INDICE((MAX(SE($A$2:$A$1000=$F2;$B$2:$B$1000))=$B$2:$B$1000)*($A$2:$A$1000=$F2);;);0))



Comincio a credere che sul forum ci siano mezzi geni...FUNZIONANO ENTRAMBE!!
Incredibile!!!

Una cosa, solo curiosità, la prima soluzione funziona anche senza l'invio matriciale, è possibile?

PS: Messaggio per Marius, tutto risolto grazie!

RINGRAZIO Leo (L2018) Marius44 e Federico460 per il supporto dato. Gentilissimi!


[Modificato da Eso71 11/05/2023 10:04]
Post: 621
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Senior
EXCEL 2016 - SPREAD32
ONLINE
11/05/2023 10:13

salve
comunque nel primo file di esempio io avevo già osservato che le date erano ordinate e mi son chiesto cosa succedeva se non lo fossero
ma certo non avrei saputo costruire le formule di Federico e Mario, che saluto
Leo

LEO
https://t.me/LordBrum
Post: 2.963
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
11/05/2023 10:58

Eso
ma hai il 2007 ?

la mia prima formula è matriciale di sicuro

quella dove ho aggiunto indice() no
Post: 158
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
11/05/2023 14:12

Re:
federico460, 11/05/2023 10:58:

Eso
ma hai il 2007 ?

la mia prima formula è matriciale di sicuro

quella dove ho aggiunto indice() no



Ho Excel 2021

Ho eseguito la prima in forma matriciale e la seconda normalmente (come da te indicato) e funzionano entrambe
Per curiosità ho provato la prima senta l'invio matriciale e funziona comunque. L'ho fatto solo come test, non lo standardizzo di certo :)

Grazie ancora
Post: 2.964
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
11/05/2023 14:39

Ciao
chiaro il 2021 accetta l'espansione
non ricordo tutte le nuve formule del 2021

un'idea
=CERCA.X(MAX(FILTRO($B$2:$B$1300;$A$2:$A$1300=F2));FILTRO($B$2:$B$1300;$A$2:$A$1300=F2);FILTRO($C$2:$C$1300;$A$2:$A$1300=F2);"")

=LET(A;$A$2:$A$1300=$F2;CERCA.X(MAX(FILTRO($B$2:$B$1300;A));FILTRO($B$2:$B$1300;A);FILTRO($C$2:$C$1300;A);""))

cambia il tuo profilo
Post: 159
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
11/05/2023 16:25

Re:
federico460, 11/05/2023 14:39:

Ciao
chiaro il 2021 accetta l'espansione
non ricordo tutte le nuve formule del 2021

un'idea
=CERCA.X(MAX(FILTRO($B$2:$B$1300;$A$2:$A$1300=F2));FILTRO($B$2:$B$1300;$A$2:$A$1300=F2);FILTRO($C$2:$C$1300;$A$2:$A$1300=F2);"")

=LET(A;$A$2:$A$1300=$F2;CERCA.X(MAX(FILTRO($B$2:$B$1300;A));FILTRO($B$2:$B$1300;A);FILTRO($C$2:$C$1300;A);""))

cambia il tuo profilo



Si il profilo lo avevo cambiato prima di risponderti.

Le formule che hai aggiunto funzionano entrambe! Incredibile

Grazie ancora

Post: 2.965
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
11/05/2023 17:36

ciao
guarda che è la stessa formula
solo che ho usato LET() per la matrice ripetitiva

LET() è esattamente come creare una formula sulla barra in alto

=CERCA.X(MAX(FILTRO($B$2:$B$1300;$A$2:$A$1300=F2));FILTRO($B$2:$B$1300;$A$2:$A$1300=F2);FILTRO($C$2:$C$1300;$A$2:$A$1300=F2);"")

=LET(A;$A$2:$A$1300=$F2;CERCA.X(MAX(FILTRO($B$2:$B$1300;A));FILTRO($B$2:$B$1300;A);FILTRO($C$2:$C$1300;A);""))

in pratica non si usa più FORMULE nella barra multifunzione che viene sostituita da LET()


uso poco le nuove formule visto che la maggior parte delle formule
vengono usate dal 2019 in giù
[Modificato da federico460 11/05/2023 17:39]
Post: 160
Registrato il: 01/09/2016
Città: BOMPORTO
Età: 53
Utente Junior
2021
OFFLINE
12/05/2023 08:26

Re:
federico460, 11/05/2023 17:36:

ciao
guarda che è la stessa formula
solo che ho usato LET() per la matrice ripetitiva

LET() è esattamente come creare una formula sulla barra in alto

=CERCA.X(MAX(FILTRO($B$2:$B$1300;$A$2:$A$1300=F2));FILTRO($B$2:$B$1300;$A$2:$A$1300=F2);FILTRO($C$2:$C$1300;$A$2:$A$1300=F2);"")

=LET(A;$A$2:$A$1300=$F2;CERCA.X(MAX(FILTRO($B$2:$B$1300;A));FILTRO($B$2:$B$1300;A);FILTRO($C$2:$C$1300;A);""))

in pratica non si usa più FORMULE nella barra multifunzione che viene sostituita da LET()


uso poco le nuove formule visto che la maggior parte delle formule
vengono usate dal 2019 in giù



Non ne ero a conoscenza, grazie per lo spunto.
Domenica mi ero ripromesso di studiarmi le tue formule, avrò così modo di aggiornami sulle nuove funzioni, grazie! 😀👍
Post: 1.114
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
12/05/2023 16:54

Ciao
Anche se hai risolto (immagino) poichè non avevo letto la tua del 11/05/2023 09:58 ti allego ciò che avevo fatto con le formule che avevo pubblicato (entrambe non mie ma "elaborate")

La prima formula estrae i valori univoci (le macchine; la seconda cerca, per una data macchina, la data più recente.

Ciao e scusa per il ritardo (visto che hai intenzione di "studiare" ti offro qualcosa d'altro).,
Mario
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:36. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com