DM66 XL3 Macro
DM66 XL3 Macro
E-mail: [email protected]
Supporto I
Vers 01/11/2024
Funzioni principali in
EXCEL/CALC
https://support.office.com/it-it/article/Funzioni-di-Excel-in-ordine-alfabetico-b3944572-255d-4efb-bb96-c6d90033e188?NS=EXCEL&Version=16&SysLcid=1040&UiLcid=1040&AppVer=ZXL160&HelpId=154468&ui=it-IT&rs=it-IT&ad=IT
Si rammenta che gli argomenti possono essere delle costanti (12, "Ciao" …) oppure
dei riferimenti a celle singole o gruppi:
A1,
B2:C9,
'Esiti Esame'!B5,
'[Sessione2014.xlsx]Esiti Esame'!$A$2.
oppure altre funzioni
ANNO(ADESSO()), SINISTRA(DESTRA(TESTO(OGGI();"AAAA");2);1),…
=RESTO(Dividendo;Divisore)
La funzione RESTO restituisce il resto della divisione intera tra il primo argomento
(DIVIDENDO) e il secondo (DIVISORE). Se il secondo argomento è zero la funzione
restituisce il codice di errore #DIV/0!.
=RESTO(17;10) ==> resto della divisione intera tra 17 e
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
10 quindi 7
=RESTO(10;0) ==> #DIV/0! (in Scalc #Valore!)
=RADQ(Numero)
La funzione RADQ restituisce la radice quadrata del NUMERO passato come argomento.
La radice quadrata di un numero negativo determina il seguente errore:
=RAQ(-25) ==> #NUM! (in Scalc Err:502 – argomento non
valido)
=MEDIA(argomento1[;argomento2;...])
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
La funzione MEDIA calcola la media dei soli valori numerici contenuti nelle celle indicate
negli argomenti. La media di un'area priva di valori numerici restituisce #DIV/0! (anche
in scalc!). La media viene calcolata solo sulle celle che contengono realmente numeri.
=MEDIA(A1;B2:B4) ==> media dei valori nell'area B2:B4 e A1
=MEDIA(A1:B20 A3:C6) ==> Media dei valori nell'intersezione
tra A1:B20 e A3:B6 (solo per Excel)
La funzione MEDIA in Excel 2016 ammette al massimo 255 argomenti (30 in scalc).
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
7
=GRANDE(Matrice;N)
=PICCOLO(Matrice;N)
La funzione GRANDE / PICCOLO estrae l'N-esimo valore più grande / piccolo della
sequenza di valori contenuti nell'area MATRICE. Se nell'area MATRICE non sono
definiti almeno N valori numerici la funzione restituisce l'errore #NUM! ( #VALORE!
in scalc).
=GRANDE(A1:A10;1) ==> valore + grande nell'area A1:A10
=GRANDE(A1:A10;10) ==> valore + piccolo nell'area A1:A10
=PICCOLO(A1:A10;1) ==> valore + piccolo nell'area A1:A10
=PICCOLO(A1:A10;10) ==> valore + grande nell'area A1:A10
=PICCOLO(A1:A10;10) ==> #NUM!
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=CONTA.SE(MatriceDati;Relazione)
La funzione CONTA.SE conta i dati presenti dell'area MATRICEDATI che soddisfano
la relazione indicata in RELAZIONE
=CONTA.SE(C1:C3;"=X") ==> Conta le celle di C1:C3 che
contengono il carattere "X" (il
confronto non è case sensitive)
=CONTA.SE(C1:C3;"X") ==> identico a sopra
=CONTA.SE(C1:C3;">10") ==> conta i valori maggiori di 10
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
8
=SOMMA.SE(MatriceDati;
Relazione;
[MatriceSomma])
La funzione SOMMA.SE somma i dati dell'area MATRICESOMMA che occupano la
medesima posizione di quelli della MATRICEDATI che soddisfano la relazione indicata
in RELAZIONE. Il confronto non è case sensitive.
Se l'argomento MATRICESOMMA non è presente allora SOMMA.SE restituisce la somma
dei valori di MATRICEDATI che soddisfano la condizione indicata in RELAZIONE.
=SOMMA.SE(A1:C3;"=X";E1:G3) ==> Somma i valori in E1:G3 che
si trovano nella stessa posizione delle celle di A1:C3
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=CONTA.NUMERI(Area1[,Area2,…,Area255])
La funzione CONTA.NUMERI conta i numeri presenti nelle aree Areai. Le celle
contenenti formule che restituiscono numeri e che non determinano situazioni di errore
vengono conteggiate. In scalc gli argomenti sono 30.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=CONTA.VUOTE(Area1[,Area2,…,Area255])
La funzione CONTA.VUOTE conta le celle prive di contenuti nelle aree Areai. Le celle
contenenti formule che restituiscono la stringa vuota ("") e che non determinano
situazioni di errore vengono comunque conteggiate.
=CONTA.VUOTE(A1:B3) ==> nr celle senza contenuto o con
="" (solo excel!)
La funzione DEV.ST.P in Excel 2016 ammette al massimo 254 argomenti. In scalc e nelle
versioni precedenti ad Excel 2010 la funzione ha un altro nome: DEV.ST.POP. In scalc il
numero di argomenti ammesso è 30.
La formula della deviazione standard è la seguente:
dove M è la media dei valori Xi e N la numerosità della sequenza X={Xi | i= 1 ... N}.
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
11
La deviazione standard restituisce una stima della variabilità dei valori Xi della sequenza
rispetto alla loro media aritmetica M. Maggiore è il valore della deviazione standard
maggiori sono le variazioni dei valori rispetto alla media. Quindi una sequenza
composta sempre dallo stesso valore (sequenza costante) avrà una deviazione standard
nulla poiché la distanza di ogni singolo valore dalla media è nulla.
Altre funzioni statistiche collegate a Dev.St.P disponibili in Excel (che ammettono al
massimo 254 argomenti) sono:
Dev.St.C che restituisce la deviazione standard corretta. Nelle versioni
precedenti alla 2010 aveva il nome Dev.St. Lo stesso nome è usato attualmente
da scalc.
̅
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=CASUALE()
La funzione CASUALE restituisce un numero reale casuale distribuito in maniera
uniforme nell'intervallo [0,1). Un nuovo numero casuale viene restituito quando il
foglio viene ricalcolato (tasto F9 sia in Excel/scalc, Ctrl+ in Mac). Per generare un
numero reale nell'intervallo [A,B) basta applicare la seguente formula:
=CASUALE()*(B-A)+A ==> Genero un valore reale in [A,B)
=ASS(Numero)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
La funzione ASS restituisce il valore assoluto del valore numerico passato come
parametro.
=ASS(-100) ==> 100
=ASS(100) ==> 100
=ASS("Ciao") ==> #VALORE!
=STRINGA.ESTRAI(Argomento; I; N)
La funzione STRINGA.ESTRAI restituisce, partendo dall'i-esimo carattere compreso,
N caratteri presi dalla stringa ARGOMENTO passata come 1° argomento.
=STRINGA.ESTRAI("Questa è una frase";3;8) ==> "esta è u"
I tre argomenti sono obbligatori. i deve avere un valore maggiore di 0 altrimenti nella
cella contenente la formula verrà Excel visualizza l'errore #VALORE! (ERR:502 in
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
OOCalc).
=STRINGA.ESTRAI("Questa è una frase";10;3) ==> "una"
=STRINGA.ESTRAI(F28;LUNGHEZZA(F28);1) ==> =DESTRA(F28)
=STRINGA.ESTRAI("Questa è una frase";3;1) ==> "e": il terzo
carattere
Attenzione: La posizione di un carattere in una stringa va calcolata tenendo presente
che la numerazione parte da 1 e non da 0 come solitamente avviene in altri linguaggi di
programmazione.
=CODICE(Argomento)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
La funzione CODICE restituisce il codice ascii del primo carattere della stringa passata
come ARGOMENTO.
=CODICE("A") ==> 65
=CODICE("AVE") ==> 65
=CODICE("a") ==> 97
=CODICE(1) ==> 49
=CODICE("1") ==> 49
=CODICE(A1) ==> 67 se nella cella A1 ho il valore "Ciao"
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
18
=CODICE.CARATT(Argomento)
La funzione CODICE.CARATT restituisce il carattere il cui codice ascii è passato come
ARGOMENTO.
=CODICE.CARATT(97) ==> "a"
=CODICE.CARATT(65) ==> "A"
L'intervallo dei valori ammessi come ARGOMENTO va da 1 a 255. Se digito un valore
esterno a questo intervallo Excel restituisce il codice di errore: #VALORE! (ERR:502 in
scalc).
=MAIUSC(Argomento)
=MINUSC(Argomento)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=DESTRA(Argomento; N)
La funzione DESTRA ha 2 argomenti. L'argomento N è facoltativo. La funzione
DESTRA restituisce gli ultimi N caratteri della stringa ARGOMENTO. Quando N è
omesso estrae l'ultimo carattere di Argomento.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=LUNGHEZZA(Argomento)
La funzione LUNGHEZZA restituisce il numero di caratteri contenuti nella stringa
passata come argomento (spazi compresi).
=LUNGHEZZA("Questa è una frase ") ==> 19
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
20 =TROVA(StringaCercata;
StringaDoveCerco [;I])
Restituisce la posizione della 1° occorrenza di STRINGACERCATA a partire dall'I-esimo
carattere della stringa STRINGADOVECERCO. Se non trova niente restituisce
#VALORE! (lo stesso codice di errore viene restituito anche da scalc). Quando I è
omesso la ricerca parte dal primo carattere.
=TROVA("fra";"Questa è una frase fraintesa") ==> 14
=TROVA("fra";"Questa è una frase fraintesa";15) ==> 20
La funzione TROVA è case sensitive (ovvero distingue tra maiuscolo e minuscolo)
=TROVA("FRA";"Questa è una frase fraintesa";15) ==> #VALORE!
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=ANNULLA.SPAZI(Argomento)
Sostituisce nell'ARGOMENTO (di tipo stringa) qualsiasi sequenza di spazi con un singolo
spazio. Elimina inoltre gli spazi iniziali e finali.
=ANNULLA.SPAZI(" Ciao sono io ") ==> "Ciao sono io"
=RIPETI(Argomento;N)
Ripete ARGOMENTO (di tipo stringa) per N volte
=RIPETI("CIAO";3) ==> "CIAOCIAOCIAO"
=RIPETI("CIAO";0) ==> ""
=ARROTONDA(Argomento;N)
La funzione ARROTONDA arrotonda ARGOMENTO a N cifre decimali. Restituisce quindi
un risultato numerico. N è obbligatorio.
=ARROTONDA(1,449;1) ==> 1,4
=ARROTONDA(1,45;1) ==> 1,5
=ARROTONDA(1,45;0) ==> 1
=ARROTONDA(-1,449;1) ==> -1,4
=ARROTONDA(-1,45;1) ==> -1,5
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=ARROTONDA(-1,45;0) ==> -1
=ARROTONDA(151,9351;-3) ==> 0
=ARROTONDA(151,9351;-2) ==> 200
=ARROTONDA(151,9351;-1) ==> 150
=ARROTONDA(151,9351;0) ==> 152
=ARROTONDA(151,9351;1) ==> 151,9
=ARROTONDA(151,9351;2) ==> 151,94
=ARROTONDA(151,9351;3) ==> 151,935
=ARROTONDA(151,9351;4) ==> 151,9351
=ARROTONDA(151,9351;5) ==> 1551,9351
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
24
=FISSO(Argomento;[N];
[NoSeparatoreMigliaia])
La funzione FISSO arrotonda ARGOMENTO a N cifre decimali e lo restituisce in forma
testuale, formattandolo (se richiesto!) con i separatori delle migliaia e la virgola decimale.
Se N è omesso l'arrotondamento è fatto a 2 cifre decimali. NOSEPARATOREMIGLIAIA
di default è FALSO pertanto il separatore delle migliaia viene visualizzato a meno che
non si imposti il parametro a VERO.
=FISSO(1551,935) ==> "1.551,94" (N di default vale 2)
=FISSO(1551,935;-4) ==> "0"
=FISSO(1551,935;-3) ==> "2.000"
=FISSO(1551,935;-2) ==> "1.600"
=FISSO(1551,935;-1) ==> "1.550"
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
"mmmmm" =TESTO("02/02/2005";"mmmmm") "f" Visualizza la prima lettera del nome del mese (g – d).
aa =TESTO("02/02/2005";"aa") "05" Visualizza l'anno come numero di due cifre (00 – 99).
aaaa =TESTO("02/02/2005";"aaaa") "2005" Visualizza l'anno come numero di quattro cifre (100 – 9999).
ww =TESTO("02/02/2009";"ww") "6" Visualizza il numero della settimana (1 – 53). [solo in scalc]
h =TESTO("01.02.03";"h") "1" Visualizza l'ora come numero senza zero iniziale (0 – 23).
hh =TESTO("01:02:03";"hh") "01" Visualizza l'ora come numero con zero iniziale (00 – 23).
m =TESTO("01:02:03";"m") "2" Visualizza i minuti come numero senza zero iniziale (0 – 59).
mm =TESTO("01:02:03";"mm") "02" Visualizza i minuti come numero con zero iniziale (00 – 59).
s =TESTO("01:02:03";"s") "3" Visualizza i secondi come numero senza zero iniziale (0 – 59).
ss =TESTO("01:02:03";"ss") "03" Visualizza i secondi come numero con zero iniziale (00 – 59)
[mm] =TESTO("01:02:45";"[mm]") "62" Visualizza la stringa contenente il tempo trascorso in minuti
[ss] =TESTO("01:02:03";"[ss]") "3723" Visualizza la stringa contenente il tempo trascorso in secondi
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
27 Possiamo combinare assieme le maschere appena presentate come negli esempi
seguenti (si osservi l'uso dello \ per indicare quando un carattere va preso così come
è e non deve essere interpretato come una codifica di formato!):
=TESTO("12/03/05";"""Ome"": gggg, g mmmm aaaa")
==> "Ome: sabato, 12 marzo 2005"
=TESTO("12/03/05 01.08.03";"O\m\e: gggg or\ario hh:mm")
==> "Ome: sabato orario 01:08"
=TESTO("12/03/05 01.08.03";"Ome: gggg orario hh:mm") ==>
"O32005: sabato or05rio 01:08"
Nella tabella sottostante sono elencate le specifiche relative ai formati di tipo
numerico:
Maschera di
Esempio Risultato Descrizione
formato
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=ORARIO.VALORE(Argomento)
La funzione ORARIO.VALORE restituisce il numero seriale (usato internamente
da EXCEL per memorizzare i dati temporali!) associato alla stringa ARGOMENTO
intesa come orario.
=ORARIO.VALORE("01/01/1900") ==> 0 (Err:502 in scalc)
=ORARIO.VALORE("01/01/1900 18.00.00") ==> 0,75
=ORARIO.VALORE("01/01/2020 12:00:00") ==> 0,5
=ORARIO.VALORE("Ciao") ==> #VALORE! (Err:502 in scalc)
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
29
=DATA.VALORE(Argomento)
La funzione DATA.VALORE restituisce il numero seriale (usato internamente da EXCEL)
abbinato alla data, scritta come stringa (quindi racchiusa tra doppio apice "!), contenuto in
ARGOMENTO. Se ARGOMENTO non è una data valida restituisce #VALORE!. In altre
parole restituisce il numero di giorni passati a partire dalla data di riferimento del
31/12/1899 (il 30/12/1899 per scalc).
=DATA.VALORE("01/01/1900") ==> 1 (2 in scalc)
=DATA.VALORE("01/01/1900 12:00:00") ==> 1 (2 in scalc)
=DATA.VALORE("01/01/1900 18.00.00") ==> 1 (2 in scalc)
=DATA.VALORE(TESTO(OGGI();"G/M/AA")) ==> Nr gg dal 30/12/1899
ad oggi
=DATA.VALORE("Ciao") ==> #VALORE! (non è una data)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
(Err:502 in scalc)
=DATA.VALORE("31/12/1899") ==> #VALORE! (1 in scalc)
=DATA.VALORE("29/12/1899") ==> #VALORE! (-1 in scalc)
=DATA.VALORE(21/10/2014) ==> #VALORE! (non è una stringa)
(Err:502 in scalc)
=DATA.VALORE("29/02/2014") ==> #VALORE! (non è bisestile)
(Err:502 in scalc)
=DATA.VALORE(OGGI()) ==> #VALORE! (OGGI() non restituisce una
stringa!)(Err:502 in scalc)
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
30
Formule cronologiche
OGGI, ADESSO, ORA, MINUTO, SECONDO, ANNO, MESE,
GIORNO.SETTIMANA, GIORNO, GIORNI
=OGGI()
Restituisce la data di oggi
=OGGI() ==> la data di oggi: esempio 25/12/2028
=OGGI()+1 ==> la data di domani: esempio 26/12/2028
=OGGI()-1 ==> la data di ieri: esempio 24/12/2028
=ADESSO()
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=ORA(Argomento)
Restituisce l'ora dell'istante passato come ARGOMENTO.
=ORA("13:11:10") ==> 13
=ORA(0,75) ==> 18
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
31 =MINUTO(Argomento)
Restituisce i minuti dell'istante passato come ARGOMENTO.
=MINUTO("13:11:10") ==> 11
=MINUTO(0,76875) ==> 27 - (corrisponde alle 18.27)
=SECONDO(Argomento)
Restituisce i secondi dell'istante passato come ARGOMENTO.
=SECONDO("13:11:10") ==> 10
=ANNO(Argomento)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Restituisce l'anno della data (espressa come stringa o come numero seriale) passata
come ARGOMENTO.
=ANNO("01/01/2019") ==> 2019
=ANNO(OGGI()) ==> anno corrente: esempio 2019
=ANNO(1) ==> 1900 - 1 corrisponde a 1/1/1900 in excel
(1899 in scalc poiché 1 corrisponde al
31/12/1899)
=ANNO("29/02/2015") ==> #VALORE! Non è bisestile
(anche in scalc)
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
32
=MESE(Argomento)
Restituisce il mese (in numero) della data passata come ARGOMENTO.
=MESE("01/11/2019") ==> 11
=MESE(OGGI()) ==> mese corrente: esempio 12
=MESE(1) ==> 1 - 1 corrisponde a 1/1/1900 in excel
(12 in scalc poiché 1 corrisponde al 31/12/1899)
=GIORNO.SETTIMANA(Argomento[;Tipo])
Restituisce il giorno della settimana (in numero!) della data passata come
ARGOMENTO. (1 ==> domenica, 2 ==> lunedì etc.).
=GIORNO.SETTIMANA("01/11/2009") ==> 1 (è domenica)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=GIORNI(Data1;Data2)
Restituisce il numero di giorni compresi tra due date passate come argomento.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=GIORNI(OGGI();OGGI()-1) ==> 1
=GIORNI(OGGI();OGGI()+1) ==> -1
=GIORNI(OGGI();DATA.VALORE("01/01/"&ANNO(OGGI())))
==> Nr. Giorni trascorsi dall'inizio dell'anno ad oggi
=SE(Condizione;ValSeVero;ValSeFalso)
Restituisce il 2° parametro VALSEVERO se la CONDIZIONE è vera altrimenti il 3°
parametro VALSEFALSO.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=SE( ; ; )
2° argomento A
=SE(A1<=0;SE(A1<0;"Negativo";"Zero");"Positivo")
==> se A1 è > zero restituisce "Positivo", se
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=SE.ERRORE(Argomento;ValoreSeErrore)
Restituisce VALORESEERRORE se ARGOMENTO genera un errore altrimenti ritorna
ARGOMENTO. Per ora non esiste in scalc. E' equivalente alla formula:
=SE(VAL.ERRORE(Argomento); ValoreSeErrore; Argomento)
=SE.ERRORE(A1/A2;"Divisione per zero") ==> Restituisce
l'avviso di errore se A2 contiene zero
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
36
=O(Condizione1[; Condizione2; ...])
Restituisce falso se tutte le condizionii sono false altrimenti vero.
=O(A1<0;A1>10;A2>20;A2<0) ==> Vero se (A1;A2) non è nel
rettangolo (0,0)-(10,20)
In Excel accetta 255 condizioni mentre in scalc ammette al massimo 30 argomenti.
=VAL.ERRORE(Argomento)
Restituisce VERO quando ARGOMENTO è una di queste costanti di errore: #N/D,
#VALORE!, #RIF!, #DIV/0!, #NUM!, #NOME? o #NULLO!. In scalc abbiamo le
costanti di errore: Err:501 ... Err:527.
=VAL.ERRORE(1/0) ==> Vero (1/0 genera #DIV/0!)
=VAL.ERRORE(SOOMMA(1;2)) ==> Vero (soomma non esiste)
=VAL.ERRORE(SOMMA(1;2)) ==> Falso (la formula è corretta)
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
37
=VAL.ERR(Argomento)
Funzione identica a VAL.ERRORE() tranne che #N/D dove restituisce falso.
=VAL.ERRORE(#N/D) ==> Falso
=VAL.ERR(#RIF!) ==> Vero
=VAL.NON.DISP(Argomento)
Restituisce vero se l'argomento corrisponde alla costante di errore #N/D.
=VAL.NON.DISP(#N/D) ==> Vero
=VAL.NUMERO(Argomento)
Restituisce VERO se il parametro passato ARGOMENTO è un numero altrimenti
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=VAL.VUOTO(Argomento)
Restituisce VERO se la cella indicata come argomento risulta vuota.
=VAL.VUOTO(A1) ==> Falso se A1 contiene qualcosa
(anche una formula come ="" o che va
in errore!) altrimenti Vero
Formule informative
AMBIENTE.INFO, CELLA , INDIRIZZO, INDIRETTO, INDICE
=AMBIENTE.INFO(InfoRichiesta) /
=INFO("Request") in scalc
Restituisce delle informazioni relative all'ambiente su cui si sta operando.
=AMBIENTE.INFO("directory") ==> cartella contenente il
file di excel su cui stiamo lavorando (in scalc non
esiste un comando analogo)
=AMBIENTE.INFO("sistema") ==> restituisce "pcdos" se il
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
4 Relativo – Esempio A1
Il parametro STILE è anch'esso facoltativo. Specifica lo stile di riferimento: A1 o
R1C1. Nello stile A1 le colonne vengono etichettate con caratteri alfabetici e le righe con
caratteri numerici. Nello stile di riferimento R1C1 le colonne e le righe vengono
entrambe etichettate con caratteri numerici. Se l'argomento Stile è VERO (1) o viene
omesso la funzione INDIRIZZO restituirà un riferimento di tipo A1. Se invece è FALSO
(0) restituirà un riferimento di tipo R1C1.
=INDIRETTO(Riferimento)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Restituisce il valore della cella indicata in RIFERIMENTO. Occorre però fare delle
precisazioni in merito all'argomento:
=INDIRETTO("A1") ==> contenuto di A1 (equivale a =A1)
=INDIRETTO(A1) ==> contenuto della cella indicata dentro
la cella A1 - ad esempio se A1 contiene B10 allora verrà
restituito il valore contenuto in B10
=INDIRETTO("A0") ==> #RIF! (in scalc Err:502)
=INDIRETTO(INDIRIZZO(1;1)) ==> equivalente a =A1
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
43 =INDICE(Matrice; R; C)
Restituisce il valore della cella che si trova nell'R-esima riga e C-esima colonna dell'area
indicata in MATRICE. Se R o C escono dalle dimensioni della MATRICE la funzione
restituisce l'errore #RIF!. Gli indici R e C partono da 1
=INDICE(A1:B7;2;1) ==> Valore nella cella A2
=INDICE(A1:B7;10;1) ==> #RIF! In scalc Err:502
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=CERCA.VERT(ValoreCercato;Matrice;
ColonnaRestituita;
[RicercaNonEsatta])
Distinguiamo le 2 casistiche con RICERCANONESATTA uguale a FALSO e a VERO.
RICERCANONESATTA uguale a FALSO: (elenco ordinato e non)
La funzione CERCA.VERT ricerca sulla 1° colonna dell'area MATRICE la
corrispondenza esatta con VALORECERCATO e se la trova restituisce il contenuto della
cella situata sulla stessa riga e sulla colonna indicata in COLONNARESTITUITA.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
45
Con RICERCANONESATTA pari a FALSO la funzione CERCA.VERT confronta
tutti gli elementi di MATRICE con il VALORECERCATO prima di stabilire se il dato
non è presente in elenco. Pertanto non è necessario ordinare MATRICE rispetto alla
1° colonna visto che la ricerca continua fino a quando non trovo un elemento
esattamente uguale a VALORECERCATO oppure quando arrivo in fondo all'elenco.
Quando VALORECERCATO non è presente in MATRICE CERCA.VERT restituisce
(sia con elenco ordinato oppure no) l'errore #N/D.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
47
Se VALORECERCATO risulta inferiore al primo elemento sulla 1° colonna dell'elenco
ordinato la funzione CERCA.VERT restituisce la costante di errore #N/D.
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
48
Non ha senso utilizzare la funzione CERCA.VERT con RICERCANONESATTA pari a
VERO quando l'elenco in MATRICE risulta non ordinato (rispetto alla 1° colonna!)
poiché i risultati sono talvolta errati o imprevedibili
Quindi se l'elenco non è ordinato, per evitare risultati imprevisti, occorre impostare
TIPOCORRISPONDENZA a FALSO (corrispondenza esatta!).
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
49
TIPOCORRISPONDENZA impostato a VERO risulta utile quando voglio stabilire
l'appartenenza di VALORECERCATO ad un range preso da una sequenza di intervalli
consecutivi i cui estremi sinistri corrispondono ai valori contenuti nella prima colonna
(ordinata!) di MATRICE. Il caso classico è quello degli interessi a scalare. Ad ogni
fascia di capitale corrisponde una determinata percentuale di interessi. Vediamo un
esempio pratico:
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=CERCA.VERT(G4;B4:D12;3;VERO)
Con CERCA.VERT() determino il tasso corrispondente al capitale versato in modo
semplice evitando la complessità dell'equivalente soluzione con la funzione SE():
=SE(C<1000;4%;SE(C<2000;5%;SE(...;SE(C<8000;11%;12%) ...))
E' evidente che la presenza di molti tassi percentuale distinti costringe alla scrittura di
lunghe sequenze di SE(), una dentro l'altra.
1 CONFRONTA troverà il valore più grande che è minore o uguale al ValoreCercato. Per funzionare è necessario che
i valori nell'argomento Matrice siano disposti in ordine crescente.
(default)
CONFRONTA troverà il primo valore che corrisponde esattamente al ValoreCercato. I valori nell'argomento Matrice
0 possono essere disposti in qualsiasi ordine.
CONFRONTA troverà il valore più piccolo che è maggiore o uguale al valorecercato. Per funzionare è necessario
-1 che i valori dell'argomento matrice siano disposti in ordine decrescente.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
(A) (B)
=CERCA.ORIZZ(ValoreCercato;Matrice;
RigaRestituita;
[RicercaNonEsatta])
La funzione CERCA.ORIZZ è analoga a CERCA.VERT solo che la ricerca viene
fatta sulla prima riga di MATRICE e non sulla prima colonna.
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
56
Come in CERCA.VERT distinguiamo le 2 casistiche con RICERCANONESATTA uguale
a FALSO e a VERO.
Con RICERCANONESATTA uguale a FALSO non è necessario ordinare l'elenco. In
questo caso la funzione CERCA.ORIZZ ricerca sulla 1° riga dell'area MATRICE la
corrispondenza esatta con VALORECERCATO e se la trova restituisce il contenuto
della cella situata sulla stessa colonna e sulla riga indicata in RIGARESTITUITA.
Con RICERCANONESATTA uguale a VERO l'elenco deve essere ordinato onde
evitare risultati imprevisti. Il valore di default, applicato quando ometto
l'argomento, è VERO. La funzione CERCA.ORIZZ in questo caso restituisce il
valore posto sulla riga indicata in RIGARESTITUITA corrispondente all'ultima
colonna dove il valore sulla 1° riga è risultato minore o uguale a VALORECERCATO.
Come per CERCA.VERT quando l'elenco non è ordinato, per evitare risultati imprevisti,
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
58
Possiamo ora applicare la ricerca per intervalli tipica del CERCA.ORIZZ quando il 4°
argomento è posto a VERO (oppure è omesso). Con questo parametro il CERCA.ORIZZ
restituisce il valore posto sulla seconda riga (nome stagione) corrispondente all'ultima
colonna dove il valore sulla 1° riga è risultato minore o uguale alla codifica testuale
appena illustrata applicata alla data in C5 (ovvero restituisce la colonna con la codifica
della data di inizio della stagione corrispondente alla data generata).
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Possiamo ora applicare la ricerca per intervalli tipica del CERCA.ORIZZ quando il 4°
argomento è posto a VERO (oppure è omesso). Con questo parametro il
CERCA.ORIZZ restituisce il valore posto sulla seconda riga (nome stagione)
corrispondente all'ultima colonna dove il valore sulla 1° riga è risultato minore o
uguale alla codifica numerica appena illustrata applicata alla data in C5 (ovvero
restituisce la colonna con la codifica della data di inizio della stagione corrispondente
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Nella versione Excel 2010 il nome della funzione era RANGO. La funzione RANGO è
comunque ancora disponibile nella versione di Excel 2016 per ragione di compatibilità.
Anche in scalc la funzione si chiama RANGO. Nel caso il valore NUM non esista in AREA
scalc restituisce l'errore #VALORE!.
Confermo premendo la
combinazione di tasti
ctrl+shift+invio
Ctrl+shift+invio
Le formule matriciali sono un modo molto efficace per semplificare la scrittura di una
formula molto complessa. Ad esempio la formula matriciale seguente
{=SOMMA(C1:C8*D1:D8)}
equivale a questa:
=SOMMA(C1*D1;C2*D2;C3*D3;C4*D4;C5*D5;C6*D6;C7*D7;C8*D8)
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
Se scrivo la formula =SOMMA(C2:C10*D2:D10) e premo Invio per confermare ottengo
64 l'errore #VALORE! poiché la scrittura C2:C10*D2:D10 è una sintassi applicabile solo
alla forma matriciale.
Non è possibile sovrascrivere un singolo elemento
di una formula matriciale che si estende su un'area
composta da più celle.
corrispondente in tutte le
matrici coinvolte nel calcolo.
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
Le costanti matriciali sono una componente delle formule in forma di matrice. Vengono
65
create racchiudendo l'elenco dei valori tra parentesi graffe {} (digitate manualmente!). Gli
elementi che nella matrice sono posti sulla stessa riga vengono separati con lo \ mentre
ogni riga viene separata con il singolo punto. In scalc le costanti matriciali vanno scritte in
questo modo: ={1;2;3|4;5;6|7;8;9} quindi ; è il separatore di colonna mentre | è il
separatore di riga. In Excel per Apple la costante matriciale va scritta in questo modo:
={1\2\3;4\5\6;7\8\9}
={1\2\3.4\5\6.7\8\9}
E' possibile assegnare un nome alle costanti matriciali mediante il bottone "Gestione nomi"
nel ribbon "Formule".
Basta digitare (si osservi il . come separatore!)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
={"Gennaio"."Febbraio"."Marzo"}
e confermare con "OK":
Ctrl+shift+invio
, , ,
Esempio:
=MATR.PRODOTTO({1\2.3\4};{1\2.3\4}) ==> prodotto matrice 2x2
(in scalc si scrive: =MATR.PRODOTTO({1;2|3;4};{1;2|3;4}) )
Attenzione: le matrici devono avere tutte la stessa dimensione NxM. In caso contrario
MATR.SOMMA.PRODOTTO restituisce l'errore #VALORE!. Elementi non numerici delle
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
, ,
=MATR.INVERSA(Matrice)
Restituisce l'inversa della MATRICE con un grado
di precisione fino alla 18-esima cifra decimale.
L'argomento deve essere una matrice quadrata.
Attenzione: se la MATRICE contiene elementi non numerici (celle vuote o testo) oppure
non è quadrata la funzione MATR.INVERSA restituisce l'errore #VALORE!.
parallelepipedo è il valore
a1,2*(a2,1*a3,3-a2,3*a3,1)- assoluto del determinante
della matrice 3×3 formata
a1,3*(a2,1*a3,2-a2,2*a3,1)- dai 3 vettori r1 ,r2 e r3.
Determinante
matrice 4x4
=BINARIO.DECIMALE(BINARIOCOMP2)
Converte la notazione binaria in complemento a 2 nel numero corrispondente in base. Il
parametro BINARIOCOMP2 può avere al massimo 10 bit (dove il decimo è quello del
segno). Se digito più di 10 bit la funzione restituisce l'errore #NUM!
=BINARIO.DECIMALE(111) ==> 7
=BINARIO.DECIMALE(1000000001) ==> -511
=BINARIO.DECIMALE(1111111110) ==> -2
=BINARIO.DECIMALE(10000000001) ==> #NUM! (Err:502 in scalc)
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=BINARIO.HEX(BINARIOCOMP2)
Converte la notazione binaria in complemento a 2 nel numero corrispondente in base
16. Il parametro BINARIOCOMP2 può avere al massimo 10 bit (dove il decimo è quello
del segno). Se digito più di 10 bit la funzione restituisce l'errore #NUM!
=BINARIO.HEX(11111) ==> 1F (0001 1111)
=BINARIO.HEX(1000000000) ==> FFFFFFFE00 (1110 0000 0000)
=BINARIO.HEX(1111111110) ==> FFFFFFFFFE (1111 1111 1110)
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
71 =HEX.DECIMALE(STRNUMEROHEX)
Converte un intero in notazione esadecimale, composto al massimo da 10 digit, nel
corrispondente numero in base 10. I numeri negativi vengono rappresentati in
complemento a 16. L'intervallo di rappresentazione è [-239,239-1] ovvero da
8000000000 a 7FFFFFFFFF. Se il parametro STRNUMEROHEX è composto da più di
10 digit la funzione restituisce l'errore #NUM!.
=HEX.DECIMALE("ADA") ==> 2778 (10∙162+13∙161+10∙160)
=HEX.DECIMALE("FFFFFFFFFE") ==> -2
=HEX.DECIMALE("8000000000") ==> -239 (-8∙169=-23∙(24)9)
=HEX.DECIMALE("7FFFFFFFFF") ==> 239-1 (8000000000-1 in hex)
=HEX.BINARIO(STRNUMEROHEX[;CIFRE])
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=DECIMALE.HEX(NUMERO[;CIFRE])
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
Converte un intero, scritto in notazione decimale, compreso tra -239 e 239-1 nel
corrispondente numero in notazione esadecimale composto al più da 10 digit (per cui sono
richiesti 39 bit + 1 per il segno). I numeri negativi vengono rappresentati in complemento a
16. CIFRE è opzionale (deve essere al massimo 10) e consente di aggiungere degli zeri
iniziali quando il risultato ha poche cifre. Se il parametro NUMERO è esterno all'intervallo [-
239,239-1] o il numero di cifre è insufficiente la funzione restituisce l'errore #NUM!
=DECIMALE.HEX(17;1) ==> #NUM! (richiede 2 digit!)
=DECIMALE.HEX(POTENZA(2;39)) ==> #NUM! (out of range)
=DECIMALE.HEX(POTENZA(2;39)-1)) ==> 7FFFFFFFFF
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
73 =BIT.SPOSTA.DX(NUMERO10[;NBITSPOSTATI])
=BIT.SPOSTA.SX(NUMERO10[;NBITSPOSTATI])
Restituisce un valore in base 10 ottenuto scorrendo la rappresentazione binaria di
NUMERO10 (espresso in base 10) di NBITSPOSTATI bit a destra o a sinistra a seconda
della funzione utilizzata.
NUMERO10 deve essere un valore appartenente all'intervallo [0,248-1] altrimenti
restituisce l'errore #NUM!. Le due formule sottostanti sono equivalenti
=BIT.SPOSTA.SX(X;N) e =BIT.SPOSTA.DX(X;-N)
Valori NUMERO10 non numerici determinano l'errore #VALORE!. Se il modulo di
NBITSPOSTATI è maggiore di 53 ottengo l'errore #NUM! . In scalc queste funzioni
non esistono in modo nativo.
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=RATA(Tasso;NrPeriodi;Capitale[;Saldo]
[;Tipo])
Restituisce l'importo della rata costante associata ad una rendita di TIPO (0 od omesso
se posticipato, 1 se anticipato), con tasso periodale TASSO (T Nr. rate
annuali), numero totale di rate NRPERIODI (Nr. anni Nr. rate annuali), valore attuale
CAPITALE e valore futuro (importo che si desidera raggiungere dopo aver effettuato
l'ultimo pagamento) SALDO. Se il saldo viene omesso il suo valore predefinito è 0. Le
formule sottostanti evidenziano il calcolo per determinare la rata e l'equivalente formula
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
in Excel.
=RATA(iperiodo;NrTotalePeriodi;Capitale;0;0)
=RATA(iperiodo;NrTotalePeriodi;Capitale;0;1)
=INTERESSI(Tasso;Periodo;NrPeriodi;
Capitale[;Saldo][;Tipo])
Restituisce l'importo degli interessi relativi di un determinato PERIODO di una rendita a
rata costante di TIPO (0 od omesso se posticipato, 1 se anticipato), con tasso periodale
TASSO (T Nr. rate annuali), numero totale di rate NRPERIODI (Nr.
anni Nr. rate annuali), valore attuale CAPITALE e valore futuro (importo che si
desidera raggiungere dopo aver effettuato l'ultimo pagamento) SALDO.
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
76
Le formule sottostanti evidenziano il calcolo per determinare la rata e l'equivalente
formula in Excel.
=INTERESSI(iperiodo;NrPeriodi;Capitale;0;Tipo)
Vediamo un esempio:
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
APPROFONDIMENTI
due aree che non si intersecano. L'operatore di intersezione è uno spazio posto tra i
2 riferimenti. Esempio: =somma(A1:B3 C1:C3). (In scalc non esiste l'operatore
intersezione!).
#RIF! – Viene prodotto quando ho un riferimento errato. Esempio:
=INDIRETTO("A0") . In scalc restituisce Err:502 ("argomento non valido")
#NUM! – Questo errore indica che una formula contiene valori numerici non validi
o che determinano un overflow. Ad esempio: =0^0 (in scalc non genera alcun
errore ma restituisce il valore 1), =RADQ(-1) (in scalc restituisce Err:502) o
=123456789012345^400 (in scalc restituisce #NUM! - Err:503) .
=ERRORE.TIPO(COSTANTEERRORE)
Restituisce il numero corrispondente al codice di errore passato come argomento oppure
restituisce #N/D se non vi è alcun errore. È possibile utilizzare la funzione ERRORE.TIPO
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
(in combinazione con SE.ERRORE() e SCEGLI()) per restituire una stringa di testo più
esplicativa rispetto al codice di errore. In scalc i codici restituiti sono completamente
differenti.
=SE.ERRORE(SCEGLI(ERRORE.TIPO(B2);
"1 ->NULLO";"2 ->DIVISIONE PER 0";
"3 ->VALORE INCOMPATIBILE";"4 ->RIFERIMENTO ERRATO";
"5 ->NOME INESISTENTE";"6 ->VALORE NUMERICO NON AMMESSO";
"7 ->NON TROVATO";"8 ->ESTRAZIONE DATI IN CORSO!");
"NESSUN ERRORE!")
Supporto I - DM66 – Microsoft EXCEL: Formulario Funzioni Istruttore: Marco Sechi
80
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
AGGIORNAMENTI
=CONTA.PIÙ.SE(A1:A5;"X";C1:C5;"Y")
==> Conta le righe da 1 a 5 che hanno
nella colonna A il valore "X" e contem-
poraneamente "Y" nella colonna C.
=CONTA.PIU.SE(A1:B4;"<100";D2:E5;">20";G3:H6;"X")
==> Conta le posizioni corrispondenti
delle 3 aree i cui valori risultano
contemporaneamente <100 nella 1° area,
>20 nella 2° e pari a "X" nella 3°.
Quindi se tutte le celle che occupano la j-esima riga delle aree AreaDaValutarei
soddisfano il criterio corrispondente Condizionei allora il valore nella cella che si trova
sulla j-esima riga dell'AreaSomma verrà considerato nella somma finale restituita da
Corso di Microsoft EXCEL – Formulario Funzioni di EXCEL
=SOMMA.PIÙ.SE(B1:B7;D1:D7;"X";F1:F7;"Y")
==> Somma le righe da 1 a 7 dell'area
B1:B7 che hanno nell'area D1:D7 il
valore "X" e contemporaneamente "Y"
nell'area F1:F7.