Fórmules matricials i II

Ja havia tractat abans el tema de les fórmules matricials, però no n'estava content. A més, la sintaxi que vaig explicar no era la més entenedora visualment, per tant aquesta entrada és un aclariment i extensió de la primera.

Repassem els aspectes clau:

  • Les fórmules matricials són molt potents i permeten analitzar taules amb condicions complexes.
  • Les fórmules matricials consumeixen molts recursos de l'ordinador, s'han d'usar amb moderació i quan no hi hagi una fòrmula nadiua d'Excel que serveixi.
  • No es pot avaluar una columna sencera tipus "A:B", s'ha de definir un rang amb un límit definit de files com "A1:B3000".
  • Les fórmules matricials poden avaluar matrius verticals (fila a fila) o horitzontals (columna a columna).
  • Per a que una fórmula s'avalui de forma matricial s'ha d'introduïr prement "Ctrl"+"Majúscules"+"Enter".
Bé, entrem una mica en detall de com treballa Excel amb la fórmula. Tindrem una taula que pot ser tan gran com vulguem i li posarem unes condicions sobre algunes columnes o files. Cada cop que introduim una condició l'Excel es fa un mapa de la columna tipus (veritat, fals, fals, veritat, veritat, fals,...). Si volem posar concions addicionals l'Excel anirá superposant aquestes matrius de condicions:
Exemple: (veritat, fals, fals, veritat, fals) i (fals, veritat, fals, veritat, fals) = (fals, fals, fals, veritat, fals)
Cal remarcar que l'ordre de les condicions és important, ja que en una condició tipus "i" cada condició actúa com a filtre de les següents.
Exemple: (veritat, fals, fals, veritat, fals) o (fals, veritat, fals, veritat, fals) = (veritat, veritat, fals, veritat, fals)
Una condició tipus "o" fa que l'Excel faci una suma de les matrius.

Normalment posarem diverses condicions comparant-les amb una referència:
  • > més gran que
  • < menor que
  • = igual que
  • >= més gran o igual que
  • <= més petit o igual que
  • <> diferent que
El operadors que podem fer servir són:
  • * operador "i"
  • + operador "o"
  • { } com a matriu de condicions "o" (separador ; per files i \ per columnes)
La sintaxi és la següent (recordeu que els claudàtors els posa l'Excel):
{=FÓRMULA(SI(((condició 1a)+(condició 1b))*(condició 2);(rang valors)))}

{=FÓRMULA(SI((condició={1a ; 1b})*(condició 2);(rang valors)))}
Es llegeix: si es compleix la condició 1a o la condició 1b i també es compleix la condició 2 llavors aplica la fórmula sobre el rang de valors. Les dues fórmules són iguals si les dades estan en columnes i s'avalua fila a fila.
Exemple real de fórmula:
{=SUMA(SI((B5:F5="b")*(B6:F6={"blau"\"vermell"});B8:F8))}
L'avantatge de les fórmules matricials també resideix en que no només permeten fer sumes complexes sinó que admet altres funcions com promitg, totes les mitjanes, mínim, màxim, comptar, k èssim major o menor, percentil i encara me'n dec deixar alguna.

Existeix un cas particular per calcular sumes matricials on ens podem estalviar el condicional:
{=SUMA((condició={1a ; 1b})*(condició 2)*(rang valors))}

{=SUMA((condició={1a ; 1b})*(condició 2)*(rang valors<>0))}
A la primera fórmula sumem els valors del rang de valors i a la segona comptem els valors diferents a 0.

Fitxer amb exemples: Fórmules matricials II
---------------------------------------------

Publica un comentari a l'entrada