Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Formula matriciale

10 views
Skip to first unread message

Pigi

unread,
Nov 23, 2003, 4:30:03 AM11/23/03
to
Ciao a tutti!
Ho sentito parlare di questo tipo di formula, ma non so né cosa significhi,
né a che cosa serva e quali tipi di operazioni si possano eseguire con essa.
Qualcuno mi può spiegare?
Grazie.
Piergiorgio


Tiziano Marmiroli

unread,
Nov 23, 2003, 4:46:41 AM11/23/03
to
Il Sun, 23 Nov 2003 10:30:03 +0100, Pigi ha scritto:

> Ciao a tutti!
> Ho sentito parlare di questo tipo di formula, ma non so né cosa significhi,
> né a che cosa serva e quali tipi di operazioni si possano eseguire con essa.
> Qualcuno mi può spiegare?

-----------------------------------------------------------------------
From: "fernando cinquegrani" <f.cinq...@prodomosua.it>
Subject: Re: forma matriciale-?????
Date: Sun, 9 Mar 2003 02:31:54 +0100
Message-ID: <uW6wFvd5...@TK2MSFTNGP09.phx.gbl>
Newsgroups: microsoft.public.it.office.excel

"Liko" <lykoANTI...@inwind.it> ha scritto nel messaggio
news:VUsaa.189018$YG2.5...@twister1.libero.it...
> Scusate,ogni tanto leggo di una funzione o formula (scusate se sbaglio) in
> forma matriciale,la quale si attiva non con il semplice tasto invio ma con
> la combinazione di tasti CTRL+MAIUSC+INVIO.
> Mi potete spiegare, a grandi linee, cosè? e quando sia necessario
> applicarla?

le formule matriciali permettono operazioni ordinate
su vettori o matrici fornendo come risultato dei vettori
o matrici.
supponiamo di avere in a1:c3
x 3 2
y 4 1
z 5 4
se in d1 scriviamo =b1*c1 e copiamo
avremo
x 3 2 6
y 4 1 4
z 5 4 20
la formula matriciale ci consente di
scrivere direttamente in d1:d3
=(b1:b3)*(c1:c3) [cntl+maiusc+invio]
ottenendo lo stesso risultato.
un risultato che possimo utilizzare anche se non
trascritto sul foglio di lavoro:
=indice((b1:b3)*(c1:c3);2) [cntl+maiusc+invio]
ci dirà 4 perchè al secondo posto del vettore
risultato c'è 4.
l'utilizzo più frequente delle formule matriciali è con
la funzione somma().
la funzione matr.somma.prodotto consente di
sommare i valori (riportati in d1:d3) con riferimento
alle colonne b e c:
=matr.somma.prodotto(b1:b3;c1:c3)...30
lo stesso risultato l'avremmo ottenuto con la
formula matriciale
=somma((b1:b3)*(c1:c3)) [cntl+maiusc+invio]...30.
ma la funzione matr.somma.prodotto opera su
matrici solo con questa operazione, mentre con
le formule matriciali le possibilità di operazioni
sono (quasi) infinite. così:
=somma((b1:b3)*(c1:c3)*(a1:a3="x") [cntl+maiusc+invio]
ci darà 6 perchè la somma del prodotto ordinato dei vettori
3/4/5 (b1:b3), 2/1/4 (c1:c3) e 1/0/0 ossia il vettore risultante
delle operazioni a1="x" (vero o 1)/ a2="x" (falso o 0)/ a3 ="x" (falso o
0)
è appunto 6.
=somma((a1:a3="y")*(b1:b3=4)*(c1:c3)) [contl+maiusc+invio]
ci darà 1 perchè la somma dei prodotti ordinati 0/1/0 (a1:a3="y"),
0/1/0 (b1:b3) e 2/1/4 (c1:c3) è appunto 1.
possiamo leggere quest'ultima formula come un
somma.se(), solo che questa si limita a una condizione
(es: somma.se(a1:a3;"y";c1:c3)) mentre con le formule
matriciali non vi sono (quasi) limiti. questo è il motivo
per cui le formule matriciali sono spesso considerate
nelle funzioni di aggregazione.
non credo di essere stato particolarmente chiaro
(ma è una risposta sul newsgroup, non altro):
guarda sul web alle voci array formulas, cse [cntl+shift+enter]
per saperne di più.
tra i frequentatori del newsgroup c'era un collezionista di
formule matriciali: mi aspetto da lui qualche pagina
ben fatta.
.f
http://www.prodomosua.it

-----------------------------------------------------------------------


Puoi anche vedere

http://www.microsoft.com/italy/office/previous/2000/esperti/array/
http://www.microsoft.com/italy/office/previous/2000/esperti/gestione_matrici/
http://www.microsoftexceltraining.com/Excel/Arrays.htm
http://www.cpearson.com/excel/array.htm
http://www.cpearson.com/excel/excelF.htm
http://www.winplanet.com/winplanet/tips/4045/1/
http://www.emailoffice.com/excel/arrays-bobumlas.html

--
Tiziano Marmiroli
Microsoft MVP - Office

Pigi

unread,
Nov 23, 2003, 4:54:11 AM11/23/03
to
Grazie mille.
Per la verità ad una prima lettura ci ho vapito poco, ma me lo riguardo con
calma approfittando anche dei link che mi hai mandato.
Ancora grazie e complimenti anche per il tuo sito!
Buona domenica!

Piergiorgio

Pigi

unread,
Nov 23, 2003, 5:00:06 AM11/23/03
to
Chiedo scusa a Tiziano, in quanto nel mio precedente messaggio gli ho
parlato come se fosse Fernando.
Evidentemente le formule matriciali mi hanno mandato leggermente in
confusione.
Grazie comunque a entrambi per l'aiuto che danno a tutti su questo
newsgroup.
Ancora buona domenica!

Piergiorgio


Enzo Samarelli

unread,
Nov 23, 2003, 5:47:31 AM11/23/03
to
Ciao, Piergiorgio
"Pigi" <Pi...@tin.it> ha scritto nel messaggio
news:%23zcynRa...@tk2msftngp13.phx.gbl...

> Ho sentito parlare di questo tipo di formula, ma non so né cosa
significhi,
> né a che cosa serva e quali tipi di operazioni si possano eseguire con
essa.
> Qualcuno mi può spiegare?


Il campo delle matrici è un pò particolare, delicato e vasto.
Tanto per farti avere un primo approccio (ma molto elementarmente per il
momento), diciamo che una matrice è una tabella (di numeri, per il momento).
Una matrice, quindi, può avere più righe e più colonne (aqnche una sola
colonna o riga).
Quando una formula interessa una matrice può essere necessario (non sempre)
che Excel prima esamini tutti gli elementi della matrice e poi faccia
particolari calcoli. Quando si concretizza questa circostanza, allora la
formula (che interessa in maniera particolare tutta la matrice) si suol dire
che è *formula matriciale*
Le formule matriciali (tutte) hanno la particolarità di richiedere una
precisa operazione per essere inserite (non molto difficile): Una volta
digitata la formula matriciale, mentre il cursore è ancorra nella barra
della formula, devi attivare contemporaneamente 3 tasti: Ctrl+Maiusc+Invio
(SOLTANTO così si inserisce una formula matriciale). Excel te lo evidenzia
con due simboli posti al primissomo ed ultimissimo posto nella barra della
formula: LE PARENTESI GRAFFE.
Per il momento basta. Rischieresti si fare una bella insalata.
Esempio? ti faccio costruire la classica tavola pitagorica.
in A1 e B1 inserisci i numeri 1 e 2
seleziona A1:B1 e trascina il quadratino in basso fino a J1 (troverai la
serie da 1 a 10 sviluppata)
in A2 inserisci il numero 2
seleziona A1:A2 e trascina il quadratino in basso fino a A10
seleziona B2:J10 (cioè, l'area vuota)
nella barra della formula introduci questa formula:
=MATR.PRODOTTO(A2:A10;B1:J1)
con il cursore ancora nella barra della formula, attiva contemporaneamente
Ctrl+Maiusc+Invio
e dimmi cosa succede.
Se riprovi senza il tasto Maiusc (solo Ctrl+Invio) Excel, se parlasse, ti
direbbe:
*Ohe!! mi fai impazzire con tutti questi riferimenti circolari!!*
Questa è una formula matriciale!
enzo


tequy

unread,
Nov 23, 2003, 6:08:57 AM11/23/03
to
Sei stato chiarissimo ! Mi permeto di risponderti in modo pubblico, perchè
fino all'altro giorno non sapevo cos'erano le formule matriciali, ma adesso
sto già cominciando ad usarle. Grazie a te e soprattutto a tutti quelli che
diffondono le loro esperienze in modo gratuito e costruttivo.

Saluti.

"Tiziano Marmiroli" <t.mar...@mvps.org> ha scritto nel messaggio
news:frv0sv87kr4d49aib...@4ax.com...

Pigi

unread,
Nov 25, 2003, 2:03:09 PM11/25/03
to
Grazie dell'aiuto.
E' un piacere trovare persone cortesi come voi.
Grazie ancora di tutto.

Piergiorgio


0 new messages