Risultati da 1 a 13 di 13

Discussione: Ricerca in un database del prezzo più basso



  1. #1
    L'avatar di Bicuccio
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Cisterna
    Messaggi
    2
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    5

    Ricerca in un database del prezzo più basso

    Buonasera,

    avrei gentilmente bisogno di un vostro cortese aiuto per un problema che non riesco a risolvere.

    Mi trovo giornalmente a dover acquistare dei prodotti: mi sarebbe comodo conoscere una funzione excel che mi permetta di estrarre da un database, il prezzo più basso (ed ovviamente il fornitore che lo vende!).

    Per essere più chiaro allego il file prova.xls.

    Nella scheda "ORDINARE" c'è una lista di tre codici fittizi che devo acquistare: Codice Interno, Descrizione e quantità da acquistare
    I campi gialli Prezzo e Fornitore sono quelli dove dovrò applicare le funzioni, che in automatico mi dovranno restituire il prezzo più basso ed il fornitore (l'ideale sarebbe averli entrambi, se non si potesse fare, la priorità è il Fornitore)

    Nella scheda "ORDINI ACQUISTO PRECEDENTI" c'è il database vero e proprio: contiene più righe di acquisto dei tre singoli codici (fatti nelle settimane e mesi precedenti) con il prezzo d'acquisto ed il fornitore che me lo ha venduto.

    Qualcuno sa aiutarmi per velocizzare il processo ? Ovviamente ogni settimana mi trovo ad analizzare file excel con centinaia di righe...

    Vi ringrazio per un vostro gentile aiuto!

    Saluti

    Fabrizio
    File Allegati File Allegati

  2. #2

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Ciao Bicuccio,
    potresti usare una formula matriciale (quindi da confermare con CTRL+MAIUSC+INVIO) da mettere nella cella D2 e copiare poi in basso e a destra:

    =INDICE('ORDINI ACQUISTO PRECEDENTI'!C$2:C$16;MIN(SE('ORDINI ACQUISTO PRECEDENTI'!$A$2:$A$16=ORDINARE!$A2;RIF.RIGA($A$2:$A$16);"")))

    [EDIT]
    Non prendere in considerazione questo post...
    La formula è sbagliata.
    Guarda due post più giù.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  3. I seguenti utenti hanno dato un "Like"


  4. #3
    L'avatar di Allocco
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Napoli
    Messaggi
    292
    Versione Office
    2010
    Likes ricevuti
    48
    Likes dati
    6
    Ciao secondo il mio parere, si dovrebbe sostituire, l'impostazione del Listino, cosi com'è resta difficile trovare i dati, se non con una formula Matriciale, altrimenti si ricorre al VBA.

    si dovrebbe inserire i codici univoci nella colonna "A" ed i Fornitori nella Riga 1 o il contrario, ma di norma i codici in colonna i fornitori sono sempre meno.

    Le formule non sono il mio forte.

    Ciao Allocco :242:

  5. I seguenti utenti hanno dato un "Like"


  6. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Ciao,
    scusate per la scemenza di prima... ero andato in palla.

    Nella cella D2:

    =MIN(SE.ERRORE((1/('ORDINI ACQUISTO PRECEDENTI'!$A$2:$A$16=ORDINARE!$A2))*('ORDINI ACQUISTO PRECEDENTI'!$C$2:$C$16);""))

    Nella cella E2:

    =INDICE('ORDINI ACQUISTO PRECEDENTI'!D$2:D$16;MIN(SE.ERRORE((1/('ORDINI ACQUISTO PRECEDENTI'!$A$2:$A$16=ORDINARE!$A2))*(1/('ORDINI ACQUISTO PRECEDENTI'!$C$2:$C$16=D2))*RIF.RIGA($A$2:$A$16)-1;"")))


    entrambe da copiare in basso....

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  7. I seguenti utenti hanno dato un "Like"


  8. #5
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciao Bicuccio, un'alternativa alle formule di cromagno che saluto, potrebbero essere le seguenti:

    In D2
    =MIN(SCARTO('ORDINI ACQUISTO PRECEDENTI'!$A$1;CONFRONTA(ORDINARE!B2;'ORDINI ACQUISTO PRECEDENTI'!B2:B16;0);2;5))

    In E2
    =INDICE('ORDINI ACQUISTO PRECEDENTI'!$D$2:$D$16;CONFRONTA(D2;SCARTO('ORDINI ACQUISTO PRECEDENTI'!$A$1;CONFRONTA(ORDINARE!B2;'ORDINI ACQUISTO PRECEDENTI'!B2:B16;0);2;5);0))

    Entrambe da copiare in basso....
    File Allegati File Allegati

  9. I seguenti utenti hanno dato un "Like"


  10. #6

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Ciao pkrome59,
    le tue formule vanno benissimo, ma entrambe hanno la limitazione di 5 elementi:

    =INDICE('ORDINI ACQUISTO PRECEDENTI'!$D$2:$D$16;CONFRONTA(D2;SCARTO('ORDINI ACQUISTO PRECEDENTI'!$A$1;CONFRONTA(ORDINARE!B2;'ORDINI ACQUISTO PRECEDENTI'!B2:B16;0);2;5);0))

    converrebbe rendere dinamico questo valore, altrimenti se si aggiunge una riga dello stesso articolo nel foglio "ORDINI ACQUISTO PRECEDENTI" non verrebbe considerato.

    Ciao

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  11. I seguenti utenti hanno dato un "Like"


  12. #7
    L'avatar di Programmo
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Monza
    Messaggi
    14
    Versione Office
    Excel 2013
    Likes ricevuti
    2
    Likes dati
    5
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao pkrome59,
    le tue formule vanno benissimo, ma entrambe hanno la limitazione di 5 elementi:

    =INDICE('ORDINI ACQUISTO PRECEDENTI'!$D$2:$D$16;CONFRONTA(D2;SCARTO('ORDINI ACQUISTO PRECEDENTI'!$A$1;CONFRONTA(ORDINARE!B2;'ORDINI ACQUISTO PRECEDENTI'!B2:B16;0);2;5);0))

    converrebbe rendere dinamico questo valore, altrimenti se si aggiunge una riga dello stesso articolo nel foglio "ORDINI ACQUISTO PRECEDENTI" non verrebbe considerato.

    Ciao
    Ciao Cromagno ho analizzato la tua soluzione utilizzando le formule matriciali e funziona egregiamente.
    TI pongo un quesito per non aprire un nuovo topic nel forum.
    In sostanza la tua soluzione funziona bene, ma se volessi essere un po' perfezionista, supponiamo abbia due fornitori che hanno lo stesso prezzo, vedrei solamente il primo.
    Supponiamo volessi usare menu a tendina con convalida dati, potrei utilizzare un range di dati condizionale all'interno della convalida dati, senza usare VBA.
    Mi spiego meglio sarebbe possibile visualizzare i dati nelle combo, posso utilizzare formule excel per mostrare all'interno dei menu a tendina un range dato da delle condizioni, senza utilizzare i nomi.

  13. #8
    L'avatar di Canapone
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Firenze
    Messaggi
    1076
    Versione Office
    2010 su Win
    Likes ricevuti
    598
    Likes dati
    204
    Ciao a tutti,

    se si può usare AGGREGA (quindi versioni Excel 2010 e successive)

    Il prezzo più basso in D2

    =AGGREGA(15;6;'ORDINI ACQUISTO PRECEDENTI'!$C$2:$C$1000/('ORDINI ACQUISTO PRECEDENTI'!$A$2:$A$1000=$A2);1)

    In E2

    =SE.ERRORE(INDICE('ORDINI ACQUISTO PRECEDENTI'!$D$2:$D$1000;AGGREGA(15;6;RIF.RIGA($2:$1000)-1/(('ORDINI ACQUISTO PRECEDENTI'!$A$2:$A$1000=$A2)*('ORDINI ACQUISTO PRECEDENTI'!$C$2:$C$1000=$D2));COLONNE($A$1:A$1)));"")

    copiando la formula in basso ed a destra si dovrebbe mettere in evidenza i fornitori a pari prezzo.

    Le formule non hanno bisogno del control+maiusc+invio.


    Spero dia d'aiuto

  14. I seguenti utenti hanno dato un "Like"


  15. #9

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Citazione Originariamente Scritto da Programmo Visualizza Messaggio
    Supponiamo volessi usare menu a tendina con convalida dati, potrei utilizzare un range di dati condizionale all'interno della convalida dati, senza usare VBA.
    Mi spiego meglio sarebbe possibile visualizzare i dati nelle combo, posso utilizzare formule excel per mostrare all'interno dei menu a tendina un range dato da delle condizioni, senza utilizzare i nomi.
    Ciao,
    se parli di "combo" si pensa al VBA... hanno la stessa forma dei menu del convalida dati ma vengono gestite in modo diverso.

    Comunque quello che chiedi non è tanto semplice, nel senso che per il convalida dati devi sempre avere un elenco a cui riferirti (che sia questo un range visibile o un nome definito).
    Considerando che dovresti aver bisogno di più e più di queste "convalide", dovresti creare altrettanti elenchi.

    Il metodo migliore sarebbe con una Userform e una combobox al suo interno che apparirebbero ogni volta che ci sono più fornitori per uno stesso prezzo (oppure richiamare la userform tramite pulsante).

    Detto questo, se non è necessario poter scegliere il fornitore, credo che il gioco non valga la candela.

    Ciao
    Tore

    P.S.
    Come sempre...Ottime le formule di Canapone (ciao Stefano) :246:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  16. I seguenti utenti hanno dato un "Like"


  17. #10
    L'avatar di Programmo
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Monza
    Messaggi
    14
    Versione Office
    Excel 2013
    Likes ricevuti
    2
    Likes dati
    5
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao,
    se parli di "combo" si pensa al VBA... hanno la stessa forma dei menu del convalida dati ma vengono gestite in modo diverso.

    Comunque quello che chiedi non è tanto semplice, nel senso che per il convalida dati devi sempre avere un elenco a cui riferirti (che sia questo un range visibile o un nome definito).
    Considerando che dovresti aver bisogno di più e più di queste "convalide", dovresti creare altrettanti elenchi.

    Il metodo migliore sarebbe con una Userform e una combobox al suo interno che apparirebbero ogni volta che ci sono più fornitori per uno stesso prezzo (oppure richiamare la userform tramite pulsante).

    Detto questo, se non è necessario poter scegliere il fornitore, credo che il gioco non valga la candela.

    Ciao
    Tore

    P.S.
    Come sempre...Ottime le formule di Canapone (ciao Stefano) :246:
    Grazie Cromagno per la risposta, in effetti avevo immaginato che non fosse possibile, è un peccato comunque, alla fine usando vba, bisogna sempre salvare nel formato compatibile, le persone non si fidano, invece usando le formule native Excel è sempre più agile... poi la convalida dati è davvero bella e pratica, le combo si creano in ogni cella con un semplice trascina, mentre gli user form te li devi gestire non così agilmente...
    E' un peccato non poter inserire un range dato da espressioni, e dover sempre usare nomi o riferimenti cella...
    Ci avevo provato ma non ho trovavo soluzione. Grazie per la conferma.

  18. #11
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciao cromagno, grazie per la considerazione datami perché mi stimola a migliorarmi, cerco di dare seguito al tuo suggerimento con le seguenti:

    In D2:
    =MIN(SCARTO('ORDINI ACQUISTO PRECEDENTI'!$A$1;CONFRONTA(ORDINARE!B2;'ORDINI ACQUISTO PRECEDENTI'!B2:B16;0);2;CONTA.SE('ORDINI ACQUISTO PRECEDENTI'!$B$2:$B$16;B2)))
    In E2:
    =INDICE('ORDINI ACQUISTO PRECEDENTI'!$D$2:$D$16;CONFRONTA(D2;SCARTO('ORDINI ACQUISTO PRECEDENTI'!$A$1;CONFRONTA(ORDINARE!B2;'ORDINI ACQUISTO PRECEDENTI'!B2:B16;0);2;CONTA.SE('ORDINI ACQUISTO PRECEDENTI'!$B$2:$B$16;B2));0))
    Un caloroso ciao.

  19. I seguenti 2 utenti hanno dato un "Like" a pkrome59 per questo post:


  20. #12
    L'avatar di Bicuccio
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Cisterna
    Messaggi
    2
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    5
    Grazie mille per l'aiuto che mi avete dato!!!
    Non mi aspettavo cosi' tanti feedback!!!
    Presto mi divertiro' a "giocare" con le vostre formule
    grazie, ciao
    fabrizio

  21. #13

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Citazione Originariamente Scritto da Bicuccio Visualizza Messaggio
    Grazie mille per l'aiuto che mi avete dato!!!
    Non mi aspettavo cosi' tanti feedback!!!
    Presto mi divertiro' a "giocare" con le vostre formule
    grazie, ciao
    fabrizio
    Ciao Bicuccio,
    Se hai risolto il problema, segna questa discussione come "RISOLTO".
    Vai sul menù "Strumenti Discussione" (all'inizio del thread) e scegli la voce ""Segna questo thread come risolto...".

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

Discussioni Simili

  1. Ricerca articolo ed estrazione prezzo tra due intervalli di date – CERCA.VERT
    Di fulvio63 nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 12/12/16, 15:45
  2. [Risolto] Ricerca in database
    Di vittorio dit nel forum Domande su Excel in generale
    Risposte: 25
    Ultimo Messaggio: 06/11/16, 17:51
  3. Ricerca elementi in un database
    Di ggratis nel forum Domande su Excel VBA e MACRO
    Risposte: 31
    Ultimo Messaggio: 02/11/16, 23:07
  4. [Risolto] Ricerca prezzo con utilizzo di più variabili
    Di Nazareno Golinelli nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 22/10/15, 10:40
  5. Ricerca all'interno di un database
    Di John nel forum Domande su Excel VBA e MACRO
    Risposte: 6
    Ultimo Messaggio: 07/10/15, 14:49

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •