Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Minimo tra più celle

Ultimo Aggiornamento: 17/01/2017 16:39
Post: 1
Registrato il: 16/01/2017
Città: MILANO
Età: 34
Utente Junior
2010
OFFLINE
16/01/2017 18:53

Buona sera.
sono nuovo del furum, saluto e ringrazio tutti anticipatamente.

Io ho il seguente problema, ho 3 fogli, dove vi sono riportati su ogni foglio, gli stessi prodotti con i rispettivi prezzi (di tre aziende differenti). A me servirebbe che su un quarto foglio per ogni riga mi venga riportato il prezzo più basso dei tre fogli precedenti...

Per effettuare questa operazione ho utilizzato la formula =MIN().
Infatti, così facendo per ogni prodotto mi viene trascritto il prezzo più basso.
E più o meno me la sono cavata, ma adesso a me servirebbe che sulla cella di fianco mi esca da che foglio arriva il prezzo più piccolo (oppure che mi si copi una cella dei 3 fogli dove è scritto il nome dell'azienda)...

Spero di essere stato chiaro ed aver scritto bene...

Ringrazio ancora tutti e porgendovi una buona serata attendo pazientemente una cortese risposta..
Grazie
Luca
Post: 2.593
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
16/01/2017 18:58

Ciao Luca

Sarebbe utile se allegassi un file di esempio (con struttura uguale all'originale) spiegazioni e risultato desiderato inserito manualmente.

Alfredo
Post: 1
Registrato il: 16/01/2017
Città: MILANO
Età: 34
Utente Junior
2010
OFFLINE
17/01/2017 08:16

Ciao...immaginavo che la mia spiegazione non fosse chiarissima [SM=x423026] ... in allegato file con esempio... Grazie mille!! ciao!
Luca
Post: 2.599
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
17/01/2017 10:13

Ho visto il file ora ci penso un attimo e ci risentiamo.

Alfredo
Post: 2
Registrato il: 16/01/2017
Città: MILANO
Età: 34
Utente Junior
2010
OFFLINE
17/01/2017 10:53

Grazie mille...

Luca
Post: 2.601
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
17/01/2017 14:07

Ciao Luca

Devo doverosamente premettere che le soluzioni che ti propongo non sono farina del mio sacco ma il merito è da attribuire ad amici di altro forum.

Io le ho solo adattate al tuo caso.

1^ Soluzione con formule

Sul foglio "Finale" in C1:C3 metti i nomi dei tre fogli.

Nelle celle I8:I10 metti le seguenti formule matriciali (da confermare con CTRL+SHIFT+INVIO)

vb
=INDICE($C1:$C3;CONFRONTA(MIN(NUM(INDIRETTO("'"&C1:C3&"'!e5")));NUM(INDIRETTO("'"&C1:C3&"'!e5"));0))


vb
=INDICE($C1:$C3;CONFRONTA(MIN(NUM(INDIRETTO("'"&C1:C3&"'!e6")));NUM(INDIRETTO("'"&C1:C3&"'!e6"));0))


vb
=INDICE($C1:$C3;CONFRONTA(MIN(NUM(INDIRETTO("'"&C1:C3&"'!e7")));NUM(INDIRETTO("'"&C1:C3&"'!e7"));0))


2^ Soluzione con VBA

Inserisci questa function in un modulo standard

vb
Function NomeFoglioDaMinimi(ParamArray celle() As Variant) As Variant
    Dim ciclo
    
    NomeFoglioDaMinimi = celle(0).Parent.Name
    
    For ciclo = 0 To UBound(celle) - 1
        If celle(ciclo) > celle(ciclo + 1) Then
            NomeFoglioDaMinimi = celle(ciclo + 1).Parent.Name
        End If
    Next
End Function


e sul foglio di lavoro in I8:I10 scrivi

vb
=NomeFoglioDaMinimi(Ditta1!E5;Ditta2!E5;Ditta3!E5)


vb
=NomeFoglioDaMinimi(Ditta1!E6;Ditta2!E6;Ditta3!E6)


vb
=NomeFoglioDaMinimi(Ditta1!E7;Ditta2!E7;Ditta3!E8)


Ti allego il file

Alfredo
Post: 2.603
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
17/01/2017 14:18

Altra soluzione (sempre non mia) potrebbe essere questa avendo sempre i nomi dei fogli in C1:C3

vb
=CERCA(1;0/FREQUENZA(-99^99;Ditta1:Ditta3!E5);$C$1:$C$3)


Mi sembra la più semplice da adottare.

Ovviamente i nomi dei fogli puoi metterli dove vuoi cambiando ovviamente i riferimenti nella formula.

Alfredo
Post: 32
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
ONLINE
17/01/2017 16:39

Ciao
in base al tuo file di esempio costruisci una tabellina
da L1 a N1 del foglio"finali" metti i nomi dei fogli da O2 a O4 metti i nomi dei fogli
in L2 da trascinare fino a N2 e poi in basso fino a riga 4
=SE(VAL.NON.DISP(CERCA.VERT($E8;INDIRETTO(L$1&"!$E$5:$E$7");1;0));"";CERCA.VERT($E8;INDIRETTO(L$1&"!$E$5:$E$7");1;0))
in I8 datrascinare fino a I 10
=INDICE($L$2:$O$4;CONFRONTA(E8;$L2:$O2;0);4) da trascinare fino a I10
le colonne L-M-N-O le nascondi
[Modificato da DANILOFIORINI 17/01/2017 16:42]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:10. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com