È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

[RISOLTO] Trovare il valore MAX() in una colonna con una condizione

  • Messaggi
  • OFFLINE
    L2018
    Post: 1.308
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 12:11
    Ciao, Buona Pasquetta.

    in colonna A ho questi valori:
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1

    in cella B1 inserisco 7,5
    quale potrebbe essere una
    formula che mi restituisce il valore, in quella colonna, che sia appena maggiore o uguale a 7,5 ?
    in questo caso 8
    se scrivo 4,8 la formula dovrebbe restituirmi 5
    se scrivo 9 la formula dovrebbe darmi 9
    Spero non sia complicato
    Grazie al formulista provetto
    [Modificato da L2018 01/04/2024 12:16]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    Marius44
    Post: 1.242
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Veteran
    Excel2019
    00 01/04/2024 12:43
    Ciao Leo
    Buona Pasquetta anche a te
    Come hai disposto i valori, prova con questa formula
    =SCARTO(A1;CONFRONTA(B1;A1:A10;-1)-1;0)

    Attenzione che non funziona se i numeri in colonna A sono crescenti.
    Ciao,
    Mario
  • OFFLINE
    scossa
    Post: 1.977
    Registrato il: 27/07/2010
    Utente Veteran
    10 01/04/2024 12:45
    il primo che mi viene in mente (Excel 2010):
    in A2:A11 i numeri
    in B1 il valore cercato
    In A1 la formula: =MIN(SE.ERRORE(A2:A11/(A2:A11>=B1);"")) matriciale (confermare con ctrl+maiusc+invio)

    N.B.: l'ordine dei numeri è indifferente.
    [Modificato da scossa 01/04/2024 12:46]

    Bye!
    scossa

    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
  • OFFLINE
    L2018
    Post: 1.308
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 12:52
    caspita
    GRAZIE ad entrambi
    siccome ho messo male i riferimenti devo ricostruirmi lo specchietto e vado golosamente a verificare
    oltretutto ho posto la domanda in modo incompleto, perchè la "formula" dovrebbe essere concatenata 5 volte, in modo direi ricorsivo,
    e mi tocca creare un file dedicato.
    Mi riferisco ad un vecchio problema che avevo posto molto tempo fa e che comunque ho risolto, ma vorrei vedere se con un'unica vostra formula riesco a migliorare il meccanismo
    A piu tardi

    LEO
    https://t.me/LordBrum
  • OFFLINE
    federico460
    Post: 3.357
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 01/04/2024 14:22
    ciao
    L2018
    solo per didattica

    ricordati
    1 dato più vicino con tabella in ordine crescente
    0 dato esatto
    -1dato più vicino con tabella in ordine decrescente

    nel tuo caso
    =INDICE(A1:A10;CONFRONTA(C1;A1:A10;-1))

    poi se vuoi i primi cinque
    =INDICE($A$1:$A$10;CONFRONTA($C$1;$A$1:$A$10;-1)+RIF.RIGA($A1)-1)

    oppure meglio quella di Marius

    =SCARTO(A1;CONFRONTA(C1;A1:A10;-1)-1;0;5)
    ma non so se ti rende l'espansione la tua versione
    al limite al posto di 5 usi il rif.riga e lo trascini
  • OFFLINE
    L2018
    Post: 1.309
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 15:08
    Re:
    federico460, 01/04/2024 14:22:

    ciao L2018


    Ciao Federico
    (ricordo bene la differenza fra 0 dato esatto e 1 più vicino, inoltre l'estensione a 5 non mi riguarda in quel modo ma è da riferire a 5 ulteriori colonne, che poi spiegherò).
    ringrazio anche te per le formule, senz'altro giuste.
    Purtroppo negli ultimi minuti mi sono accorto di aver posto la domanda con un bello strafalcione di errore che sto cercando di capire, perchè ho riesumato un problema vecchio, già risolto, con la speranza di migliorare-semplificare le formule.
    In realtà la richiesta:
    formula che mi restituisce il valore, in quella colonna, che sia appena maggiore o uguale a 7,5
    forse, dico forse, era stata posta bene, ma doveva essere una domanda successiva, nel senso che avrei dovuto PRIMA farne una di inizializzazione e poi passare a questa.
    Nel complesso ho combinato un casino che metà basta (detto alla vicentina).
    Posso solo tentare di rimediare pubblicando il file reale completo, con già la mia soluzione, e nel quale potreste scrivere le vostre risposte a margine.
    In tale file cercherò di scrivere la procedura da seguire.
    Per fare tutto ciò mi ci vuole tempo (i passi tardi e lenti del Petrarca) e quindi vi prego di considerare sospesa la discussione.
    Mi limito a ripetere lo scopo finale del quesito di molto tempo fa, che ho pazientemente risolto e funziona.
    -------------------------
    Dato lo sviluppo delle combinazioni del Lotto, peraltro riassunte da una semplice tabella, e dato un numero in input (indice), compreso fra 1 e il massimo delle combinazioni, si vuole arrivare a determinare in 5 caselle i 5 estratti della combinazione.
    Ma il primo dei 5 estratti è il risultato di una formula di inizializzazione dovuta ad una necessità matematica.
    Gli altri 4 derivano dalla vera formula richiesta.
    Scusatemi

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.310
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 18:16
    Ciao
    eccomi a pubblicare il file che io feci tempo fa trovando la soluzione, che forse è un po' raffazzonata ma funziona
    oggi mi sono incasinato mentalmente e tecnicamente, in pratica mi sono fatto da solo un pesce d'Aprile.
    La speranza è che le 3 formule vostre in qualche modo possano sostituire l'accozzaglia dei miei CERCA.X.
    La mia soluzione funziona ma ad un certo punto si rivolge ad un riquadro che non dovrebbe esistere (colonna K).
    Insomma se vi fa piacere divertitevi.
    N.B.
    Tutte le soluzioni possibili in VBA ce le ho già.
    Saluti

    LEO
    https://t.me/LordBrum
  • OFFLINE
    federico460
    Post: 3.359
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 01/04/2024 18:41
    ciao
    non ho capito una pera😁
    questa ti porta il primo dato
    poi se spieghi cosa vuoi la completiamo
    =INDICE(G1:G1000;CONFRONTA(MAX(SE($B$1:$B$1000<=$B1-$H$1;$B$1:$B$1000));$B$1:$B$1000;0))
  • OFFLINE
    L2018
    Post: 1.313
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 18:54
    Ciao
    ci avrei quasi giurato che fosse un minestrone poco comprensibile nonostante i miei sforzi per prepararlo
    il concetto sarebbe:
    stabilire un numero di posizione e partendo dal massimo delle combinazioni ricavare 5 formule che messe in 5 caselle diano i 5 estratti della combinazione il cui indice è quello stabilito.
    Detta così sembra pure facile, eppure c'è da perdere la pazienza
    io comunque sono riuscito a trovare la soluzione con vari CERCA.X.
    e siccome 5 formule ulteriori non è che cambino le cose, sinceramente preferisco considerare comunque chiusa o risolta la discussione
    Oltretutto la prima formula dovrebbe inizializzare la procedura, spiegare tutto per iscritto non mi è facile.
    In ogni caso le vostre formule sono comunque valide, vedrò se riesco ad adattarle.
    Grazie

    LEO
    https://t.me/LordBrum
  • OFFLINE
    federico460
    Post: 3.361
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 01/04/2024 18:57
    ciao
    guarda che è solo un indice confronta
    non un minestrone😀
    il max() è quello che ti permette trovare il dato esatto che cerchi
  • OFFLINE
    L2018
    Post: 1.314
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 19:04
    Re:
    federico460, 01/04/2024 18:57:

    ciao
    guarda che è solo un indice confronta
    non un minestrone😀
    il max() è quello che ti permette trovare il dato esatto che cerchi



    aspetta, il minestrone è il MIO tabellone, troppo incasinato, lo ammetto
    Le vostre formule, TUTTE, funzionano, ma non riesco a dire tutto.
    Per esempio la PRIMA formula dovrebbe dare 1, e le altre 4, simili, dovrebbero dare 12,44,83,90, su questo non ho dubbi, dato che il numero di posizione imposto sia 1.000.000.
    cioè nello sviluppo lessicografico del Lotto la combinazione che occupa il 1.000.000 mo posto è
    1-12-44-83-90
    con gli Indice-Confronta si tratterebbe di trovare quei 5 numeri
    [Modificato da L2018 01/04/2024 19:09]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    federico460
    Post: 3.362
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 01/04/2024 19:15
    ciao
    5 numeri 5 formule?
    uno per riga o per colonna
  • OFFLINE
    L2018
    Post: 1.315
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 19:23
    Re:
    federico460, 01/04/2024 19:15:

    ciao
    5 numeri 5 formule?
    uno per riga o per colonna



    sì, esatto: 5 formule piu o meno simili danno i 5 numeri, in riga o colonna che sia
    stamattina mi sono intrecciato da solo pensando ingenuamente di avere 5 formule da concatenare che dessero un solo risultato, forse ero ubriaco
    tra le 5 formule la prima forse è un po' diversa perche deve inizializzare la procedura partendo dal MASSIMO DIMINUITO della posizione.
    Questo ho tentato di scrivere nelle istruzioncelle color rosatello del file


    LEO
    https://t.me/LordBrum
  • OFFLINE
    federico460
    Post: 3.363
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 01/04/2024 19:26
    comunque la tua tabella da H a J
    è la miglior cosa che puoi avere
    altrimenti la formula unica si può fare ma diventa stratosferica
  • OFFLINE
    L2018
    Post: 1.316
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 19:30
    Re:
    federico460, 01/04/2024 19:26:

    comunque la tua tabella da H a J
    è la miglior cosa che puoi avere
    altrimenti la formula unica si può fare ma diventa stratosferica



    Fede, lo so che la mia H-J va bene, ma abbiamo appena detto che non ha senso una ipotetica formula unica e stratosferica, proprio perchè vogliamo i 5 estratti, distinti.

    alla fine tutto poteva ridursi a usare formule diverse dai CERCA.X col pretesto di rendere il file retro-compatibile, ma non mi interessa, non devo distribuirlo, va benissimo così.
    Grazie dell'impegno

    LEO
    https://t.me/LordBrum
  • OFFLINE
    federico460
    Post: 3.364
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 01/04/2024 19:38
    ciao
    sto usando il vintage
    questa rende il 12
    =INDICE($G$1:$G$10000;CONFRONTA(MAX(SE(C$1:$C$10000<=$B$1-$H$1-INDICE($B$1:$B$10000;CONFRONTA(MAX(SE($B$1:$B$10000<=$B$1-$H$1;$B$1:$B$10000));$B$1:$B$10000;0));$B$1:$B$10000));$B$1:$B$10000;0))
  • OFFLINE
    L2018
    Post: 1.317
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 01/04/2024 19:42
    Re:
    federico460, 01/04/2024 19:38:

    ciao
    sto usando il vintage
    questa rende il 12
    =INDICE($G$1:$G$10000;CONFRONTA(MAX(SE(C$1:$C$10000<=$B$1-$H$1-INDICE($B$1:$B$10000;CONFRONTA(MAX(SE($B$1:$B$10000<=$B$1-$H$1;$B$1:$B$10000));$B$1:$B$10000;0));$B$1:$B$10000));$B$1:$B$10000;0))



    no no, ti prego, lascia perdere, mi tengo quello che ho, oltretutto la mia ora libera è appena scaduta, accidenti alle incombenze che mi impediscono tutto




    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.318
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 02/04/2024 10:27
    Ciao a tutti
    in questa discussione, creata l'altro ieri, mi sono accorto di aver creato un vero disordine, anche il file allegato è disordinato.
    Mi permettete di rifare la domanda ? Copincollo la domanda in modo corretto.

    in colonna A ho questi valori:
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1

    in cella B1 inserisco 7,5
    quale potrebbe essere una
    formula che mi restituisce il valore più alto, in quella colonna, che sia appena MINORE o UGUALE a 7,5 ?
    in questo caso 7
    se scrivo 4,8 la formula dovrebbe restituirmi 4
    se scrivo 9 la formula dovrebbe darmi 9
    Grazie, perdonate

    LEO
    https://t.me/LordBrum
  • OFFLINE
    scossa
    Post: 1.979
    Registrato il: 27/07/2010
    Utente Veteran
    00 02/04/2024 10:54
    =MAX(SE.ERRORE(A2:A11/(A2:A11<=B1);""))

    Bye!
    scossa

    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
  • OFFLINE
    L2018
    Post: 1.319
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 02/04/2024 10:56
    Re:
    scossa (Scossa.vr), 02/04/2024 10:54:

    =MAX(SE.ERRORE(A2:A11/(A2:A11<=B1);""))



    grazie Scossa, vado a verificare, con calma

    LEO
    https://t.me/LordBrum
  • OFFLINE
    scossa
    Post: 1.980
    Registrato il: 27/07/2010
    Utente Veteran
    00 02/04/2024 10:58
    Come la precedente, è matriciale (confermare con ctrl+maiusc+invio).

    Bye!
    scossa

    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
  • OFFLINE
    L2018
    Post: 1.320
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 02/04/2024 11:02
    Re:
    scossa (Scossa.vr), 02/04/2024 10:58:

    Come la precedente, è matriciale (confermare con ctrl+maiusc+invio).


    sì sì, lo avevo pensato, FUNZIONA
    Ora, nel pomeriggio, cerco di applicare al file in modo organico, in modo da poter pubblicare, se vi interessa
    Molte Grazie Scossa



    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.321
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 02/04/2024 14:09
    Bene
    grazie alla collaborazione di Marius44, Federico460 e Scossa sono riuscito a sistemare e pulire il file di cui si parlava.
    Il file si occupa di restituire una combinazione fornendogli un indice di posizione, e viceversa.
    ci sono 3 sezioni
    La prima restituisce la combinazione richiamata da un indice di posizione, usando le formule CERCA.X
    La seconda restituisce la combinazione richiamata da un indice di posizione, usando formule diverse.
    Nella terza sezione, inserendo i numeri verdi di una combinazione si ottiene al contrario l'indice di posizione di quella combinazione.
    Si parla di Lotto, ma con un po' di impazzimento il file puo' essere tradotto in MillionDay o Enalotto.
    Ciao
    [Modificato da L2018 02/04/2024 18:42]

    LEO
    https://t.me/LordBrum