Quindi se A1 = 4 B2= 0 B5=2 il risultato dovrebbe essere 2
e cmq se in due celle i valori sono 0 per esempio A1=0 B2=1 B5=0 il
risultato dovrebbe essere 1.
Qualcuno ha un'idea?
Ho guardato anche qui: http://support.microsoft.com/kb/60116/it
ma non fa al caso mio perch� i valori non sono contigui.
Un ciao a tutti e grazie.
SiNi
"SiNi" <a...@a.it> ha scritto nel messaggio
news:Oj0Cx1G...@TK2MSFTNGP02.phx.gbl...
Ciao,
una prima idea:
=MIN(SE(B5=0;"";B5);SE(B2=0;"";B2);SE(A1=0;"";A1))
ctrl+maiusc+invio
ivano
Grazie ancora!
Va in errore se nessuna delle celle � uguale a 0.
Per risolvere (nel caso l'evenienza ci sia):
=SE(MIN(celle)=0;PICCOLO(celle;CONTA.NUMERI(celle)+2-RANGO(0;celle));MIN(celle))
Non l'ho testata molto, prova a vedere come va.
[Parentesi per ivano: interessante il comportamento delle funzioni con un
range multiarea, mi sa che non ci avevo mai fatto caso]
Ciao, Nur
Grazie per l'aiuto.
Funziona, il problema � che ho una serie di dati (praticamente � un listino
con 3 fornitori ed io devo trovare il prezzo piu' conveniente anche quando
c'� uno zero come prezzo).
La tua formula funziona...� che dovrei assegnare circa 250 nomei alle
celle... ;-)
E' possibile trovare una soluzione?
Grazei ancora!
SiNi
"SiNi" <a...@a.it> ha scritto nel messaggio
news:uvF4vJPP...@TK2MSFTNGP06.phx.gbl...
...nemmeno io, prima d'ora...
:-)
ivano
"SiNi" <a...@a.it> ha scritto nel messaggio
news:OKSjeAOP...@TK2MSFTNGP04.phx.gbl...
Ciao,
l'unico dubbio che avrei � sulla natura degli apici, indicati come argomento
nelle funzioni SE.
Io ho inserito due doppi apici (quelli del tastino MAIUSC 2)...e non 4 apici
singoli (del tastino MAIUSC ?)
ivano
Ciao SiNI,
non ho capito.
Il nome da assegnare � *uno*. Le celle da selezionare, invece, sono le tue
250.
In ogni caso, queste celle come sono disposte?
Cosa c'� in mezzo tra una cella che ti interessa e un'altra?
Parli di un listino. Prova a indicarci la struttura esatta del tuo file.
La soluzione potrebbe essere pi� semplice di quello che pensiamo.
Basta una qualsiasi 'logica' che ti consenta di intercettare la posizione
delle celle, per semplificare il problema.
Ciao, Nur
Ciao Ivano,
vista la formula, la prima cosa che ho pensato � "perch� matriciale? ... non
dovrebbe funzionare senza che sia matriciale?".
Comunque, per studiarla l'ho incollata sul foglio excel ... ma basta che
anche solo una delle 3 celle contiene 0 mi d� l'errore #VALORE! ... e non
riesco a capirne il motivo.
A te non succede?
--
Ciao,
Ignazio
RIO: www.riolab.org
Forse ho capito il motivo dell'errore.
Se in 3 celle scrivo:
A1: 1
A2: 2
A3: a
e poi scrivo la formula:
=MIN(A1:A3)
ottengo come risultato 1 (il testo viene ignorato)
Se invece scrivo la formula:
=MIN(1;2;"a")
ottengo l'errore #VALORE!
> Forse ho capito il motivo dell'errore.
>
> Se in 3 celle scrivo:
> A1: 1
> A2: 2
> A3: a
> e poi scrivo la formula:
> =MIN(A1:A3)
> ottengo come risultato 1 (il testo viene ignorato)
>
> Se invece scrivo la formula:
> =MIN(1;2;"a")
> ottengo l'errore #VALORE!
>
Ciao Ignazio (ciao tutti),
ho fatto anch'io delle verifiche perch� non sopporto non capire le cose :-)
Sono arrivata alla conclusione che MIN *ignora* valori di testo, valori
logici e celle vuote, *solo se* i suoi argomenti sono matrici o riferimenti.
Prendiamo i valori del tuo esempio:
In A1: 1
In A2: 2
In A3: a
Non solo MIN(A1:A3) ignora la "a".
ma anche MIN(A1;A2;A3).
Invece MIN(A1;A2;"a") restiuirebbe #VALORE!
Ricordando che:
=MIN(SE(A1:A3<>0;A1:A3))
(matriciale)
restituiva il valore minimo del range 'escluso lo 0'.
all'inizio avevo pensato di modificare la formula di Ivano cos�:
=MIN(SE(B5<>0;B5);SE(B2<>0;B2);SE(A1<>0;A1))
Invece, no. Questa restituisce 0. (In presenza di celle a 0).
Del resto, era una speranza ingenua la mia, visto che anche:
=MIN(SE(A1:A3<>0;A1:A3;""))
restituirebbe il valore minimo eccetto lo 0 (cio� quello che vorremmo)
Quindi immagino che la differenza del comportamento di MIN sia dato dal
'tipo' dei suoi argomenti.
Scusami (scusatemi) se mi sono dilungata...
E' solo perch� mi piace parlare :-)
Ciao, Nur
vado a spiegare il dilemma...
Dunque ho una serie di articoli (in tutto + di 250) che prendo da 3
fornitori diversi.
Nella colonna A c'� il mio articolo, nella colonna B la descrizione.
Nelle colonne "S", "Y" e "AC" ci sono i prezzi netti dei 3 fornitori.
Colonna S fornitore Alpha,
Colonna Y fornitore Beta,
Colonna AC forn. Pippo.
Io volevo fare in modo che nella colonna K ci sia quella "benedetta" formula
che mi estrae il prezzo minore di quella riga, tralasciando il prezzo nel
caso sia ZERO.
Quindi questa formula deve essere ripetuta in tutta la colonna K per i 250
articoli e pi�.
Grazie ancora...
Se i prezzi per ogni codoce sono tutti sulla stessa riga, per esempio:
A2:A250 i codici
B2:B250 le descr.
S2:S250 il prezzo forn. 1
Y2:Y250 il prezzo forn. 2
AC2:AC250 il prezzo forn. 3
puoi usare l'intersezione dei range:
in K2:: =MIN(S2:AC2 S:S; S2:AC2 Y:Y;S2:AC2 AC:AC)
da incollare fino a K250
Fai sapere se hai risolto, grazie.
Bye!
Scossa
> in K2:: =MIN(S2:AC2 S:S; S2:AC2 Y:Y;S2:AC2 AC:AC)
Scusate ... non avevo considerato il discorso dello 0 ...ma credo che
come spunto su cui lavorare possa essere utile lo stesso.
Bye!
Scossa
=PICCOLO((S2:AC2 S:S; S2:AC2 Y:Y;S2:AC2 AC:AC);1+(SE(S2=0;1)+SE
(Y2=0;1)+SE(AC2=0;1)))
Bye!
Scossa
A dire il vero non ci sarei mai e sottolineo MAI...arrivato!!!
Ringrazio anche tutti coloro che si sono prodigati per l'aiuto!
SiNi
il tuo discorso funziona se tutte le colonne (S, Y, AC) c'� un valore, anche
il solo zero.
Ma nel caso in cui in una colonna non ci sia il valore oppure in tutte e 3
le colonne ci sia lo ZERO. la funzione restituisce #NUM!
E' possibile rimediare a ci�?
Grazie.
"Scossa" <scos...@gmail.com> ha scritto nel messaggio
news:589bef04-c34e-497f...@m11g2000vbl.googlegroups.com...
"Ignazio" <i_putign...@SeScriviAvirgilio.it> ha scritto nel messaggio
news:eGznWlPP...@TK2MSFTNGP05.phx.gbl...
Perch� matriciale? boh...
Avevo visto l'errore #VALORE! e ho premuto d'istinto ctrl+maiusc+invio e
l'errore era scomparso...
ovvero ho visto il valore corretto: non Zero non Errore. Oggi poi ho
riprovato e non riesco a riprodurre gli stessi effetti.
ivano
Ciao,
sto scrivendo da un cellulare, quindi non sono proprio certa, ma, se
sono sulla stessa riga, prova anche:
=SE(SOMMA(S2;Y2;AC2)=0;0;PICCOLO((S2;Y2;AC2);1+(S2=0)+(Y2=0)+(AC2=0)))
Sottolineo da 'provare', mi raccomando, non l'ho scritta su excel.
Ciao, Nur,
"SiNi" <a...@a.it> ha scritto nel messaggio
news:uIvw75RP...@TK2MSFTNGP05.phx.gbl...
> Scossa, scusa una domanda...
>
> il tuo discorso funziona se tutte le colonne (S, Y, AC) c'� un valore,
> anche il solo zero.
> Ma nel caso in cui in una colonna non ci sia il valore oppure in tutte e 3
> le colonne ci sia lo ZERO. la funzione restituisce #NUM!
>
> E' possibile rimediare a ci�?
>
> Grazie.
>
Ciao,
io proverei a riflettere anche su:
=MIN(SE(INDICE(S1:AC1;{0;6;9})=0;"";INDICE(S1:AC1;{0;6;9})))
ctrl+maiusc+invio
ivano
"Nur" <news...@gmail.com> ha scritto nel messaggio
news:1306728679275495768.05...@msnews.microsoft.com...
Ciao,
la funzione è corretta...rimane in imbarazzo con la presenza di celle
vuote...
ivano
ma ovviamente (S3:AC3 S:S) = S3 per cui è decisamente
migliore la soluzione di NUR (la classe non è acqua :-)) ).
Comunque una o l'altra devi sostituire le celle vuote con ZERO
altrimenti non funziona ne una nè l'altra
Bye!
Scossa
> Salve a tutti.
> Ho il seguente problema: ho 3 valori in 3 celle non contigue per esempio: A1
> B2 B5
> Io dovrei fare in modo di trovare il minimo tra questi valori presenti nelle
> celle sapendo però che ci potrenbbe essere come valore anche lo zero (che
> come logico dovrebbe essere ignorato)
>
> Quindi se A1 = 4 B2= 0 B5=2 il risultato dovrebbe essere 2
> e cmq se in due celle i valori sono 0 per esempio A1=0 B2=1 B5=0 il
> risultato dovrebbe essere 1.
>
> Qualcuno ha un'idea?
> Ho guardato anche qui: http://support.microsoft.com/kb/60116/it
> ma non fa al caso mio perchè i valori non sono contigui.
>
> Un ciao a tutti e grazie.
> SiNi
non ho letto tutto ... scusate quindi se ... comunque
con i dati in a1:a8
=MIN(SE(A1:A8<>0;A1:A8;MAX(A1:A8)))
da confermare come matriciale
saluti
r
--
Come e dove incollare il codice:
http://www.rondebruin.nl/code.htm
Il mio ultimo lavoro ...
http://excelvba.altervista.org/blog/index.php/Excel-VBA/UsedRange-eccezioni-e-alternative.html
sembra corretta.
Il problema � che dovrei fare ctrl+maiusc+invio per tutte le celle.
Poi se avessi anche altri fogli...la cosa sarebbe un po lunga, quindi
sarebbe pi� comoda una formula copia e incolla.
Grazie cmq per il tuo aiuto.
SiNi
"r" ha scritto:
> "SiNi" ha scritto:
>
> > Salve a tutti.
> > Ho il seguente problema: ho 3 valori in 3 celle non contigue per esempio: A1
> > B2 B5
> > Io dovrei fare in modo di trovare il minimo tra questi valori presenti nelle
> > celle sapendo però che ci potrenbbe essere come valore anche lo zero (che
> > come logico dovrebbe essere ignorato)
> >
> > Quindi se A1 = 4 B2= 0 B5=2 il risultato dovrebbe essere 2
> > e cmq se in due celle i valori sono 0 per esempio A1=0 B2=1 B5=0 il
> > risultato dovrebbe essere 1.
> >
> > Qualcuno ha un'idea?
> > Ho guardato anche qui: http://support.microsoft.com/kb/60116/it
> > ma non fa al caso mio perchè i valori non sono contigui.
> >
> > Un ciao a tutti e grazie.
> > SiNi
>
> non ho letto tutto ... scusate quindi se ... comunque
> con i dati in a1:a8
>
> =MIN(SE(A1:A8<>0;A1:A8;MAX(A1:A8)))
> da confermare come matriciale
> saluti
su intervalli *spezzati
=MIN(SE(E(A1;A3;A5);(A1;A3;A5);MAX(A1;A3;A5)))
"SiNi" <a...@a.it> ha scritto nel messaggio
news:#NJyv0SP...@TK2MSFTNGP06.phx.gbl...
Puoi benissimo utilizzare il copia incolla anche con le formule
matriciali...!
il ctrl+maiusc+invio lo devi fare solo per la prima o per eventuali
modifiche alla formula.
ivano
"r" <r...@discussions.microsoft.com> ha scritto nel messaggio
news:03A6DD85-3C99-4FDB...@microsoft.com...
Ciao,
non funziona con una o più celle a zero.
ivano
vero ... dalla fretta non l'avevo provata ... la prima mi sembra funzionante
ma probobabilmente con celle contigue esiste altra sol. più elegante ...
anche questa mi sembra comunque poco conveniente ...
per comodità usato solo 2 celle
volendo assegnare un nome a MAX(A1;A2) ... vabeh
=MIN(SE(A1<>0;A1;MAX(A1;A2));SE(A2<>0;A2;MAX(A1;A2)))
SiNi