| | Post: 6.783 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
03/05/2022 11:34 | |
Ciao a tutti mi occorrerebbe una formula per conoscere il numero di riga.
ho una tabella composta da 100 date partendo dalla riga 1, quale potrebbe essere una formula per determinare che la data x si trovi alla riga 5, posto che effettivamente la data di ricerca è alla riga5.
in effetti ho una colonna Date che non sono consecutive, nel foglio successivo devo estrarre dei dati in base alla data, non essendo consecutive che facevo data-1 adesso devo trovare una formula che partendo da una data mi dia la data che si trova nella cella superiore del primo foglio
non devo saltare le date devono andare in successione
15/4/22
18/4/22
27/4/22
19/4/22
trovando la data 27/4/22 mi dovrebbe portare la data 18/4/22 quindi la formula dovrebbe fare sull'altro foglio
27/4/22
18/4/22
15/4/22
non so se mi sono spiegato, trovando la riga potrei risalire alla data precedente oppure esiste un altro metodo.
non so se sono riuscito a spiegarmi bene
Ciao By Sal (8-D
[Modificato da by sal 03/05/2022 11:38] se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
|
| | Post: 112 | Registrato il: 27/12/2016
| Città: SIENA | Età: 50 | Utente Junior | Office 2019/Office 365 | | OFFLINE | |
|
03/05/2022 15:40 | |
Ciao Sal,
non so se ho capito bene la regola.
Potrebbe andare bene =SE.ERRORE(INDIRETTO(INDIRIZZO(CONFRONTA($G$2;Foglio1!$A$1:$A$100;0);1));"")
Dove $G$2 contiene il valore da cercare e Foglio1!$A$1:$A$100 le date, naturalmente nelle caselle sottostanti la formula dovrebbe diventare
=SE.ERRORE(INDIRETTO(INDIRIZZO(CONFRONTA($G$2;Foglio1!$A$1:$A$100;0)-1;1));"")
Probabilmente c'e' anche il modo per fare una matrice unica ma questo mi sembrava il più veloce
---
pensa bene a quello che cerchi, allega un file di esempio, prova il registratore di macro, imparerai e potresti già avere la soluzione |
| | Post: 6.783 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
03/05/2022 16:37 | |
Ciao Duccio, purtroppo non funziona mi da come risultato 0, vedi cella gialla foglio "risultato"
allego il file con i riferimenti giusti
come vedi partendo dalla cella "V3" a scendere mi dovrebbe dare le date, le ho scritte manualmente, prendendole dal foglio "date", la tua formula l'ho inserita nella cella V8 aggiustando i riferimenti, ma il risultato è zero.
con il VBA avrei risolto subito, ma con le formule sono una frana, purtroppo nel caso ho bisogno di una formula.
Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 113 | Registrato il: 27/12/2016
| Città: SIENA | Età: 50 | Utente Junior | Office 2019/Office 365 | | OFFLINE | |
|
03/05/2022 17:54 | |
Ciao Sal,
colpa mia e della fretta
=INDIRETTO(INDIRIZZO(CONFRONTA(M4;Date!B2:B1498;0);2;;;"Date"))
Con questa formula ti dà il valore che hai indicato (22/04/2022), nel caso tu voglia casella precedente o seguente
=INDIRETTO(INDIRIZZO(CONFRONTA(M4;Date!B2:B1498;0) +1;2;;;"Date")) o =INDIRETTO(INDIRIZZO(CONFRONTA(M4;Date!B2:B1498;0) -1;2;;;"Date"))
o per utilizzare il trascinamento
=INDIRETTO(INDIRIZZO(CONFRONTA($M$4;Date!$B$2:$B$1498;0) -RIF.RIGA()+9;2;;;"Date"))
Ti allego il file ---
pensa bene a quello che cerchi, allega un file di esempio, prova il registratore di macro, imparerai e potresti già avere la soluzione |
| | Post: 6.784 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
04/05/2022 16:24 | |
Ciao Duccio, funziona alla grande, grazie, mi hai tolto un bel mal di testa.
Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 2.596 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
04/05/2022 17:26 | |
ciao
forse sbaglio ma mi sembra
=SE.ERRORE(INDICE(Date!$B$2:$B$3000;CONFRONTA($M$4;Date!$B$2:$B$3000;0)-RIF.RIGA($A1)+1);"")
mentre se vuoi sistemarle anche in ordine
matriciale ctrl maiuscolo invio
=SE.ERRORE(GRANDE(INDICE(Date!$B$2:$B$3000;PICCOLO(SE(Date!$B$2:$B$3000<=$M$4;Date!$B$2:$B$3000);RIF.RIGA($A2)));RIF.RIGA(A2));"") [Modificato da federico460 04/05/2022 17:50] |
| | Post: 6.790 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
06/05/2022 16:52 | |
Ciao Federico funzionano tutt'e due anche queste, la seconda con la matriciale non serve in verità perche le date già sono ordinate ma comunque è sempre bene nel caso che mi trovo un elenco non ordinato.
Ciao e Grazie By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
|
|