Le module TableCalc permet de réaliser des calculs dans un tableau du wiki.
Il est donc possible de réaliser des feuilles de calcul simples pour estimer une trésorerie, évaluer des éléments de rémunération, calculer le coût d'un crédit, etc.
Il est possible de nommer un tableau si l'on souhaite utiliser ses données dans la page en cours.
Voici le tableau1
1 | 2 | 3 |
2 | 4 | 6 |
3 | 6 | 9 |
Et le code correspondant
|~~=label(tableau1)~~1|2|3| |2|4|6| |3|6|9|
Dans cet exemple, on insère la formule :
~~=label(tableau1)~~
dans la première cellule du tableau pour le nommer tableau1.
Attention à utiliser uniquement des lettres minuscules et aucun espace.
Il est alors possible d'afficher le contenu de la dernière cellule du tableau1.
Comme cela :
Chiffre dans la dernière cellule :
Et le code correspondant
Chiffre dans la dernière cellule : ~~=tableau1.c2r2~~
Les cellules sont indexées à partir de la ligne 0 et de la colonne 0.
Dans l'exemple précédent c2r2 1)correspond à la dernière cellule du tableau.
Il est possible d'échanger ligne et colonne, r2c2 et c2r2 représentent la même cellule.
Voici une copie du tableau1
Et le code correspondant
|~~=tableau1.c0r0~~|~~=tableau1.c1r0~~|~~=tableau1.c2r0~~| |~~=tableau1.c0r1~~|~~=tableau1.c1r1~~|~~=tableau1.c2r1~~| |~~=tableau1.c0r2~~|~~=tableau1.c1r2~~|~~=tableau1.c2r2~~|
Important, si en modification du chapitre vous faites un aperçu, le tableau1 est inaccessible donc vide. Mais tout rentre dans l'ordre si vous affichez toute la page.
Il est possible de référencer plusieurs cellule dans une seule expression.
Voici la deuxième ligne du tableau
Et le code correspondant
~~=tableau1.r1c0:r1c2~~
Voici les premières et troisième lignes du tableau
Et le code correspondant
~~=tableau1.r0c0:r0c2,tableau1.r2c0:r2c2~~
Attention à ne pas référencer des cellules qui n'existent pas (cela peut fonctionner mais n'est pas recommandé)
Les plages de cellule sont utiles pour les fonctions d'agrégations.
a | b | Opérateur | Équation | Résultat |
---|---|---|---|---|
7 | 3 | + | ~~= c0r1 + c1r1 ~~ | |
Ta | tie | + | ~~= c0r2 + c1r2 ~~ |
La concaténation fonctionne aléatoirement
a | b | Operateur | Equation | Resultat |
---|---|---|---|---|
7 | 3 | - | ~~= c0r1 - c1r1 ~~ | |
Ta | tie | - | ~~= c0r2 - c1r2 ~~ |
a | b | Operateur | Equation | Resultat |
---|---|---|---|---|
7 | 3 | * | ~~= c0r1 * c1r1 ~~ | |
Ta | tie | * | ~~= c0r2 * c1r2 ~~ |
a | b | Operateur | Equation | Resultat |
---|---|---|---|---|
7 | 3 | / | ~~= c0r1 / c1r1 ~~ | |
Ta | tie | / | ~~= c0r2 / c1r2 ~~ |
a | b | Operateur | Equation | Resultat |
---|---|---|---|---|
7 | 3 | % | ~~= c0r1 % c1r1 ~~ | |
Ta | tie | % | ~~= c0r2 % c1r2 ~~ |
a | b | Operateur | Equation | Resultat |
---|---|---|---|---|
7 | 3 | & | ~~= c0r1 & c1r1 ~~ | |
Ta | tie | & | ~~= c0r2 & c1r2 ~~ | |
0 | 1 | & | ~~= c0r3 & c1r3 ~~ | |
1 | 1 | & | ~~= c0r4 & c1r4 ~~ |
Fonction | Description |
---|---|
label(chaîne) | Donne un nom au tableau |
row() | ligne courante |
col() | colonne courante |
cell(x,y)2) | Valeur numérique de la cellule (utilisée avec les fonctions col et row) |
range(x1,y1,x2,y2) | plage de cellules (utilisée avec les fonctions col et row) |
sum(plage) | Somme des valeurs numériques de la plage |
count(plage) | Nombre d'éléments (cellules) dans la plage |
average(plage) | Moyenne de la plage spécifiée |
min(plage) | Minimum de la plage spécifiée |
max(plage) | Maximum de la plage spécifiée |
round(nombre;décimales) | Nombre arrondi aux décimales spécifiées |
check(condition;si vrai;si faux) | Affiche les instructions si vrai , si la condition n'est pas nulle |
compare(a;b;opération) | Compare a et b suivant l'opération demandée, renvoie zéro si l'opération n'est pas satisfaite |
countif(plage;valeur;opération) | Compte les valeurs comparables à la valeur suivant l' opération dans la plage spécifiée |
Dans les fonctions il est préférable d'utiliser le ;
comme séparateur.
1 | 2 |
3 | 4 |
Somme | |
---|---|
Nombre |
| 1 | 2 | | 3 | 4 | ^ Somme ^ ~~=sum(c0r0:c1r1)~~ ^ ^ Nombre ^ ~~=count(c0r0:c1r1)~~ ^
1 | 2 | 3 | 4 |
---|---|---|---|
5 | 6 | 7 | 8 |
Somme | |||
Nombre |
^ 1 ^ 2 | 3 ^ 4 ^ ^ 5 ^ 6 | 7 ^ 8 ^ ^ Somme | ~~=sum(r0c0:r1c1,r0c3:r1c3)~~ ||| ^ Nombre | ~~=count(r0c0:r1c1,r0c3:r1c3)~~ |||
1 | ||
2 | ||
3 | ||
4 | ||
5.66 | ||
6 | ||
7 | ||
8 | ||
9 | ||
10 | ||
Somme | ||
Nombre |
| | 1 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 2 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 3 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 4 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 5.66 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 6 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 7 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 8 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 9 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | | 10 | ~~=sum(range(col()-1,0,col()-1,row()))~~ | | Somme | ~~=sum(range(col(),0,col(),row()-1))~~ ^ ^ | Nombre | ~~=count(range(col(),0,col(),row()-1))~~ ^ ::: ^
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Moyenne |
---|
|1| |2| |3| |4| |5| |6| |7| |8| |9| |~~=average(range(col(),0,col(),row()-1))~~|
Minimum | ||||
---|---|---|---|---|
1 | 4 | 7 | ||
2 | 5 | 8 | ||
3 | 6 | 9 | ||
Maximum |
^ Minimum ^ ~~=min(range(col();row()-1;col();row()+2))~~ ^ ~~=min(range(col();row()-1;col();row()+2))~~ ^ ~~=min(range(col();row()-1;col();row()+2))~~ ^ ~~=max(range(col()-3;row();col()-1;row()))~~ ^ ^ ~~=min(range(col()+1;row();col()+3;row()))~~ | 1 | 4 | 7 ^ ~~=max(range(col()-3;row();col()-1;row()))~~ ^ ^ ~~=min(range(col()+1;row();col()+3;row()))~~ | 2 | 5 | 8 ^ ~~=max(range(col()-3;row();col()-1;row()))~~ ^ ^ ~~=min(range(col()+1;row();col()+3;row()))~~ | 3 | 6 | 9 ^ ~~=max(range(col()-3;row();col()-1;row()))~~ ^ ^ ~~=min(range(col()+1;row();col()+3;row()))~~ ^ ~~=max(range(col();row()-3;col();row()-1))~~ ^ ~~=max(range(col();row()-3;col();row()-1))~~ ^ ~~=max(range(col();row()-3;col();row()-1))~~ ^ Maximum ^
1 | |
0 | |
x | |
| 1 | ~~=check(cell(0,row()),#Vrai,#Faux)~~ | | 0 | ~~=check(cell(0,row()),#Vrai,#Faux)~~ | | x | ~~=check(cell(0,row()),#Vrai,#Faux)~~ | | | ~~=check(cell(0,row()),#Vrai,#Faux)~~ | | **** | ~~=check(cell(0,row()),#Vrai,#Faux)~~ |
1 | 2 | 1=2 | |
3 | 3 | 3=3 | |
4 | 5 | 4<5 | |
6 | 7 | 6>7 | |
8 | 9 | 8>9 | |
10 | 10 | 10≥10 | |
11 | 11 | 11≤11 | |
12 | 12 | 12≠12 | |
Totaux | |||
---|---|---|---|
Vrai | Faux |
| 1 | 2 | 1=2 | ~~=check(compare(cell(0,row()),cell(1,row()),#=),#Vrai,#Faux)~~ | | 3 | 3 | 3=3 | ~~=check(compare(cell(0,row()),cell(1,row()),#=),#Vrai,#Faux)~~ | | 4 | 5 | 4<5 | ~~=check(compare(cell(0,row()),cell(1,row()),#<),#Vrai,#Faux)~~ | | 6 | 7 | 6>7 | ~~=check(compare(cell(0,row()),cell(1,row()),#>),#Vrai,#Faux)~~ | | 8 | 9 | 8>9 | ~~=check(compare(cell(0,row()),cell(1,row()),#>),#Vrai,#Faux)~~ | | 10 | 10 | 10≥10 | ~~=check(compare(cell(0,row()),cell(1,row()),#>=),#Vrai,#Faux)~~ | | 11 | 11 | 11≤11 | ~~=check(compare(cell(0,row()),cell(1,row()),#<=),#Vrai,#Faux)~~ | | 12 | 12 | 12≠12 | ~~=check(compare(cell(0,row()),cell(1,row()),#<>),#Vrai,#Faux)~~ | ^ Totaux |||| ^ Vrai | ~~=countif(r0c3:r7c0,#Vrai,#=)~~ ^ Faux | ~~=countif(r0c3:r7c0,#Faux,#=)~~ |