| | 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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 |
|
|