Difference between revisions of "User:V1c3nt"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Formules matriceilles)
Line 63: Line 63:
 
:: La formule <tt>'''=LEN(B5:D5)'''</tt> est entrée 'normalement' dans la cellule B1, qui est dans la colonne B. La cellule B5 est à l'intersection de  <tt>'''B5:D5'''</tt> et de la colonne B, donc la formule interprétée est <tt>'''=LEN(B5)'''</tt>.
 
:: La formule <tt>'''=LEN(B5:D5)'''</tt> est entrée 'normalement' dans la cellule B1, qui est dans la colonne B. La cellule B5 est à l'intersection de  <tt>'''B5:D5'''</tt> et de la colonne B, donc la formule interprétée est <tt>'''=LEN(B5)'''</tt>.
  
==Formules matriceilles==
+
==Fonctions matricielles==
 +
 
 +
La puissance réelle de l'utilisation des matrice apapraît lorsqu'on entre une formule d'une manière spéciale, comme une 'formule matricielle'. On fait cela en appuyant simultanément sur '''Ctrl-Maj-Entrée''' au lieu de de la touche '''Entrée''' (ou en cochant le case ''Matrice'' si on utilise l''assitant Fonction').
 +
 
 +
The real power of arrays comes when you enter a formula in a special way, as an ‘array formula’. You do this by pressing '''Cntrl-Shift-Enter''' instead of the '''Enter''' button (or by ticking the ''Array'' checkbox if you are using the Formula Wizard).
 +
 
 +
If in cell B1 you enter <tt>'''={3; 4}'''</tt> ‘normally’ by pressing '''Enter''', the first value <tt>'''3'''</tt> is displayed in the cell.
 +
 
 +
If in cell B2 you type <tt>'''={3; 4}'''</tt> but press '''Cntrl-Shift-Enter''' instead of '''Enter''', the cell becomes an 'array formula'. The formula now returns the entire array <tt>'''{3; 4}'''</tt>. Cell B2 displays <tt>'''3'''</tt> and cell C2 displays <tt>'''4'''</tt>.
 +
 
 +
:''Note that if you entered the formula using the '''Enter''' key, simply selecting the cell and pressing '''Cntrl-Shift-Enter''' will not convert the cell to an array expression - you must make an actual edit (such as adding then deleting a character), or click the Function Wizard and tick the ''Array'' checkbox.''
 +
 
 +
If you now try to edit cell B2, you are told that ''"you cannot change only part of an array"''.  To edit an array you must select the entire array, either with the mouse or by typing Cntrl-/ (hold the Cntrl key and press the slash key ‘/’).
 +
[[Image:Calc_array6.png|right]]
 +
 
 +
 
 +
The formula bar indicates that this is an array formula by enclosing it in curly braces {}. You do not need to type these - they will disappear while you edit the formula, and Calc will show them again when you have finished editing.
 +
<br style="clear:both;" />

Revision as of 13:13, 3 June 2012

Matrices

Introduction

Une matrice est un bloc rectangulaire de données que Calc peut utiliser dans une formule.C'est-à-dire que les informations sont organisées en rangées et colonnes. Il peut s'agir d'une plage de cellules ou d'un tableau de données géré en interne par Calc.

Il ya donc 2 façons de spécifier un tableau dans une formule :

  • comme une plage de données, par exemple : A2:C3
Calc array4.png
  • comme une "matrice interne", par exemple : {1; 5; 3 | 6; 2; 4}. Il faut encadrer la matrice par des accolades "{" et "}". Les entrées d'une ligne sont séparées par un point virgule ";" et les ligne sont séparées par le caractère pipe "|". Les colonnes doivent toutes avoir le même nombre d'éléments.Une "matrice interne" peut avoir un contenu mixte (nombres ou texte), comme par exemple{ 4; 2; "chien" | -22; "chat"; 0} }. Par contre une "matrice interne" ne peut pas contenir de référence à d'autre cellules (e.g. A4), ou de formule (e.g. PI(), 2*3) ou de pourcentage (e.g. 5 %).


Calc array5.png

On peut donner un nom à une plage de cellules : sélectionner la plage et choisir Insertion - Noms - Définir ....


On peut donner un nom à une "matrice interne" : choisir Insertion - Noms - Dénfir... ; saisir la matrice (e.g. {1; 3; 2} inclure les accolades) dans le champ Assigné à.


Fonctions utilisables avec des matrices

Des fonctions comme SOMME(), MOYENNE() , RECHERCHE() accepetent une ou plusieurs matrices dans leurs paramètres.

Par exemple :

SOMME( A2:C3 ) retourne la somme des nombres de la plage de données A2:C3.
SOMME( {3; 2; 4} ) retourne 9, la somme des nombres de la matrice interne {3; 2; 4}.
SOMME attend/comprend également des valeurs simples (scalaires) : SOMME( B5; 7 ) retourne la somme de B5 et 7.

Fonctions qui (en principe) n'acceptent pas les matrices

Quelques fonctions comme ABS(), RACINE(), COS(), LEN() attendent des paramètres 'scalaires' - c'est-à-dire une seule valuer comme par exemple 354 or "chien" ou le contenu d'une cellule e.g. B5.

Exemples :

RACINE(4) retourne 2.
LEN("chien") retourne 5.

Cempendant, on peut tout de même utiliser une matrice quand une valeur unique est attendue - par exemple RACINE( {9; 4} ). Si on entre la formule 'normalement' en appuyant surEntrée, Calc va alors inerpréter la formule en utilisant une seule valeur de la matrice comme pour ce quit suit :

Si c'est une "matrice interne" :

Calc utilisera le première valeur (celle en haut à gauche de la matrice)


Exemple :
=RACINE( {9; 4 | 25; 16} ) Quand on presse Entrée retourne 3, la racine carrée du premier élément de la matrice (9).

Si c'est une plage de données :

1. Calc va retourner une erreur, sauf si la matrice est composée d'une seule ligne ou d'une seule colonne.
2. Pour une plage simple ligne ou simple colonne, Calc va utiliser la valeur qui est à l'intersection de la cellule qui contient la formule et de la matrice ligne/colonne (ou retourne une erreur s'il n'y a pas d'intersection).
Exemples :
Calc array1.png
La formule =ABS(B2:B5) est entrée 'normalement' dans la cellule D3, qui est dans la ligne 3. La cellule B3 est à l'intersection de B2:B5 et de la ligne 3, donc la formule interprétée est =ABS(B3).
Calc array2.png
La formule =LEN(B5:D5) est entrée 'normalement' dans la cellule B1, qui est dans la colonne B. La cellule B5 est à l'intersection de B5:D5 et de la colonne B, donc la formule interprétée est =LEN(B5).

Fonctions matricielles

La puissance réelle de l'utilisation des matrice apapraît lorsqu'on entre une formule d'une manière spéciale, comme une 'formule matricielle'. On fait cela en appuyant simultanément sur Ctrl-Maj-Entrée au lieu de de la touche Entrée (ou en cochant le case Matrice si on utilise lassitant Fonction').

The real power of arrays comes when you enter a formula in a special way, as an ‘array formula’. You do this by pressing Cntrl-Shift-Enter instead of the Enter button (or by ticking the Array checkbox if you are using the Formula Wizard).

If in cell B1 you enter ={3; 4} ‘normally’ by pressing Enter, the first value 3 is displayed in the cell.

If in cell B2 you type ={3; 4} but press Cntrl-Shift-Enter instead of Enter, the cell becomes an 'array formula'. The formula now returns the entire array {3; 4}. Cell B2 displays 3 and cell C2 displays 4.

Note that if you entered the formula using the Enter key, simply selecting the cell and pressing Cntrl-Shift-Enter will not convert the cell to an array expression - you must make an actual edit (such as adding then deleting a character), or click the Function Wizard and tick the Array checkbox.

If you now try to edit cell B2, you are told that "you cannot change only part of an array". To edit an array you must select the entire array, either with the mouse or by typing Cntrl-/ (hold the Cntrl key and press the slash key ‘/’).

Calc array6.png


The formula bar indicates that this is an array formula by enclosing it in curly braces {}. You do not need to type these - they will disappear while you edit the formula, and Calc will show them again when you have finished editing.

Personal tools