Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
logiciel:internet:dokuwiki:plugins:tablecalc:start [2022/08/25 22:21] – [Tablecalc : faire des calculs dans une table comme avec Excel] admin | logiciel:internet:dokuwiki:plugins:tablecalc:start [2022/10/01 23:26] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ====== tablecalc : faire des calculs dans une table comme avec Excel ====== | ||
+ | |||
+ | Parfois, on peut avoir besoin de faire des calculs simples dans la table DokuWiki. | ||
+ | |||
+ | À l'aide de ce plugin, vous pourrez insérer des formules de style Excel dans le tableau | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Recherchez et installez le plugin **tablecalc** à l'aide du gestionnaire d' | ||
+ | ===== Configuration ===== | ||
+ | |||
+ | ===== Utilisation ===== | ||
+ | |||
+ | ==== Syntaxe ==== | ||
+ | |||
+ | Pour effectuer un calcul, insérez une formule de style XL dans la feuille de calcul. Toute expression doit commencer par **%%~~=%%** et se terminer par **%%~~%%**. | ||
+ | |||
+ | Vous pouvez spécifier | ||
+ | * directement une plage (comme le fait XL) | ||
+ | * ou utiliser une fonction **range()** | ||
+ | |||
+ | La plage consiste en une référence à la cellule de départ et à la cellule d' | ||
+ | Notez que les index de ligne %%(r)%% et de colonne %%(c)%% commencent à partir de zéro %%(0)%% | ||
+ | </ | ||
+ | |||
+ | ^ ^ 0 | ||
+ | ^ 0 | r0c0 | r0c1 | r0c2 | | ||
+ | ^ 1 | r1c0 | r1c1 | r1c2 | | ||
+ | ^ 2 | r2c0 | r2c1 | r2c2 | | ||
+ | |||
+ | Les préfixes de ligne et de colonne peuvent être permutés. Ceci est équivalent à ce qui précède :< | ||
+ | |||
+ | Vous pouvez également faire référence à plusieurs cellules dans une plage :< | ||
+ | |||
+ | De plus, vous pouvez utiliser plusieurs plages :< | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Il est recommandé de ne pas utiliser de références pour des cellules inexistantes. Par exemple, ce n'est pas correct (bien que cela fonctionnera, | ||
+ | | 2 | | ||
+ | | ~~=sum(r0c0: | ||
+ | |||
+ | Utilisez plutôt des constructions comme celle-ci :< | ||
+ | | 2 | | ||
+ | | ~~=sum(range(0, | ||
+ | </ | ||
+ | |||
+ | ==== Fonctions ==== | ||
+ | |||
+ | The following functions are implemented: | ||
+ | |||
+ | ^ Func ^ Description | ||
+ | ^ average(range) | ||
+ | ^ cell(column, | ||
+ | ^ check(condition; | ||
+ | ^ col() | Retourne la colonne courante | ||
+ | ^ compare(a; | ||
+ | ^ count(range) | ||
+ | ^ countif(range; | ||
+ | ^ label(string) | ||
+ | ^ max(range) | ||
+ | ^ min(range) | ||
+ | ^ range(column1, | ||
+ | ^ round(number; | ||
+ | ^ row() | Retourne la ligne courante | ||
+ | ^ sum(range) | ||
+ | ^ calc() | ||
+ | |||
+ | Bien que vous puissiez utiliser deux points comme délimiteur dans les fonctions, le point-virgule est préférable et recommandé. | ||
+ | ==== Opérateurs ==== | ||
+ | |||
+ | La plupart des opérateurs arithmétiques Javascript standard sont pris en charge, mais certains (( ^ | ~)) sont en conflit avec le balisage de la table, les opérateurs suivants sont donc disponibles : | ||
+ | |||
+ | ^ Opérateur | ||
+ | ^ + | Addition et plus unaire | ||
+ | ^ - | Soustraction et unaire négatif | ||
+ | ^ * | Multiplication | ||
+ | ^ / | Division | ||
+ | ^ % | Modulo (reste de division) | ||
+ | ^ & | ET logique | ||
+ | ^ << | ||
+ | ^ >> | ||
+ | |||
+ | ==== Exemples ==== | ||
+ | |||
+ | === 1er exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | |||
+ | | 1 | 2 | ~~=r0c0+r0c1~~ | ~~=10.2+1.5~~ | | ||
+ | |||
+ | === 2e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | 3 | 4 | | ||
+ | | ~~=sum(r0c0: | ||
+ | |||
+ | | 1 | 2 | | ||
+ | | 3 | 4 | | ||
+ | | ~~=sum(r0c0: | ||
+ | |||
+ | === 3e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | 5 | 6 | 7 | 8 | | ||
+ | | **~~=sum(r0c0: | ||
+ | |||
+ | | 1 | 2 | 3 | 4 | | ||
+ | | 5 | 6 | 7 | 8 | | ||
+ | | **~~=sum(r0c0: | ||
+ | === 4e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | |2| | ||
+ | |3| | ||
+ | |4| | ||
+ | |5.74| | ||
+ | |6| | ||
+ | |7| | ||
+ | |8| | ||
+ | |9| | ||
+ | |10| | ||
+ | |11| | ||
+ | |~~=sum(range(col(), | ||
+ | |||
+ | |1| | ||
+ | |2| | ||
+ | |3| | ||
+ | |4| | ||
+ | |5.74| | ||
+ | |6| | ||
+ | |7| | ||
+ | |8| | ||
+ | |9| | ||
+ | |10| | ||
+ | |11| | ||
+ | |~~=sum(range(col(), | ||
+ | |||
+ | === V === | ||
+ | |||
+ | <cli prompt=' | ||
+ | |2| | ||
+ | |3| | ||
+ | |4| | ||
+ | |5| | ||
+ | |6| | ||
+ | |7| | ||
+ | |8| | ||
+ | |9| | ||
+ | |11| | ||
+ | |~~=average(range(col(), | ||
+ | |||
+ | |1| | ||
+ | |2| | ||
+ | |3| | ||
+ | |4| | ||
+ | |5| | ||
+ | |6| | ||
+ | |7| | ||
+ | |8| | ||
+ | |9| | ||
+ | |11| | ||
+ | |~~=average(range(col(), | ||
+ | |||
+ | === 6e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | 3 | 4 | | ||
+ | |||
+ | Sum: **~~=sum(ex6_1.c0r0: | ||
+ | |||
+ | | ~~=label(ex6_1)~~1 | 2 | | ||
+ | | 3 | 4 | | ||
+ | |||
+ | Sum: **~~=sum(ex6_1.c0r0: | ||
+ | |||
+ | === 7e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | 13 | 14 | | ||
+ | |||
+ | | ~~=label(ex7_2)~~1 | 2 | | ||
+ | | 3 | 4 | | ||
+ | |||
+ | Somme : **~~=sum(ex7_1.c0r0: | ||
+ | |||
+ | | **~~=label(ex7_1)~~11** | ~~=sum(ex7_2.c0r0: | ||
+ | | 13 | 14 | | ||
+ | |||
+ | | ~~=label(ex7_2)~~1 | 2 | | ||
+ | | 3 | 4 | | ||
+ | |||
+ | Somme : **~~=sum(ex7_1.c0r0: | ||
+ | |||
+ | === 8e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | 1 | 7 | | ||
+ | | 2 | 8 | | ||
+ | | 3 | 9 |</ | ||
+ | |||
+ | | **~~=min(c0r1: | ||
+ | | 1 | 7 | | ||
+ | | 2 | 8 | | ||
+ | | 3 | 9 | | ||
+ | |||
+ | === 9e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | 0 | ~~=check(cell(0, | ||
+ | | x | ~~=check(cell(0, | ||
+ | | | ~~=check(cell(0, | ||
+ | | **** | ~~=check(cell(0, | ||
+ | |||
+ | | 1 | ~~=check(cell(0, | ||
+ | | 0 | ~~=check(cell(0, | ||
+ | | x | ~~=check(cell(0, | ||
+ | | | ~~=check(cell(0, | ||
+ | | **** | ~~=check(cell(0, | ||
+ | |||
+ | === 10e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | 3 | 3 | 3=3 | ~~=check(compare(cell(0, | ||
+ | | 4 | 5 | 4<5 | ~~=check(compare(cell(0, | ||
+ | | 6 | 7 | 6>7 | ~~=check(compare(cell(0, | ||
+ | | 8 | 9 | 8>9 | ~~=check(compare(cell(0, | ||
+ | | 10 | 10 | 10≥10 | ~~=check(compare(cell(0, | ||
+ | | 11 | 11 | 11≤11 | ~~=check(compare(cell(0, | ||
+ | | 12 | 12 | 12≠12 | ~~=check(compare(cell(0, | ||
+ | |||
+ | | 1 | 2 | 1=2 | ~~=check(compare(cell(0, | ||
+ | | 3 | 3 | 3=3 | ~~=check(compare(cell(0, | ||
+ | | 4 | 5 | 4<5 | ~~=check(compare(cell(0, | ||
+ | | 6 | 7 | 6>7 | ~~=check(compare(cell(0, | ||
+ | | 8 | 9 | 8>9 | ~~=check(compare(cell(0, | ||
+ | | 10 | 10 | 10≥10 | ~~=check(compare(cell(0, | ||
+ | | 11 | 11 | 11≤11 | ~~=check(compare(cell(0, | ||
+ | | 12 | 12 | 12≠12 | ~~=check(compare(cell(0, | ||
+ | |||
+ | === 11e exemple === | ||
+ | |||
+ | ^ Operator | ||
+ | | + | %%~~= 3 + 2 ~~%% | 5 | | ||
+ | | - | %%~~= 3 - 2 ~~%% | 1 | | ||
+ | | * | %%~~= 3 * 2 ~~%% | 6 | | ||
+ | | / | %%~~= 6 / 2 ~~%% | 3 | | ||
+ | | % | %%~~= 7 % 2 ~~%% | 1 | | ||
+ | | unary + | %%~~= +2 ~~%% | ||
+ | | unary - | %%~~= -2 ~~%% | ||
+ | | & | %%~~= 3 & 2 ~~%% | 2 | | ||
+ | | %%<< | ||
+ | | %%>> | ||
+ | |||
+ | === 12e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | |||
+ | |~~=r0c1+5~~|6| | ||
+ | |||
+ | === 13e exemple === | ||
+ | |||
+ | <cli prompt=' | ||
+ | | oranges | 54 | | ||
+ | | pêches | 75 | | ||
+ | | pommes | 86 | | ||
+ | |||
+ | Pommes: ~~=countif(ex13_1.r0c0: | ||
+ | |||
+ | | ~~=label(ex13_1)~~pommes | 32 | | ||
+ | | oranges | 54 | | ||
+ | | pêches | 75 | | ||
+ | | pommes | 86 | | ||
+ | |||
+ | Pommes: ~~=countif(ex13_1.r0c0: | ||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(en)** [[https:// | ||
+ | |||
+ | ---- | ||
+ | //Basé sur << [[https:// |