On peut vous aider ?
Cherchez des réponses ou parcourez les rubriques de notre documentation
Moteur de calcul
Généralités
- Un onglet est limité à 4095 colonnes et 1048575 lignes.
- Les noms de fonctions et des booléens sont dans la locale de l’utilisateur. Les locales supportées sont :
Anglais, Danois, Néerlandais, Finnois, Français, Allemand, Italien, Norvégien, Portugais, Espagnol, Suédois Dans les autres cas, le moteurde calcul passe en Anglais.
- Le moteur utilise la locale de l’utilisateur, y compris pour le séparateur d’argument.
- Les références sont en A1, supporte les références relatives et absolues, de ligne ou de colonne, mais pas les référence 3D (par exemple =SOMME(Feuil1:Feuil3!A1)), qui seront avantageusement remplacées par un multi-onglets qui propose des fonctions de synthèse élaborées.
Erreurs
Les erreurs rapportées sont les suivantes :
Erreur | Remarques | Compatible Excel |
#CIRCLE! | La cellule fait partie d’un cycle | |
#DIV/0! | OUI | |
#N/A | OUI | |
#NAME? | Fonction, nom inconnus | OUI |
#NUM! | OUI | |
#PARAM! | Mauvais nombre de paramètres lors de l’appel d’une fonction | |
#SYNTAX! | La syntaxe de la formule n’est pas correcte pour le moteur Calame | |
#REF! | Référence invalide | OUI |
#VALUE! | OUI | |
#NOTSUPPORTED | Fonction ou expression spécifique de formule non supportée dans GT | |
#UNKNOWN! | Erreur inconnue, signale un bug dans le moteur |
Gestion des dates
Le moteur de calcul ne supporte pas l’option Excel « Calendrier depuis 1904 »
Les dates strictement inférieures au 01/03/1900 ne correspondent pas avec Excel. En particulier les fonctions prenant une date en entrée (MOIS, JOUR,…) ne fonctionnent pas de la même manière qu’Excel avec les valeurs vide.
Ainsi, MOIS(Ø) = 12 dans GT et 1 dans Excel (car la date de numéro de série 0 vaut 12/12/1899 dans GT et 00/01/1900 dans Excel).
Fonctions
Généralités
- Les fonctions volatiles sont recalculées comme dans Excel c’est à dire à chaque évaluation. Les fonctions volatiles sont :
ALEA, ALEA.ENTRE.BORNES, AUJOURDHUI, MAINTENANT, INDIRECT, DECALER
- Les formules matricielles ne sont pas supportées
- Le nom des fonctions n’est pas sensible à la casse.
- Les fonctions renvoyant du texte n’ont pas de limite à 32767 caractères sauf REPT.
- Certaines fonctions Excel fonctionnent différemment selon qu’un paramètre est une valeur ou une référence. Par exemple,
ET(VRAI ; « AAAAA ») renvoie #VALEUR ! tandis que ET(VRAI ;A1) avec A1= »AAAAA » renvoie VRAI. Le moteur de la grille ne différencie pas ces deux cas. Dans l’exemple ci-dessus, il renvoie toujours VRAI.
- Les fonctions Excel qui traitent des nombres entiers renvoient un résultat incohérent si l’entier dépasse 2^53 (précision du type double). Par exemple pour GCD(2^60 ;2^60-1) = GCD(1152921504606846976, 1152921504606846975) Excel renvoie 1,..E18 alors que le résultat est 1. Certaines fonctions GT vont vérifier que les opérandes ne dépassent pas la limite et renvoient #NUM ! dans le cas contraire (exp. GCD et LCM). Ces cas sont signalés dans la liste des fonctions.
Fonctions avec critère chaîne (pour NB.SI, SOMME.SI, SOMME.SI.ENS…)
Si le critère contient ‘*’, ‘?’, le caractère sera interprété comme un joker (de la même manière qu’Excel).
Le caractère de protection de ces jokers est le ~
De plus, les critères de type chaîne sont limités à 255 caractères dans Excel. Le moteur GT n’a pas cette limitation.
Liste des fonctions du moteur
Fonctions spécifiques GT
Nom | Syntaxe | Remarques |
---|---|---|
GTDISPLAYTEXT | GTDISPLAYTEXT(cell) | Renvoie le texte affiché par la cellule (tient compte du format numérique) |
GTHASH (dépréciée à partir de la version 2019) | GTHASH(range, [algo, DoPj, SkipEmpty]) | Algo = CRC32 ou MD5 (défaut) DoPj : booléen SkipEmpty : booléen |
GTMOAXIS | GTMOAXIS([offset]) | Renvoie le nom de l'axe de groupe de multi-onglet dans un groupe de multi-onglet |
GTMOAXISVAL | GTMOAXISVAL([offset]) | Renvoie l'item courant (ou les précédents/suivants) dans un multi-onglet |
GTMOGETSHEETNAME | GTMOGETSHEETNAME(item [, Axis, tab_index] ) | renvoie le nom de la grille/feuille pour l'item "item" dans un multi-onglet, Axis et tab_index permettent de spécifier le groupe de multi-onglet et/ou le numéro d'onglet dans un groupe de multi-onglet comprenant plusieurs onglets à démultiplier |
GTMS | GTMS.Fonction_GTMS(argument) | Permet d'agréger les données d'un multi-onglet. Voir l'article détaillé Synthèse de données d'un multi-onglet |
GTPATNUM | GTPATNUM([reference]) | Renvoie le numéro de "ligne" dans un motif. Voir l'article détaillé GTPATNUM |
GTSGMO | GTSGMO(‘Grille’!ref) | Réalise la somme des valeurs d'une cellule s ur les onglets d'un groupe de multi-onglets. Le nom de la grille est obligatoire. |
GTVALIDMAILADDRESS | GTVALIDMAILADDRESS() | Renvoie l'adresse mail, si validée, dans Answer (processus de validation via pièce jointe .checkmail) |
GTISUSERCONNECTED | GTISUSERCONNECTED() | Renvoie Vrai si l'utilisateur est connecté actuellement à l'instance, ou ou Faux sinon. |
GTADMAILADDRESS | GTADMAILADDRESS() | Renvoie l'adresse mail du compte AD ayant servi à l'authentification dans Answer (l'authentification est activée via l'action de lancement de campagne) |
GTPJSIZE | GTPJSIZE(ref_cellule) | Renvoie la taille du fichier enregistré dans le composant de pièce jointe situé en "ref_cellule" |
Date & Heure
Nom (EN) | Nom (FR) | Syntaxe | Remarques |
---|---|---|---|
DATE | DATE | DATE(year, month, day) | |
DATEVALUE | DATEVAL | DATEVALUE(date_text) | Ne supporte que date_text aux formats dd/mm/yy[yy] (local) |
DAY | JOUR | DAY(serial_number) | |
DAY360 | JOUR360 | ||
EDATE | MOIS.DECALER | EDATE(start_date,months) | Range => #VALUE! |
EOMONTH | FIN.MOIS | EOMONTH(date, month) | |
HOUR | HEURE | HOUR(serial_number) | |
ISOWEEKNUM | HEURE.ISO | ISOWEEKNUM(date) | Excel >= 2013, GT >= 3.9 |
MONTH | MOIS | MONTH(serial_number) | |
NETWORKDAYS | NB.JOURS.OUVRES | NETWORKDAYS (start_date, end_date, [holidays]) | |
NETWORKDAYS.INTL | NB.JOURS.OUVRES.INTL | NETWORKDAYS.INTL (start_date, end_date, [weekend], [holidays]) | |
NOW | MAINTENANT | NOW( ) | |
SECOND | SECONDE | SECOND(serial_number) | |
TIME | TEMPS | TIME(hour, minute, second) | |
TIMEVALUE | TEMPSVAL | TIMEVALUE(time_text) | |
TODAY | AUJOURDHUI | TODAY() | |
WEEKDAY | JOURSEM | WEEKDAY (serial_number,return_type) | |
WEEKNUM | NO.SEMAINE | WEEKNUM (serial_num,return_type)) | Range => #VALUE! return_type >= 21 à partir de GTv3.9 |
ISOWEEKNUM | NO.SEMAINE.ISO | ISOWEEKNUM(serial_num) | à partir de GTv3.9 équivalent à WEEKNUM avec return_type à 21 |
YEAR | ANNEE | YEAR(serial_number) |
Information
Nom (EN) | Nom (FR) | Syntaxe | Remarques |
---|---|---|---|
ERROR.TYPE | TYPE.ERREUR | ERROR.TYPE(val_error) | Pour les erreurs GT les valeurs sont >= 100: #SYNTAX ! : 100 #CIRCLE! : 101 #PARAM! : 102 #UNKNOWN! : 103 |
ISBLANK | ESTVIDE | ISBLANK(value) | |
ISERR | ESTERR | ISERR(value) | |
ISERROR | ESTERREUR | ISERROR(value) | |
ISEVEN | EST.PAIR | ISEVEN(number) | Range => #VALUE! |
ISLOGICAL | ESTLOGIQUE | ISLOGICAL(value) | |
ISNA | ESTNA | ISNA(value) | |
ISNONTEXT | ESTNONTEXTE | ISNONTEXT(value) | |
ISNUMBER | ESTNUM | ISNUMBER(value) | |
ISODD | EST.IMPAIR | ISODD(number) | Range => #VALUE! |
ISTEXT | ESTTEXTE | ISTEXT(value) | |
N | N | N(value) | Range => TopLeft |
NA | NA | NA() | |
TYPE | TYPE | TYPE(value) |
Logique
Nom (EN) | Nom (FR) | Syntaxe | Remarques |
---|---|---|---|
AND | ET | AND(logical1, [logical2], ...) | |
FALSE | FAUX | FALSE() | |
IF | SI | IF(logical_test, [value_if_true], [value_if_false]) | |
IFERROR | SIERREUR | IFERROR(value,value_if_error) | Fonction d’Excel 2007 et > |
NOT | NON | NOT(logical) | |
OR | OU | OR(logical1,logical2,...) | |
TRUE | Vrai | TRUE() |
Recherche & Référence
Nom (EN) | Nom (FR) | Syntaxe | Remarques |
---|---|---|---|
ADDRESS | ADRESSE | ADRESSE(row,column,[abs_num],[a1],[sheet_name_txt]) | Le paramètre A1 est ignoré, le résultat est toujours produit dans le style A1 |
CHOOSE | CHOISIR | CHOOSE(index_num,value1,value2,...) | |
COLUMN | COLONNE | COLUMN(reference) | |
COLUMNS | COLONNES | COLUMNS(range) | |
HLOOKUP | RECHERCHEH | HLOOKUP(lookup_value,table_array, row_index_num,[range_lookup]) | |
INDEX | INDEX | INDEX(array,row_num[,column_num]) | Compatibilité Excel * pas de gestion de la syntaxe avec les numéros de zone * Par défaut, column_num vaut 1 comme dans Excel * Renvoie #VALUE! si column_num = 0 |
INDIRECT | INDIRECT | INDIRECT(range_or_text[,a1]) | Toujours en A1, le deuxième paramètre est ignoré |
ISREF | ESTREF | ESTREF(value) | |
LOOKUP | RECHERCHE | LOOKUP(lookup_value,lookup_vector,result_vector) ou LOOKUP(lookup_value,array) | Compatibilité Excel: * GT renvoie #N/A si lookup_vector ou result_vector n'est pas un vecteur (Excel seulement pour result_vector) * GT renvoie #N/A si lookup_vector et result_vector n'ont pas la même taille |
MATCH | EQUIV | MATCH(lookup_value,lookup_array,[match_type]) | |
OFFSET | DECALER | OFFSET(range,rows,columns,[width_rows,[height_columns]]) | Renvoie #VALUE! quand le premier paramètre n'est pas une référence (Excel interdit la saisie d'une telle formule) |
ROW | LIGNE | ROW(reference) | |
ROWS | LIGNES | ROWS(range) | |
VLOOKUP | RECHERCHEV | VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) |
Maths
Nom (EN) | Nom (FR) | Syntaxe | Remarques |
---|---|---|---|
ABS | ABS | ABS(number) | |
ACOS | ACOS | ACOS(number) | |
ACOSH | ACOSH | ACOSH(number) | |
ASINH | ASINH | ASINH(number) | |
ATAN | ATAN | ATAN(number) | |
ATAN2 | ATAN2 | ATAN2(x_num,y_num) | |
ATANH | ATANH | ATANH(number) | |
CEILING | PLAFOND | CEILING (number,significance) | |
COMBIN | COMBIN | COMBIN (number,number_chosen) | |
COS | COS | COS(number) | |
COSH | COSH | COSH(number) | |
DEGREES | DEGRES | DEGREES(angle) | |
EVEN | PAIR | EVEN(number) | |
EXP | EXP | EXP(number) | |
FACT | FACT | FACT(number) | |
FACTDOUBLE | FACTDOUBLE | FACTDOUBLE(number) | |
FLOOR | PLANCHER | FLOOR (number,significance) | |
GCD | PGCD | GCD (number1,number2, ...) | Renvoie #NUM! si un des paramètres dépasse 2^53 |
INT | ENT | INT(number) | |
LN | LN | LN(number) | |
LCM | PPCM | LCM (number1,number2, ...) | Renvoie #NUM! si un des paramètres ou le résultat dépasse 2^53 |
LOG | LOG | LOG(number,base) | |
LOG10 | LOG10 | LOG10(number) | |
MOD | MOD | MOD(number,divisor) | |
MROUND | ARRONDI.AU.MULTIPLE | MROUND (number, multiple) | |
MULTINOMIAL | MULTINOMIALE | MULTINOMIAL (number1,number2, ...) | Renvoie #VALUE! si un argument est de type chaîne (même si la chaîne contient un nombre. Dans ce cas, Excel renvoie une mauvaise valeur car il utilise en interne la fonction SOMME qui ne fait pas cette conversion). |
ODD | IMPAIR | ODD(number) | |
PI | PI | PI() | |
POWER | PUISSANCE | POWER(number,power) | |
PRODUCT | PRODUIT | PRODUCT (number1, [number2], ...) | |
QUOTIENT | QUOTIENT | QUOTIENT (numerator,denominator) | dans Excel <= 2003, peut renvoyer -0 (par exemple : QUOTIENT(-1,4)) |
RAND | ALEA | RAND() | |
RANDBETWEEN | ALEA.ENTRE.BORNES | RANDBETWEEN (min, max) | |
RANK | RANG | RANG (number,ref,order) | |
ROUND | ARRONDI | ROUND (number, num_digits) | |
ROUNDDOWN | ARRONDI.INF | ROUNDDOWN (number, num_digits) | |
ROUNDUP | ARRONDI.SUP | ROUNDUP (number, num_digits) | |
SIGN | SIGNE | SIGN(number) | |
SIN | SIN | SIN(number) | |
SINH | SINH | SINH(number) | |
SQRT | RACINE | SQRT(number) | |
SQRTPI | RACINE.PI | SQRTPI(number) | |
SUBTOTAL | SOUS.TOTAL | SUBTOTAL (function_num, ref1, ref2, ...) | si function_num est ³ 101 et £ 111 alors génère une erreur de paramètre |
SUM | SOMME | SUM(number1, [number2], [number3], [number4], ...) | |
SUMIF | SOMME.SI | SUMIF(range, criteria, [sum_range]) | range doit avoir un nombre d'élément <= à sum_range sinon => #N/A! (dans le cas contraire, Excel complète range) |
SUMIFS | SOMME.SI.ENS | SUMIFS (sum_range,[range1, criteria1], [range2, criteria2],...) | |
SUMPRODUCT | SOMMEPROD | SUMPRODUCT (array1,array2,array3, ...) | Contrairement à SUM, ne tient pas compte des chaînes. Les calculs du type SOMMEPROD(Plage1 opérateur Plage2) ne sont pas autorisés (exemple SOMMEPROD (D1:D2+E1:E2/2) |
SUMSQ | SOMME.CARRES | SUMSQ (number1,number2,...) | Excel compte aussi les booléens ou texte rentrés directement comme argument |
SUMX2MY2 | SOMME.X2MY2 | SUMX2MY2 (array_x,array_y) | = somme (x^2 - y^2) |
SUMX2PY2 | SOMME.X2PY2 | SUMX2PY2 (array_x,array_y) | = somme (x^2 + y^2) |
SUMXMY2 | SOMME.XMY2 | SUMXMY2 (array_x,array_y) | = somme (x - y)^2 |
TAN | TAN | TAN(number) | |
TANH | TANH | TANH(number) | |
TRUNC | TRONQUE | TRUNC (number, num_digits) |
Statistiques
Nom (EN) | Nom (FR) | Syntaxe | Remarques |
---|---|---|---|
AVEDEV | ECART.MOYEN | AVEDEV (number1,number2,...) | |
AVERAGE | MOYENNE | AVERAGE (number1,number2,...) | Excel compte aussi les booléens ou texte rentrés directement comme argument |
AVERAGEIF | MOYENNE.SI | AVERAGEIF (range,criteria,[av_range]) | A partir de la version 3.9range doit avoir un nombre d'élément <= à av_range sinon => #N/A! (dans le cas contraire, Excel complète range) |
AVERAGEIFS | MOYENNE.SI.ENS | AVERAGEIFS (av_range,rng1,crit1, rng2,crit2) | A partir de la version 3.9 |
COUNT | NB | COUNT (value1,value2,...) | |
COUNTA | NBVAL | COUNTA (value1,value2,...) | |
COUNTBLANK | NB.VIDE | COUNTBLANK(range) | |
COUNTIF | NB.SI | COUNTIF (range,criteria) | |
COUNTIFS | NB.SI.ENS | COUNTIFS (range1,criteria1, range2, criteria2…) | Fonction d’Excel 2007 et > |
COVAR | COVARIANCE | COVAR (array1,array2) | |
DEVSQ | SOMME.CARRES. ECARTS | DEVSQ (number1,number2,...) | |
MAX | MAX | MAX (number1,number2,...) | |
MAXA | MAXA | MAXA (number1,number2,...) | |
MEDIAN | MEDIANE | MEDIAN (number1,number2,...) | |
MIN | MIN | MIN (number1,number2,...) | |
MINA | MINA | MINA (number1,number2,...) | |
STDEV | ECARTYPE | STDEV (number1,number2,...) | |
STDEVP | ECARTYPEP | STDEVP (number1,number2,...) | |
VAR | VAR | VAR (number1,number2,...) | |
VARP | VARP | VARP (number1,number2,...) |
Texte
Nom (EN) | Nom (FR) | Syntaxe |
---|---|---|
CHAR | CAR | CHAR(number) |
CLEAN | EPURAGE | CLEAN(text) |
CODE | CODE | CODE(text) |
CONCATENATE | CONCATENER | CONCATENATE (text1,text2,...) |
EXACT | EXACT | EXACT(text1,text2) |
FIND | TROUVE | FIND(find_text,within_text,start_num) |
FIXED | CTXT | FIXED(number[,decimals,no_commas]) |
LEFT | GAUCHE | LEFT(text,num_chars) |
LEN | NBCAR | LEN(text) |
LOWER | MINUSCULE | LOWER(text) |
MID | STXT | MID(text,start_num,num_chars) |
PROPER | NOMPROPRE | PROPER(text) |
REPLACE | REMPLACER | REPLACE(old_text,start_num,num_chars,new_text) |
REPT | REPT | REPT(text,number_times) |
RIGHT | DROITE | RIGHT(text,num_chars) |
SEARCH | CHERCHE | SEARCH(find_text,within_text,start_num) |
SUBSTITUTE | SUBSTITUTE | SUBSTITUTE(text,old_text,new_text,instance_num) |
T | T | T(value) |
TEXT | TEXTE | TEXT(value, format_text) |
TRIM | SUPPRESPACE | TRIM(text) |
UPPER | MAJUSCULE | UPPER(text) |
VALUE | CNUM | VALUE(text) |
Finance
Nom (EN) | Nom (FR) | Syntaxe |
---|---|---|
NPV | VAN | NPV(rate, value1, value2,...) |
XNPV | VAN.PAIEMENTS | XNPV(rate, values, date) |
Zones nommées
Lors de l’import d’un fichier Excel dans Design, les zones nommées sont importées.
Les zones nommées suivantes sont gérées (locales ou globales)
- référence (absolue)
- valeur
- formule sans référence relative (sauf formules matricielles).
On peut utiliser une zone de nom dans les graphes. Le moteur gère correctement l’opérateur de référence sur les zones. Dans le tableau ci-dessous, la zone nommée « Quantité » est la plage de données C6:C8, la zone nommée « CA » = D6:D8. En E6, la formule est « Quantité*CA », soit, dans ce cas, C6*D6.
Les zones suivantes ne sont pas importées :
- zone cachée
- #REF !
- formule invalide (pour GT)
Toutes les zones nommées globales sont réimportés à chaque import Excel, même celles qui ne sont pas dans la zone d’import. On peut consulter (mais pas modifier) la liste des zone nommées via « Outils » –> « Voir les noms ». Les doublons avec les noms générés à l’export Excel sont vérifiés à la sauvegarde dans Design (seulement un warning). On autorise toutefois une collision si la zone de noms et le composant coïncide.
Fonction Tableau Excel 2007 (et supérieure)
La fonction Tableau d’Excel n’est pas supportée.