Condividi:        

[Excel] funzione se.errore

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] funzione se.errore

Postdi sax » 17/08/07 15:48

Salve a Tutti

ho un problemino, ho usato in excel 2007 la funzione
Codice: Seleziona tutto
SE.ERRORE(valore,se_errore)

ma mi sono accorto che convertendo il file in excel 2003 la stessa funzione non esisteva, qualcuno mi sa dire come la posso sostituire in modo tale che funzioni con tutt'e due le versioni?
sax
Sax
sax
Utente Junior
 
Post: 93
Iscritto il: 20/05/06 19:34

Sponsor
 

Postdi Anthony47 » 20/08/07 23:05

Ciao Sax e bentornato.
Sui vecchi excel hai a disposizione varie funzioni di check errore, es VAL.ERRORE, che userai in combinazione col SE; ad esempio:
Codice: Seleziona tutto
=SE(VAL.ERRORE(Funzione 1);Se errore; Se non errore)


Prova, dovrebbe aiutare.
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi sax » 21/08/07 18:37

Grazie Anthony47
con il tuo consiglio ho provato due soluzioni da utilizzare volevo un consiglio perchè sono un pò troppo articolate

Ti spiego il problema

nella cella D119 ho una dimensione espressa in millimetri che può essere scritta nei diversi modi

1000x300
1000X300
1000*300

ecco io devo trovare il perimetro in metri quindi 1+1+0,3+0,3 soluzione in questo caso 2,6

le due soluzioni adottate sono

con VAL. ERRORE

Codice: Seleziona tutto
=SE(VAL.ERRORE(TROVA("x";D122)>1);SE(VAL.ERRORE(TROVA("X";D122)>1);SE(VAL.ERRORE(TROVA("*";D122)>1);"";(DESTRA(D122;TROVA("*";D122)-2)/1000*2)+(SINISTRA(D122;TROVA("*";D122)-1)/1000*2));(DESTRA(D122;TROVA("X";D122)-2)/1000*2)+(SINISTRA(D122;TROVA("X";D122)-1)/1000*2));(DESTRA(D122;TROVA("x";D122)-2)/1000*2)+(SINISTRA(D122;TROVA("x";D122)-1)/1000*2))


Invece ho provato anche VAL.NUMERO
Codice: Seleziona tutto
=SE(VAL.NUMERO(TROVA("x";D119));(DESTRA(D119;TROVA("x";D119)-2)/1000*2)+(SINISTRA(D119;TROVA("x";D119)-1)/1000*2);SE(VAL.NUMERO(TROVA("X";D119));(DESTRA(D119;TROVA("X";D119)-2)/1000*2)+(SINISTRA(D119;TROVA("X";D119)-1)/1000*2);SE(VAL.NUMERO(TROVA("*";D119));(DESTRA(D119;TROVA("*";D119)-2)/1000*2)+(SINISTRA(D119;TROVA("*";D119)-1)/1000*2);"")))


Cosa mi consigli? c'è qualche funzione meno complessa

sax
Sax
sax
Utente Junior
 
Post: 93
Iscritto il: 20/05/06 19:34

Postdi Anthony47 » 22/08/07 00:33

Sax ha scritto:c'è qualche funzione meno complessa


No, ma la puoi inventare col seguente codice da inserire in un "Modulo" del vba:
Codice: Seleziona tutto
Function perim(jj)
perim = 0
I = 1
riloo:
MaxI = Len(jj)
If IsNumeric(Mid(jj, I, 1)) Then
I = I + 1
If I < MaxI Then GoTo riloo Else Exit Function
End If
Lato1 = Val(Left(jj, I - 1))
lato2 = Val(Mid(jj, I + 1, 99))
perim = (2 * Lato1 + 2 * lato2) / 1000
End Function


Poi userai la formula =PERIM(D119) ed e' fatta.
Il separatore puo' essere un qualsiasi carattere non text; quindi 111*33, oppure 111x33 oppure 111N33 ti daranno lo stesso risultato.

Puo' servire? Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi sax » 22/08/07 17:43

Fantastica funzione
Funziona perfettamente
Grazie
sax
Sax
sax
Utente Junior
 
Post: 93
Iscritto il: 20/05/06 19:34


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] funzione se.errore":


Chi c’è in linea

Visitano il forum: Nessuno e 27 ospiti