Excel Forum Per condividere esperienze su Microsoft Excel

[RISOLTO] Ricerca Numero di riga

  • Messaggi
  • OFFLINE
    by sal
    Post: 6.783
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 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
  • OFFLINE
    duccio.73
    Post: 112
    Registrato il: 27/12/2016
    Città: SIENA
    Età: 50
    Utente Junior
    Office 2019/Office 365
    00 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
  • OFFLINE
    by sal
    Post: 6.783
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 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
  • OFFLINE
    duccio.73
    Post: 113
    Registrato il: 27/12/2016
    Città: SIENA
    Età: 50
    Utente Junior
    Office 2019/Office 365
    00 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
  • OFFLINE
    by sal
    Post: 6.784
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 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
  • OFFLINE
    federico460
    Post: 2.596
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 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]
  • OFFLINE
    by sal
    Post: 6.790
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 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