{"id":4827,"date":"2026-10-14T18:01:18","date_gmt":"2026-10-14T18:01:18","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/google-sheets-query-comment-utiliser-plusieurs-criteres-dans-query\/"},"modified":"2026-10-14T18:01:18","modified_gmt":"2026-10-14T18:01:18","slug":"google-sheets-query-comment-utiliser-plusieurs-criteres-dans-query","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=google-sheets-query-comment-utiliser-plusieurs-criteres-dans-query","title":{"rendered":"Google Sheets Query : Comment utiliser plusieurs crit\u00e8res dans Query"},"content":{"rendered":"<p>L&rsquo;analyse contemporaine des donn\u00e9es tabulaires au sein des environnements infonuagiques requiert des instruments capables de concilier expressivit\u00e9 syntaxique, puissance computationnelle et adaptabilit\u00e9 fonctionnelle. Dans l&rsquo;\u00e9cosyst\u00e8me Google Workspace, la fonction <strong>QUERY<\/strong> incarne l&rsquo;aboutissement de cette convergence m\u00e9thodologique en transposant les paradigmes de l&rsquo;alg\u00e8bre relationnelle et du langage <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/www.iso.org\/standard\/63555.html\">SQL (Structured Query Language)<\/a> directement au c\u0153ur des feuilles de calcul. Contrairement aux approches matricielles conventionnelles qui juxtaposent une multitude de fonctions imbriqu\u00e9es au d\u00e9triment de la lisibilit\u00e9 et des performances de calcul, l&rsquo;interpr\u00e9teur de requ\u00eates de Google Sheets op\u00e8re une abstraction d\u00e9clarative permettant d&rsquo;interroger, de projeter et d&rsquo;agr\u00e9ger des matrices multidimensionnelles volumineuses \u00e0 l&rsquo;aide d&rsquo;instructions textuelles compactes.<\/p>\n<p>La v\u00e9ritable complexit\u00e9 analytique \u00e9merge d\u00e8s lors qu&rsquo;une simple extraction lin\u00e9aire ne suffit plus \u00e0 isoler les observations signifiantes. L&rsquo;investigation empirique, le contr\u00f4le de gestion pr\u00e9dictif, l&rsquo;\u00e9pid\u00e9miologie quantitative ou le pilotage d&rsquo;indicateurs de performance cl\u00e9s exigent fr\u00e9quemment l&rsquo;application simultan\u00e9e ou alternative de plusieurs filtres logiques. La clause <code>WHERE<\/code> se transforme alors en un espace critique d&rsquo;arbitrage logique o\u00f9 s&rsquo;entrecroisent des pr\u00e9dicats conjonctifs, des conditions disjonctives, des bornes chronologiques et des correspondances de motifs textuels. La ma\u00eetrise de ces m\u00e9canismes constitue une comp\u00e9tence fondamentale pour quiconque souhaite concevoir des architectures informationnelles robustes, dynamiques et p\u00e9rennes au sein de Google Sheets.<\/p>\n<p>Le pr\u00e9sent trait\u00e9 expose de mani\u00e8re exhaustive l&rsquo;ensemble des fondements th\u00e9oriques, des formulations syntaxiques et des consid\u00e9rations architecturales indispensables \u00e0 la mise en \u0153uvre de crit\u00e8res multiples dans la fonction <strong>QUERY<\/strong>. De la logique bool\u00e9enne \u00e9l\u00e9mentaire r\u00e9gissant les op\u00e9rateurs <code>AND<\/code> et <code>OR<\/code> jusqu&rsquo;aux subtilit\u00e9s algorithmiques de l&rsquo;\u00e9valuation court-circuit, en passant par le typage strict des donn\u00e9es temporelles et l&rsquo;optimisation des flux d&rsquo;ex\u00e9cution, cette \u00e9tude d\u00e9taill\u00e9e propose un parcours d&rsquo;ing\u00e9nierie logicielle appliqu\u00e9 \u00e0 l&rsquo;exploitation experte de donn\u00e9es tabulaires.<\/p>\n<h2>1. Fondements th\u00e9oriques de la fonction QUERY et de la clause WHERE<\/h2>\n<h3>1.1 Architecture du langage de requ\u00eate de l&rsquo;API Google Visualization<\/h3>\n<p>La fonction <strong>QUERY<\/strong> ne proc\u00e8de pas d&rsquo;un moteur de calcul interne standard propre aux formules arithm\u00e9tiques traditionnelles des tableurs. Elle constitue en r\u00e9alit\u00e9 une interface d&rsquo;interop\u00e9rabilit\u00e9 directe avec le langage de requ\u00eate de l&rsquo;<a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/developers.google.com\/chart\/interactive\/docs\/querylanguage\">API Google Visualization<\/a>. Cette gen\u00e8se architecturale conf\u00e8re \u00e0 la fonction une filiation directe avec le standard de mod\u00e9lisation relationnelle d\u00e9fini par Edgar F. Codd, tout en imposant des contraintes d&rsquo;ex\u00e9cution sp\u00e9cifiques dict\u00e9es par les technologies web sous-jacentes. L&rsquo;\u00e9valuation s&rsquo;effectue par la s\u00e9rialisation d&rsquo;une cha\u00eene de caract\u00e8res repr\u00e9sentant l&rsquo;instruction logique, laquelle est ensuite transmise \u00e0 un interpr\u00e9teur syntaxique d\u00e9di\u00e9 charg\u00e9 de compiler le texte en un arbre syntaxique abstrait avant d&rsquo;it\u00e9rer sur la structure matricielle source.<\/p>\n<p>Cette conception implique que l&rsquo;ensemble des r\u00e8gles de s\u00e9lection, de projection et d&rsquo;agr\u00e9gation r\u00e9side au sein d&rsquo;un bloc textuel unique pass\u00e9 en second argument de la fonction. Contrairement aux m\u00e9canismes distribu\u00e9s des fonctions natives matricielles, l&rsquo;API impose un typage monolithique par colonne. Lorsqu&rsquo;une plage de cellules est soumise \u00e0 la fonction, le compilateur proc\u00e8de \u00e0 une analyse statistique de chaque colonne pour en d\u00e9terminer le type pr\u00e9dominant : cha\u00eene textuelle, nombre d\u00e9cimal, date, horodatage ou valeur bool\u00e9enne. Toute valeur minoritaire pr\u00e9sentant une dissonance de type vis-\u00e0-vis de la majorit\u00e9 \u00e9tablie est syst\u00e9matiquement consid\u00e9r\u00e9e comme une valeur nulle (<code>null<\/code>), ce qui alt\u00e8re radicalement l&rsquo;int\u00e9grit\u00e9 des filtres conditionnels subs\u00e9quents.<\/p>\n<p>Face aux architectures bas\u00e9es sur des fonctions imbriqu\u00e9es telles que <code>FILTER<\/code>, <code>SUMIFS<\/code> ou des arborescences de <code>IFS<\/code>, l&rsquo;utilisation de <strong>QUERY<\/strong> apporte une r\u00e9duction substantielle de la charge cognitive li\u00e9e \u00e0 la maintenance des formules. L\u00e0 o\u00f9 une cha\u00eene de fonctions classiques impose de r\u00e9pliquer les coordonn\u00e9es de plages vectorielles pour chaque pr\u00e9dicat logique additionnel, l&rsquo;instruction <strong>QUERY<\/strong> s&rsquo;appuie sur une r\u00e9f\u00e9rence unique \u00e0 la table matricielle d&rsquo;origine et d\u00e9signe les colonnes par leurs identifiants alphab\u00e9tiques litt\u00e9raux (A, B, C) ou positionnels (Col1, Col2, Col3). Il en r\u00e9sulte une s\u00e9paration nette entre les donn\u00e9es brutes et la logique de traitement, assurant une portabilit\u00e9 et une modularit\u00e9 structurelle incomparables pour les applications analytiques complexes.<\/p>\n<h3>1.2 R\u00f4le structurel de la clause WHERE dans l&rsquo;extraction s\u00e9lective<\/h3>\n<p>Au sein de la grammaire formelle du langage de visualisation, la clause <code>WHERE<\/code> op\u00e8re comme le tamis s\u00e9lectif primaire. Sur le plan de la logique math\u00e9matique, elle correspond \u00e0 l&rsquo;op\u00e9rateur de restriction (ou s\u00e9lection) de l&rsquo;alg\u00e8bre relationnelle, formellement not\u00e9 \u00e0 l&rsquo;aide de la lettre grecque sigma (&sigma;). Son r\u00f4le structurel consiste \u00e0 \u00e9valuer, de fa\u00e7on unitaire et s\u00e9quentielle pour chaque ligne de la matrice de donn\u00e9es, un pr\u00e9dicat logique dont la r\u00e9sultante bool\u00e9enne d\u00e9termine sans ambigu\u00eft\u00e9 l&rsquo;inclusion ou l&rsquo;exclusion du tuple correspondant dans l&rsquo;ensemble de sortie projet\u00e9.<\/p>\n<p>Le traitement ligne par ligne repose sur une \u00e9valuation d\u00e9terministe o\u00f9 chaque champ de la ligne active est confront\u00e9 aux expressions d\u00e9clar\u00e9es dans le pr\u00e9dicat. Si la proposition logique globale relative \u00e0 un tuple s&rsquo;\u00e9value \u00e0 <strong>TRUE<\/strong>, la ligne conserve sa position et transite vers les \u00e9tapes ult\u00e9rieures du pipeline de traitement, telles que l&rsquo;agr\u00e9gation (<code>GROUP BY<\/code>), le tri (<code>ORDER BY<\/code>) ou le dimensionnement (<code>LIMIT<\/code>, <code>OFFSET<\/code>). \u00c0 l&rsquo;inverse, si l&rsquo;\u00e9valuation produit un r\u00e9sultat <strong>FALSE<\/strong> ou ind\u00e9termin\u00e9 par suite d&rsquo;une r\u00e9f\u00e9rence \u00e0 une valeur nulle non explicitement prise en charge, la ligne est irr\u00e9m\u00e9diablement \u00e9cart\u00e9e de la m\u00e9moire tampon de restitution.<\/p>\n<p>Cette s\u00e9lection s\u00e9lective exerce un impact direct et imm\u00e9diat sur la r\u00e9duction de dimensionnalit\u00e9 des matrices manipul\u00e9es. En r\u00e9duisant drastiquement la cardinalit\u00e9 de l&rsquo;\u00e9chantillon d\u00e8s les premi\u00e8res phases du cycle computationnel, la clause <code>WHERE<\/code> restreint l&#8217;empreinte m\u00e9moire requise pour l&rsquo;ex\u00e9cution des op\u00e9rations complexes ult\u00e9rieures. Dans le contexte de jeux de donn\u00e9es massifs approchant les limites impos\u00e9es par Google Sheets (plusieurs millions de cellules), l&rsquo;optimisation rigoureuse de ce pr\u00e9dicat repr\u00e9sente la m\u00e9thode par excellence pour endiguer la d\u00e9gradation des temps de r\u00e9ponse et \u00e9viter la saturation du thread principal d&rsquo;ex\u00e9cution JavaScript du navigateur.<\/p>\n<h2>2. Syntaxe fondamentale et logique bool\u00e9enne des op\u00e9rateurs AND et OR<\/h2>\n<h3>2.1 Alg\u00e8bre bool\u00e9enne appliqu\u00e9e aux requ\u00eates tabulaires<\/h3>\n<p>L&rsquo;articulation de crit\u00e8res d&rsquo;extraction multiples repose sur les lois fondamentales de l&rsquo;alg\u00e8bre de Boole, formalis\u00e9es au XIXe si\u00e8cle par George Boole et adapt\u00e9es depuis lors aux sciences computationnelles. Dans l&rsquo;\u00e9cosyst\u00e8me de la fonction <strong>QUERY<\/strong>, la composition logique s&rsquo;\u00e9tablit principalement par l&rsquo;interm\u00e9diaire des conjonctions (<code>AND<\/code>) et des disjonctions (<code>OR<\/code>). La conjonction logique exige la simultan\u00e9it\u00e9 stricte de validit\u00e9 des propositions : l&rsquo;expression globale <code>(P AND Q)<\/code> n&rsquo;est d\u00e9clar\u00e9e vraie que si et seulement si le pr\u00e9dicat <code>P<\/code> est vrai et le pr\u00e9dicat <code>Q<\/code> est simultan\u00e9ment vrai. Dans une perspective ensembliste, l&rsquo;op\u00e9rateur <code>AND<\/code> mod\u00e9lise rigoureusement l&rsquo;intersection de sous-ensembles g\u00e9om\u00e9triques au sein de l&rsquo;espace d&rsquo;\u00e9chantillonnage.<\/p>\n<p>\u00c0 l&rsquo;oppos\u00e9, la disjonction logique <code>OR<\/code> concr\u00e9tise l&rsquo;union ensembliste inclusive. L&rsquo;assertion <code>(P OR Q)<\/code> s&rsquo;\u00e9value \u00e0 l&rsquo;\u00e9tat vrai d\u00e8s lors qu&rsquo;au moins l&rsquo;une des conditions p\u00e9riph\u00e9riques est satisfaite, englobant ainsi les occurrences o\u00f9 <code>P<\/code> est vrai, o\u00f9 <code>Q<\/code> est vrai, ainsi que les configurations o\u00f9 les deux pr\u00e9dicats co\u00efncident dans la v\u00e9rit\u00e9. Cette caract\u00e9ristique inclusive doit \u00eatre distingu\u00e9e de la disjonction exclusive (XOR), non impl\u00e9ment\u00e9e nativement sous forme d&rsquo;op\u00e9rateur lexical dans l&rsquo;interpr\u00e9teur de Google Sheets, et qui n\u00e9cessiterait une d\u00e9composition logique plus lourde pour isoler les cas d&rsquo;incompatibilit\u00e9 mutuelle.<\/p>\n<p>L&rsquo;impl\u00e9mentation de ces op\u00e9rateurs impose une discipline typographique rigoureuse au niveau syntaxique. Les mots-cl\u00e9s <code>AND<\/code> et <code>OR<\/code> doivent obligatoirement \u00eatre r\u00e9dig\u00e9s en lettres majuscules afin de garantir leur d\u00e9tection imm\u00e9diate par l&rsquo;analyseur lexical de l&rsquo;API. De surcro\u00eet, chaque proposition atomique de comparaison doit \u00eatre d\u00e9limit\u00e9e de mani\u00e8re explicite : les litt\u00e9raux textuels doivent imp\u00e9rativement \u00eatre ceints d&rsquo;apostrophes simples (par exemple <code>'Paris'<\/code>), tandis que les valeurs num\u00e9riques demeurent brutes afin d&rsquo;\u00e9viter toute ambigu\u00eft\u00e9 s\u00e9mantique entre une variable arithm\u00e9tique et une \u00e9tiquette textuelle.<\/p>\n<h3>2.2 Comparateurs arithm\u00e9tiques et relationnels utilisables avec les crit\u00e8res<\/h3>\n<p>Pour construire des pr\u00e9dicats \u00e9l\u00e9mentaires combinables par la suite via des op\u00e9rateurs bool\u00e9ens, l&rsquo;analyste dispose d&rsquo;un \u00e9ventail complet de comparateurs relationnels normalis\u00e9s. L&rsquo;\u00e9galit\u00e9 stricte s&rsquo;exprime \u00e0 l&rsquo;aide de l&rsquo;op\u00e9rateur <code>=<\/code>, tandis que la non-\u00e9galit\u00e9 peut \u00eatre formul\u00e9e indistinctement via <code>!=<\/code> ou la notation canonique SQL <code>&lt;&gt;<\/code>. Ces op\u00e9rateurs d&rsquo;\u00e9quivalence s&rsquo;appliquent aussi bien aux dimensions qualitatives (cha\u00eenes de caract\u00e8res) qu&rsquo;aux dimensions quantitatives (nombres scalaires, dates, pourcentages d\u00e9cimaux), sous r\u00e9serve d&rsquo;une conformit\u00e9 absolue des types de donn\u00e9es en pr\u00e9sence.<\/p>\n<p>Les comparaisons d&rsquo;ordre exploitent les symboles s\u00e9quentiels traditionnels : strictement sup\u00e9rieur (<code>&gt;<\/code>), strictement inf\u00e9rieur (<code>&lt;<\/code>), sup\u00e9rieur ou \u00e9gal (<code>&gt;=<\/code>), et inf\u00e9rieur ou \u00e9gal (<code>&lt;=<\/code>). Lorsqu&rsquo;ils s&rsquo;appliquent \u00e0 des variables quantitatives, leur s\u00e9mantique renvoie \u00e0 la topologie classique de la droite r\u00e9elle. En revanche, lorsqu&rsquo;ils sont appliqu\u00e9s \u00e0 des cha\u00eenes textuelles, ces comparateurs adoptent une logique de classement lexicographique bas\u00e9e sur les valeurs de points de code Unicode de chaque caract\u00e8re successif, ce qui engendre des comportements parfois surprenants si des conventions de normalisation de casse ne sont pas scrupuleusement appliqu\u00e9es en amont.<\/p>\n<p>La coh\u00e9rence d&rsquo;\u00e9valuation d\u00e9pend d&rsquo;une r\u00e8gle fondamentale : l&rsquo;interdiction des comparaisons h\u00e9t\u00e9rog\u00e8nes directes. Tenter d&rsquo;\u00e9valuer si une colonne num\u00e9rique est sup\u00e9rieure \u00e0 un litt\u00e9ral textuel (par exemple une clause erron\u00e9e du type <code>WHERE A &gt; '100'<\/code> alors que la colonne A contient des entiers) conduit in\u00e9luctablement \u00e0 un \u00e9chec d&rsquo;interpr\u00e9tation ou \u00e0 l&rsquo;expulsion int\u00e9grale des donn\u00e9es lors du traitement. Une compr\u00e9hension aigu\u00eb des relations d&rsquo;ordre et de la typologie des champs est le pr\u00e9requis inviolable \u00e0 toute architecture de filtrage multicrit\u00e8re sophistiqu\u00e9e.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/multipleCrit1.png\" alt=\"\" \/><\/figure>\n<h2>3. Impl\u00e9mentation rigoureuse de l&rsquo;op\u00e9rateur AND pour le filtrage cumulatif<\/h2>\n<h3>3.1 Filtrage simultan\u00e9 sur une dimension cat\u00e9gorielle et une variable quantitative<\/h3>\n<p>Le cas d&rsquo;usage le plus omnipr\u00e9sent en ing\u00e9nierie d\u00e9cisionnelle r\u00e9side dans la s\u00e9lection simultan\u00e9e d&rsquo;un segment cat\u00e9goriel sp\u00e9cifique et d&rsquo;une plage de performance quantitative. Consid\u00e9rons une matrice op\u00e9rationnelle s&rsquo;\u00e9tendant de la cellule <code>A1<\/code> \u00e0 <code>E1000<\/code>, dans laquelle la colonne <code>B<\/code> consigne le secteur g\u00e9ographique d&rsquo;une transaction financi\u00e8re sous forme de cha\u00eene de caract\u00e8res, et la colonne <code>D<\/code> enregistre le montant brut factur\u00e9 sous forme de valeur mon\u00e9taire d\u00e9cimale. Si l&rsquo;objectif analytique consiste \u00e0 restreindre l&rsquo;affichage aux transactions conclues dans la r\u00e9gion \u00ab\u00a0Europe\u00a0\u00bb dont la valorisation exc\u00e8de strictement 15 000 euros, l&rsquo;intersection logique s&rsquo;exprime par la syntaxe canonique suivante :<\/p>\n<p><code>=QUERY(A1:E1000; \"SELECT * WHERE B = 'Europe' AND D &gt; 15000\"; 1)<\/code><\/p>\n<p>Sur le plan structurel, le moteur de calcul lit la premi\u00e8re ligne apr\u00e8s l&rsquo;en-t\u00eate, \u00e9value si la valeur textuelle de la colonne B correspond bit \u00e0 bit \u00e0 la s\u00e9quence de caract\u00e8res \u00ab\u00a0Europe\u00a0\u00bb, puis v\u00e9rifie si le champ num\u00e9rique de la colonne D satisfait \u00e0 l&rsquo;in\u00e9galit\u00e9 stricte. L&rsquo;op\u00e9rateur <code>AND<\/code> garantit que si une transaction affiche un montant de 25 000 euros mais se situe dans le secteur \u00ab\u00a0Asie\u00a0\u00bb, la condition globale s&rsquo;effondre \u00e0 <strong>FALSE<\/strong>, \u00e9cartant la ligne sans ambigu\u00eft\u00e9. De m\u00eame, une vente europ\u00e9enne s&rsquo;\u00e9levant \u00e0 12 000 euros est imm\u00e9diatement rejet\u00e9e.<\/p>\n<p>Cette conjonction assure une \u00e9tanch\u00e9it\u00e9 absolue de l&rsquo;intersection math\u00e9matique. L&rsquo;ordre des facteurs autour du connecteur <code>AND<\/code> n&rsquo;exerce aucune influence sur le r\u00e9sultat s\u00e9mantique final en vertu de la commutativit\u00e9 universelle de la conjonction logique. Toutefois, il est fortement recommand\u00e9 sur le plan m\u00e9thodologique d&rsquo;aligner l&rsquo;ordre des pr\u00e9dicats sur la structure chronologique ou hi\u00e9rarchique de l&rsquo;analyse afin de maximiser l&rsquo;intelligibilit\u00e9 de la formule pour les auditeurs du mod\u00e8le de donn\u00e9es.<\/p>\n<h3>3.2 Multiplication des conditions cumulatives sur trois colonnes ou plus<\/h3>\n<p>L&rsquo;extension de la granularit\u00e9 d&rsquo;un filtre analytique requiert souvent de concat\u00e9ner s\u00e9quentiellement trois pr\u00e9dicats logiques ou davantage. Lorsque les crit\u00e8res d&rsquo;extraction s&rsquo;accumulent pour cerner un micro-segment hautement sp\u00e9cifique, la clause <code>WHERE<\/code> encha\u00eene les op\u00e9rateurs <code>AND<\/code> au sein d&rsquo;une cha\u00eene syntaxique lin\u00e9aire. En reprenant la matrice pr\u00e9c\u00e9dente, supposons que nous souhaitions isoler les op\u00e9rations relatives au secteur \u00ab\u00a0Europe\u00a0\u00bb (colonne B), dont le montant surpasse 15 000 euros (colonne D), ex\u00e9cut\u00e9es par le commercial r\u00e9f\u00e9renc\u00e9 sous le matricule \u00ab\u00a0ID_44\u00a0\u00bb (colonne C), et dont le d\u00e9lai de r\u00e8glement constat\u00e9 exc\u00e8de 60 jours (colonne E).<\/p>\n<p>La transcription op\u00e9rationnelle prend la forme d&rsquo;un cha\u00eenage d\u00e9claratif univoque :<\/p>\n<p><code>=QUERY(A1:E1000; \"SELECT A, B, C, D, E WHERE B = 'Europe' AND D &gt; 15000 AND C = 'ID_44' AND E &gt; 60\"; 1)<\/code><\/p>\n<p>L&rsquo;int\u00e9gration de conditions cumulatives multiples impose une vigilance accrue quant \u00e0 l&rsquo;exhaustivit\u00e9 et \u00e0 la consistance interne des filtres. Plus le nombre de pr\u00e9dicats conjonctifs cro\u00eet, plus la probabilit\u00e9 de sur-s\u00e9lectivit\u00e9 augmente, pouvant mener \u00e0 des sous-ensembles vides sans qu&rsquo;aucune erreur de syntaxe logicielle ne soit signal\u00e9e par le tableur. Chaque variable additionnelle introduit une contrainte g\u00e9om\u00e9trique restrictive qui divise l&rsquo;espace d&rsquo;\u00e9chantillonnage initial.<\/p>\n<p>Il est par cons\u00e9quent crucial, lors de la conception d&rsquo;arborescences de filtres multicrit\u00e8res complexes, de valider pr\u00e9alablement la distribution univari\u00e9e de chaque variable. L&rsquo;analyste s&rsquo;assurera ainsi qu&rsquo;aucun crit\u00e8re ne soit intrins\u00e8quement incompatible avec un autre (par exemple exiger qu&rsquo;un champ cat\u00e9goriel soit \u00e9gal \u00e0 une valeur A tout en imposant dans la m\u00eame conjonction qu&rsquo;il soit \u00e9gal \u00e0 une valeur B non superposable), ce qui produirait une contradiction formelle insoluble et une matrice r\u00e9sultante d\u00e9sesp\u00e9r\u00e9ment vierge.<\/p>\n<h2>4. D\u00e9ploiement de l&rsquo;op\u00e9rateur OR pour la s\u00e9lection inclusive et disjonctive<\/h2>\n<h3>4.1 Union de crit\u00e8res au sein d&rsquo;une m\u00eame colonne<\/h3>\n<p>Le recours \u00e0 la disjonction logique <code>OR<\/code> intervient principalement lorsqu&rsquo;il s&rsquo;agit d&rsquo;\u00e9largir le p\u00e9rim\u00e8tre de s\u00e9lection en agr\u00e9geant plusieurs modalit\u00e9s d&rsquo;une m\u00eame dimension analytique. Dans les configurations o\u00f9 une entit\u00e9 d&rsquo;observation peut appartenir indiff\u00e9remment \u00e0 plusieurs classes cat\u00e9gorielles mutuellement exclusives, l&rsquo;utilisation de l&rsquo;op\u00e9rateur <code>AND<\/code> serait absurde, une cellule ne pouvant contenir simultan\u00e9ment deux \u00e9tats scalaires distincts. L&rsquo;op\u00e9rateur <code>OR<\/code> mat\u00e9rialise l&rsquo;union de ces ensembles d&rsquo;occurrences sans n\u00e9cessiter de fractionner la table ou d&rsquo;ex\u00e9cuter de multiples requ\u00eates combin\u00e9es par des op\u00e9rateurs d&#8217;empilement matriciel.<\/p>\n<p>Consid\u00e9rons l&rsquo;extraction de toutes les lignes d&rsquo;un registre de stocks dont le statut de disponibilit\u00e9 (colonne F) correspond soit \u00e0 la valeur \u00ab\u00a0En rupture\u00a0\u00bb, soit \u00e0 la d\u00e9signation \u00ab\u00a0En r\u00e9approvisionnement\u00a0\u00bb. La formulation rigoureuse impose la r\u00e9p\u00e9tition formelle de l&rsquo;identifiant de la colonne dans chaque terme de l&rsquo;expression disjonctive :<\/p>\n<p><code>=QUERY(A1:H500; \"SELECT * WHERE F = 'En rupture' OR F = 'En r\u00e9approvisionnement'\"; 1)<\/code><\/p>\n<p>L&rsquo;omission de l&rsquo;identifiant de la colonne constitue l&rsquo;un des pi\u00e8ges les plus r\u00e9pandus pour les praticiens habitu\u00e9s au langage naturel. Une formulation tronqu\u00e9e de type <code>WHERE F = 'En rupture' OR 'En r\u00e9approvisionnement'<\/code> provoque imm\u00e9diatement un rejet cat\u00e9gorique de l&rsquo;interpr\u00e9teur, sanctionn\u00e9 par une erreur d&rsquo;analyse syntaxique (<code>PARSE_ERROR<\/code>). L&rsquo;interpr\u00e9teur de l&rsquo;API Google Visualization n&rsquo;impl\u00e9mente pas nativement d&rsquo;op\u00e9rateur d&rsquo;appartenance \u00e0 un ensemble discret (tel que l&rsquo;op\u00e9rateur <code>IN<\/code> du standard SQL relationnel ANSI). Par cons\u00e9quent, chaque modalit\u00e9 doit \u00eatre express\u00e9ment reli\u00e9e \u00e0 sa colonne de rattachement au sein d&rsquo;une \u00e9quation relationnelle compl\u00e8te.<\/p>\n<p>Bien que des alternatives syntaxiques utilisant des expressions r\u00e9guli\u00e8res (d\u00e9taill\u00e9es dans les sections ult\u00e9rieures de cet ouvrage) permettent de compresser cette \u00e9criture, la disjonction explicite par <code>OR<\/code> demeure la m\u00e9thode la plus lisible et la moins exigeante sur le plan des ressources computationnelles pour les \u00e9num\u00e9rations courtes comportant deux ou trois alternatives qualitatives.<\/p>\n<h3>4.2 Disjonction appliqu\u00e9e \u00e0 des colonnes h\u00e9t\u00e9rog\u00e8nes<\/h3>\n<p>La puissance d&rsquo;expression de l&rsquo;op\u00e9rateur <code>OR<\/code> s&rsquo;illustre particuli\u00e8rement lorsqu&rsquo;il est mobilis\u00e9 de mani\u00e8re transversale sur des colonnes de natures totalement distinctes. Cette configuration permet de mettre en lumi\u00e8re des observations r\u00e9pondant \u00e0 des crit\u00e8res d&rsquo;alerte dissemblables, par exemple pour isoler des anomalies op\u00e9rationnelles ou des cas de figure d\u00e9viants dans le cadre d&rsquo;un audit de conformit\u00e9.<\/p>\n<p>Imaginons un dispositif d&rsquo;\u00e9valuation de la solvabilit\u00e9 de comptes clients consign\u00e9 dans une matrice tabulaire : la colonne G enregistre les arri\u00e9r\u00e9s de paiement exprim\u00e9s en nombre de jours (grandeur num\u00e9rique continue), tandis que la colonne H consigne une notation de risque qualitative attribu\u00e9e par un organisme externe sous forme d&rsquo;\u00e9tiquettes alphanum\u00e9riques (\u00ab\u00a0Douteux\u00a0\u00bb, \u00ab\u00a0Critique\u00a0\u00bb, \u00ab\u00a0Standard\u00a0\u00bb). Un auditeur financier souhaitant filtrer tout compte pr\u00e9sentant soit un d\u00e9passement d&rsquo;\u00e9ch\u00e9ance sup\u00e9rieur \u00e0 90 jours, soit une notation d\u00e9grad\u00e9e explicitement \u00e9gale \u00e0 \u00ab\u00a0Critique\u00a0\u00bb, formulera l&rsquo;instruction suivante :<\/p>\n<p><code>=QUERY(A1:K2000; \"SELECT A, B, G, H WHERE G &gt; 90 OR H = 'Critique'\"; 1)<\/code><\/p>\n<p>Le comportement du moteur d&rsquo;ex\u00e9cution face aux cellules vides requiert ici une vigilance absolue. Si un enregistrement comporte une valeur nulle ou non renseign\u00e9e au sein de la colonne G, mais que sa colonne H arbore la valeur \u00ab\u00a0Critique\u00a0\u00bb, l&rsquo;\u00e9valuation de la branche disjonctive droite retourne <strong>TRUE<\/strong>. L&rsquo;instruction valide donc l&rsquo;inclusion int\u00e9grale de la ligne sans \u00eatre entrav\u00e9e par le vide structurel du champ arithm\u00e9tique. Cette r\u00e9silience intrins\u00e8que de la disjonction constitue un avantage pr\u00e9cieux pour l&rsquo;exploration de bases de donn\u00e9es h\u00e9t\u00e9rog\u00e8nes, mais elle exige une mod\u00e9lisation rigoureuse pour \u00e9viter que des donn\u00e9es manquantes ne masquent des incoh\u00e9rences fondamentales.<\/p>\n<h2>5. Combinaison complexe de AND et OR : Priorit\u00e9 logique et parenth\u00e9sage<\/h2>\n<h3>5.1 Ordre d&rsquo;\u00e9valuation par d\u00e9faut des pr\u00e9dicats logiques<\/h3>\n<p>\u00c0 l&rsquo;instar des op\u00e9rateurs arithm\u00e9tiques o\u00f9 la multiplication et la division pr\u00e9valent naturellement sur l&rsquo;addition et la soustraction, les op\u00e9rateurs bool\u00e9ens sont assujettis \u00e0 des r\u00e8gles formelles de pr\u00e9c\u00e9dence au sein du compilateur de requ\u00eates. Dans le formalisme de l&rsquo;API Google Visualization, l&rsquo;op\u00e9rateur de conjonction <code>AND<\/code> poss\u00e8de une priorit\u00e9 d&rsquo;\u00e9valuation hi\u00e9rarchique absolue sur l&rsquo;op\u00e9rateur de disjonction <code>OR<\/code>. Cette caract\u00e9ristique signifie qu&rsquo;en l&rsquo;absence de modificateurs explicites, le moteur compile les pr\u00e9dicats adjacents li\u00e9s par un <code>AND<\/code> en une unit\u00e9 relationnelle indivisible avant d&rsquo;incorporer les expressions p\u00e9riph\u00e9riques rattach\u00e9es par un <code>OR<\/code>.<\/p>\n<p>Pour appr\u00e9hender les cons\u00e9quences directes de cette pr\u00e9s\u00e9ance sur l&rsquo;int\u00e9grit\u00e9 des r\u00e9sultats, examinons une requ\u00eate th\u00e9orique formul\u00e9e sans pr\u00e9caution de balisage :<\/p>\n<p><code>SELECT * WHERE R\u00e9gion = 'Nord' OR R\u00e9gion = 'Sud' AND Ventes &gt; 50000<\/code><\/p>\n<p>En vertu de la pr\u00e9c\u00e9dence native, l&rsquo;interpr\u00e9teur d\u00e9compose cette expression sous la forme logique d&rsquo;une alternative entre deux branches : d&rsquo;une part, l&rsquo;appartenance \u00e0 la r\u00e9gion &lsquo;Nord&rsquo;, et d&rsquo;autre part, la conjonction stricte de l&rsquo;appartenance \u00e0 la r\u00e9gion &lsquo;Sud&rsquo; et d&rsquo;un niveau de ventes exc\u00e9dant 50 000 unit\u00e9s. Par cons\u00e9quent, toute ligne affili\u00e9e \u00e0 la r\u00e9gion &lsquo;Nord&rsquo; sera syst\u00e9matiquement projet\u00e9e en sortie, y compris celles dont le chiffre de ventes est \u00e9gal \u00e0 z\u00e9ro ou n\u00e9gatif. L&rsquo;intention analytique initiale, qui visait manifestement \u00e0 s\u00e9lectionner les performances sup\u00e9rieures \u00e0 50 000 unit\u00e9s au sein de la zone g\u00e9ographique composite form\u00e9e par le Nord et le Sud, se trouve ainsi totalement d\u00e9natur\u00e9e par une lecture asym\u00e9trique de l&rsquo;arbre bool\u00e9en.<\/p>\n<h3>5.2 Utilisation des parenth\u00e8ses comme modificateurs d&rsquo;arborescence logique<\/h3>\n<p>L&rsquo;introduction d\u00e9lib\u00e9r\u00e9e de parenth\u00e8ses au sein de la cha\u00eene de s\u00e9lection permet de neutraliser la pr\u00e9c\u00e9dence par d\u00e9faut et d&rsquo;imposer un ordre d&rsquo;\u00e9valuation conforme aux exigences conceptuelles du mod\u00e8le d\u00e9cisionnel. Les parenth\u00e8ses agissent comme des d\u00e9limiteurs de sous-arbres syntaxiques : toute expression log\u00e9e \u00e0 l&rsquo;int\u00e9rieur d&rsquo;une paire de parenth\u00e8ses est r\u00e9solue dans son int\u00e9gralit\u00e9 pr\u00e9alable avant que sa r\u00e9sultante bool\u00e9enne ne soit mise en relation avec les composantes externes de l&rsquo;instruction.<\/p>\n<p>En reprenant l&rsquo;anomalie structurelle expos\u00e9e pr\u00e9c\u00e9demment, la rectification s\u00e9mantique rigoureuse s&rsquo;\u00e9crit :<\/p>\n<p><code>=QUERY(A1:G; \"SELECT * WHERE (R\u00e9gion = 'Nord' OR R\u00e9gion = 'Sud') AND Ventes &gt; 50000\"; 1)<\/code><\/p>\n<p>Gr\u00e2ce \u00e0 cette encapsulation, le moteur de calcul agr\u00e8ge d&rsquo;abord les deux conditions g\u00e9ographiques au sein d&rsquo;une disjonction unifi\u00e9e : la condition interm\u00e9diaire s&rsquo;\u00e9value \u00e0 vrai si l&rsquo;enregistrement rel\u00e8ve de l&rsquo;un ou l&rsquo;autre des deux territoires. Dans un second temps, le compilateur proc\u00e8de \u00e0 la conjonction de cette r\u00e9sultante avec le seuil quantitatif de performance, garantissant ainsi que seules les lignes satisfaisant simultan\u00e9ment \u00e0 l&rsquo;appartenance zonale et \u00e0 l&rsquo;exigence d&rsquo;efficience commerciale franchissent le filtre s\u00e9lectif.<\/p>\n<p>Cette ma\u00eetrise de l&rsquo;encadrement syntaxique autorise la construction d&rsquo;architectures d\u00e9cisionnelles hautement sophistiqu\u00e9es, mod\u00e9lisant par exemple des structures logiques de type <code>(A AND B) OR (C AND D)<\/code>. Une telle syntaxe permet de comparer des profils de performance asym\u00e9triques au sein d&rsquo;une requ\u00eate unique :<\/p>\n<p><code>=QUERY(A1:Z; \"SELECT * WHERE (A = 'Cadre' AND E &gt; 80000) OR (A = 'Employ\u00e9' AND E &gt; 45000)\"; 1)<\/code><\/p>\n<p>Dans ce sc\u00e9nario, chaque sous-condition repr\u00e9sente un calibrage de r\u00e9mun\u00e9ration adapt\u00e9 au statut hi\u00e9rarchique, sans qu&rsquo;aucune interf\u00e9rence crois\u00e9e ne vienne alt\u00e9rer l&rsquo;\u00e9valuation respective des deux cat\u00e9gories d&rsquo;effectifs.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/multipleCrit2.png\" alt=\"\" \/><\/figure>\n<h2>6. Typage des donn\u00e9es et formatage des crit\u00e8res multiples<\/h2>\n<h3>6.1 Traitement des crit\u00e8res num\u00e9riques purs<\/h3>\n<p>La pr\u00e9cision de la fonction <strong>QUERY<\/strong> repose sur un respect scrupuleux des conventions d&rsquo;\u00e9criture propres aux diff\u00e9rents types de scalaires support\u00e9s par l&rsquo;API Google Visualization. Pour les variables quantitatives pures (entiers relatifs, nombres d\u00e9cimaux \u00e0 virgule flottante), la r\u00e8gle primordiale impose l&rsquo;absence absolue de tout d\u00e9limiteur de cha\u00eene de caract\u00e8res. Contrairement aux cha\u00eenes textuelles, ins\u00e9rer un nombre entre apostrophes le convertit instantan\u00e9ment en un litt\u00e9ral textuel dans l&rsquo;analyseur syntaxique, rompant ainsi toute compatibilit\u00e9 avec une colonne typ\u00e9e num\u00e9riquement.<\/p>\n<p>De surcro\u00eet, le s\u00e9parateur d\u00e9cimal admis au sein de la cha\u00eene d&rsquo;instruction textuelle est <em>exclusivement<\/em> le point typographique (<code>.<\/code>), conform\u00e9ment aux standards de programmation internationaux, et ce ind\u00e9pendamment des param\u00e8tres r\u00e9gionaux configur\u00e9s dans votre feuille de calcul (lesquels peuvent employer la virgule comme d\u00e9limiteur d\u00e9cimal dans l&rsquo;interface utilisateur). D\u00e8s lors, pour filtrer une colonne <code>C<\/code> contenant des taux de rendement compris strictement entre 4,5 % et 12,8 %, les crit\u00e8res quantitatifs doivent \u00eatre d\u00e9clar\u00e9s sous leur forme d\u00e9cimale brute ponctu\u00e9e :<\/p>\n<p><code>=QUERY(A1:E; \"SELECT * WHERE C &gt;= 0.045 AND C &lt;= 0.128\"; 1)<\/code><\/p>\n<p>Il est imp\u00e9ratif de souligner que les formats visuels appliqu\u00e9s aux cellules sources \u2014 tels que les symboles mon\u00e9taires (\u20ac, $), les s\u00e9parateurs de milliers ou le suffixe de pourcentage (%) \u2014 n&rsquo;alt\u00e8rent en rien la valeur sous-jacente stock\u00e9e en m\u00e9moire. Le pr\u00e9dicat logique de la clause <code>WHERE<\/code> doit syst\u00e9matiquement s&rsquo;adresser \u00e0 la valeur num\u00e9rique sous-jacente non format\u00e9e. Tenter d&rsquo;int\u00e9grer une cha\u00eene telle que <code>WHERE C &gt;= '4.5%'<\/code> engendre une divergence structurelle fatale conduisant \u00e0 l&rsquo;invalidation pure et simple du filtre.<\/p>\n<h3>6.2 Traitement des cha\u00eenes de caract\u00e8res et de la sensibilit\u00e9 \u00e0 la casse<\/h3>\n<p>Les donn\u00e9es textuelles (cha\u00eenes de caract\u00e8res) n\u00e9cessitent d&rsquo;\u00eatre encapsul\u00e9es de mani\u00e8re syst\u00e9matique \u00e0 l&rsquo;aide de guillemets simples (ou apostrophes dactylographiques <code>'...'<\/code>). Cette encapsulation permet \u00e0 l&rsquo;interpr\u00e9teur de diff\u00e9rencier les constantes lexicales des mots-cl\u00e9s r\u00e9serv\u00e9s du langage (\u00e0 l&rsquo;instar de <code>SELECT<\/code>, <code>WHERE<\/code>, <code>AND<\/code>, <code>TRUE<\/code>) et des identifiants structurels de colonnes. Une cha\u00eene d\u00e9pourvue de cette protection sera trait\u00e9e par erreur comme une r\u00e9f\u00e9rence d&rsquo;identifiant inexistant, provoquant une interruption imm\u00e9diate du processus d&rsquo;analyse.<\/p>\n<p>Une caract\u00e9ristique d\u00e9terminante de l&rsquo;API r\u00e9side dans son traitement strictement sensible \u00e0 la casse (<em>case sensitivity<\/em>) lors de l&rsquo;usage des op\u00e9rateurs relationnels standards. L&rsquo;assertion <code>B = 'Technologie'<\/code> rejettera cat\u00e9goriquement un enregistrement h\u00e9bergeant la cha\u00eene \u00ab\u00a0technologie\u00a0\u00bb ou \u00ab\u00a0TECHNOLOGIE\u00a0\u00bb. Cette sensibilit\u00e9 binaire peut s&rsquo;av\u00e9rer dommageable lors de l&rsquo;exploitation de jeux de donn\u00e9es composites aliment\u00e9s manuellement par plusieurs collaborateurs, o\u00f9 les variations de casse sont monnaie courante.<\/p>\n<p>Pour neutraliser cette contrainte et instaurer une tol\u00e9rance totale vis-\u00e0-vis de la typographie, il convient de mobiliser les fonctions scalaires de conversion de casse int\u00e9gr\u00e9es au langage de requ\u00eate, \u00e0 savoir <code>lower()<\/code> ou <code>upper()<\/code>. En appliquant la transformation \u00e0 la fois sur l&rsquo;identifiant de la colonne et sur la constante de r\u00e9f\u00e9rence, l&rsquo;analyste homog\u00e9n\u00e9ise le champ de comparaison :<\/p>\n<p><code>=QUERY(A1:D; \"SELECT * WHERE lower(B) = 'technologie' AND C &gt; 100\"; 1)<\/code><\/p>\n<p>Par ce proc\u00e9d\u00e9 \u00e9l\u00e9gant, quelle que soit la morphologie de la cha\u00eene stock\u00e9e dans la cellule (qu&rsquo;il s&rsquo;agisse de \u00ab\u00a0TechNoLogie\u00a0\u00bb, \u00ab\u00a0TECHNOLOGIE\u00a0\u00bb ou \u00ab\u00a0technologie\u00a0\u00bb), la conversion \u00e0 la vol\u00e9e en minuscules garantit la d\u00e9tection positive de l&rsquo;occurrence, pr\u00e9servant la robustesse du filtrage multicrit\u00e8re face aux approximations de saisie.<\/p>\n<h3>6.3 Prise en charge des dates temporelles comme crit\u00e8res combin\u00e9s<\/h3>\n<p>La manipulation des grandeurs chronologiques au sein de la fonction <strong>QUERY<\/strong> requiert une rigueur protocolaire exceptionnelle qui d\u00e9route fr\u00e9quemment les utilisateurs chevronn\u00e9s de tableurs. En raison de sa structure calqu\u00e9e sur les types de donn\u00e9es de l&rsquo;API de visualisation, une date ne peut pas \u00eatre inject\u00e9e sous forme de cha\u00eene brute classique ou de num\u00e9ro de s\u00e9rie de date sous-jacent. Elle doit obligatoirement \u00eatre pr\u00e9c\u00e9d\u00e9e du mot-cl\u00e9 d\u00e9clarateur <code>date<\/code> et suivre scrupuleusement la norme internationale ISO 8601, formalis\u00e9e selon le patron d&rsquo;\u00e9criture strict <code>AAAA-MM-JJ<\/code>.<\/p>\n<p>Pour restreindre une extraction tabulaire aux transactions formalis\u00e9es au cours d&rsquo;un intervalle temporel ferm\u00e9 \u2014 par exemple l&rsquo;int\u00e9gralit\u00e9 de l&rsquo;exercice fiscal 2024 \u2014, la clause <code>WHERE<\/code> doit combiner deux pr\u00e9dicats d&rsquo;ordre temporel conjoints via l&rsquo;op\u00e9rateur <code>AND<\/code> :<\/p>\n<p><code>=QUERY(A1:F; \"SELECT * WHERE A &gt;= date '2024-01-01' AND A &lt;= date '2024-12-31'\"; 1)<\/code><\/p>\n<p>Toute d\u00e9viation par rapport \u00e0 ce sch\u00e9ma formel (telle que l&rsquo;omission du mot-cl\u00e9 <code>date<\/code> ou l&rsquo;usage d&rsquo;un agencement r\u00e9gional de type <code>date '31\/12\/2024'<\/code>) se solde invariablement par une erreur d&rsquo;ex\u00e9cution. Le compilateur attend l&rsquo;annotation d&rsquo;un litt\u00e9ral typ\u00e9 et ne tentera aucune conversion implicite.<\/p>\n<p>Lorsque la dimension temporelle incorpore une composante horaire pr\u00e9cise (horodatages complets), le langage substitue au mot-cl\u00e9 pr\u00e9c\u00e9dent le marqueur <code>datetime<\/code>, lequel exige le format unifi\u00e9 <code>datetime 'AAAA-MM-JJ HH:MM:SS'<\/code>. Enfin, pour les enregistrements exclusivement horaires d\u00e9connect\u00e9s de toute ancre calendaire, l&rsquo;instruction recourt au mot-cl\u00e9 <code>timeofday<\/code> associ\u00e9 \u00e0 la syntaxe <code>timeofday 'HH:MM:SS'<\/code>. La ma\u00eetrise de ces d\u00e9clarateurs typ\u00e9s permet de sculpter des fen\u00eatres d&rsquo;observation temporelles d&rsquo;une pr\u00e9cision millim\u00e9trique au sein des bases d&rsquo;\u00e9v\u00e9nements volumineuses.<\/p>\n<h2>7. Exploitation des op\u00e9rateurs de recherche textuelle avanc\u00e9e avec crit\u00e8res logiques<\/h2>\n<h3>7.1 L&rsquo;op\u00e9rateur CONTAINS combin\u00e9 aux clauses logiques<\/h3>\n<p>Au-del\u00e0 de la stricte \u00e9galit\u00e9 morphologique, l&rsquo;exploration de corpus de donn\u00e9es op\u00e9rationnelles n\u00e9cessite fr\u00e9quemment d&rsquo;interroger le contenu informationnel interne d&rsquo;un champ s\u00e9mantique sans exiger la concordance int\u00e9grale du texte. \u00c0 cette fin, le langage de requ\u00eate propose l&rsquo;op\u00e9rateur relationnel <code>CONTAINS<\/code>. Celui-ci \u00e9value si une sous-cha\u00eene textuelle sp\u00e9cifique est physiquement pr\u00e9sente au sein de la cible consid\u00e9r\u00e9e. Tout comme pour l&rsquo;\u00e9galit\u00e9 classique, <code>CONTAINS<\/code> est intrins\u00e8quement sensible \u00e0 la casse, rendant souvent judicieux l&#8217;emploi conjoint de la fonction <code>lower()<\/code>.<\/p>\n<p>Dans un contexte multicrit\u00e8re, cet op\u00e9rateur autorise l&rsquo;intersection de motifs th\u00e9matiques avec des filtres quantitatifs ou cat\u00e9goriels. Supposons une base d&rsquo;inventaire informatique dont la colonne B recense la d\u00e9signation commerciale des \u00e9quipements et la colonne D leur quantit\u00e9 en r\u00e9serve. Pour isoler l&rsquo;ensemble des postes de travail portables de la marque \u00ab\u00a0Dell\u00a0\u00bb dont le niveau de stock r\u00e9siduel est strictement inf\u00e9rieur \u00e0 5 unit\u00e9s, l&rsquo;instruction s&rsquo;articule ainsi :<\/p>\n<p><code>=QUERY(A1:E500; \"SELECT A, B, D WHERE B CONTAINS 'Dell' AND D &lt; 5\"; 1)<\/code><\/p>\n<p>Il est fondamental de dissocier conceptuellement <code>CONTAINS<\/code> de l&rsquo;op\u00e9rateur d&rsquo;\u00e9galit\u00e9 <code>=<\/code>. Alors que <code>B = 'Dell'<\/code> postule l&rsquo;identit\u00e9 absolue du contenu de la cellule avec le mot \u00ab\u00a0Dell\u00a0\u00bb (rejetant toute mention additionnelle telle que \u00ab\u00a0Dell Latitude 5420\u00a0\u00bb), <code>B CONTAINS 'Dell'<\/code> valide l&rsquo;inclusion d\u00e8s lors que la s\u00e9quence de quatre octets cons\u00e9cutifs D-e-l-l appara\u00eet n&rsquo;importe o\u00f9 dans la trame textuelle. La combinaison de plusieurs pr\u00e9dicats <code>CONTAINS<\/code> via des op\u00e9rateurs <code>AND<\/code> ou <code>OR<\/code> permet d&rsquo;ex\u00e9cuter des recherches documentaires th\u00e9matiques tr\u00e8s performantes directement dans Google Sheets.<\/p>\n<h3>7.2 L&rsquo;op\u00e9rateur STARTS WITH et ENDS WITH en contexte multicrit\u00e8re<\/h3>\n<p>Le traitement des nomenclatures codifi\u00e9es, des identifiants industriels, des num\u00e9ros de s\u00e9ries normalis\u00e9s ou des nomenclatures comptables fait largement appel \u00e0 des conventions de pr\u00e9fixes et de suffixes. Pour exploiter ces architectures d&rsquo;encodage sans recourir imm\u00e9diatement \u00e0 l&rsquo;arsenal plus lourd des moteurs d&rsquo;expressions r\u00e9guli\u00e8res, le langage de Google Visualization met \u00e0 disposition les op\u00e9rateurs sp\u00e9cialis\u00e9s <code>STARTS WITH<\/code> (commence par) et <code>ENDS WITH<\/code> (se termine par).<\/p>\n<p>Consid\u00e9rons un plan comptable g\u00e9n\u00e9ralis\u00e9 consign\u00e9 dans une feuille de calcul : la colonne A r\u00e9pertorie les num\u00e9ros de comptes d&rsquo;imputation sous forme textuelle, la colonne B leur intitul\u00e9 litt\u00e9ral, et la colonne C le solde net constat\u00e9. Si un auditeur souhaite extraire l&rsquo;ensemble des comptes de charges de personnel dont l&rsquo;identifiant d\u00e9bute formellement par le pr\u00e9fixe \u00ab\u00a064\u00a0\u00bb tout en isolant parall\u00e8lement les comptes de dotations aux amortissements d\u00e9butant par \u00ab\u00a068\u00a0\u00bb, le tout pour des montants d\u00e9biteurs sup\u00e9rieurs \u00e0 10 000 euros, la requ\u00eate mobilise harmonieusement parenth\u00e8ses, disjonctions de pr\u00e9fixes et conjonction arithm\u00e9tique :<\/p>\n<p><code>=QUERY(A1:D; \"SELECT A, B, C WHERE (A STARTS WITH '64' OR A STARTS WITH '68') AND C &gt; 10000\"; 1)<\/code><\/p>\n<p>Sym\u00e9triquement, l&rsquo;op\u00e9rateur <code>ENDS WITH<\/code> permet d&rsquo;interroger les terminaisons textuelles r\u00e9currentes, par exemple pour isoler des fichiers h\u00e9berg\u00e9s selon leur extension de d\u00e9nomination (<code>Nom ENDS WITH '.pdf'<\/code>) ou identifier des comptes auxiliaires sectoris\u00e9s par un suffixe g\u00e9ographique constant. Bien que ces op\u00e9rateurs d&rsquo;ancrage soient nettement plus performants sur le plan computationnel que l&rsquo;exploration globale d&rsquo;une sous-cha\u00eene via <code>CONTAINS<\/code>, leur utilisation intensive sur des plages exc\u00e9dant plusieurs centaines de milliers de lignes requiert une mod\u00e9lisation pr\u00e9alable \u00e9pur\u00e9e afin d&rsquo;\u00e9viter tout ralentissement du rafra\u00eechissement dynamique des classeurs.<\/p>\n<h3>7.3 Utilisation de l&rsquo;op\u00e9rateur MATCHES et des expressions r\u00e9guli\u00e8res<\/h3>\n<p>L&rsquo;op\u00e9rateur <code>MATCHES<\/code> constitue l&rsquo;instrument le plus perfectionn\u00e9 et le plus dense de l&rsquo;arsenal de filtrage textuel de la fonction <strong>QUERY<\/strong>. Il introduit la puissance d&rsquo;analyse du moteur des <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Regular_expression\">expressions r\u00e9guli\u00e8res (Regex)<\/a> au c\u0153ur m\u00eame de la clause <code>WHERE<\/code>. Contrairement aux impl\u00e9mentations Regex permissives qui valident les correspondances partielles au fil de l&rsquo;eau, l&rsquo;op\u00e9rateur <code>MATCHES<\/code> impose que le motif r\u00e9gulier s&rsquo;ajuste \u00e0 l&rsquo;int\u00e9gralit\u00e9 de la cha\u00eene analys\u00e9e, du premier au dernier caract\u00e8re.<\/p>\n<p>L&rsquo;un des avantages conceptuels majeurs de <code>MATCHES<\/code> dans la formulation de crit\u00e8res multiples r\u00e9side dans sa capacit\u00e9 intrins\u00e8que \u00e0 synth\u00e9tiser en une expression atomique concise de longues cha\u00eenes d&rsquo;op\u00e9rateurs <code>OR<\/code>. Par exemple, au lieu d&rsquo;aligner fastidieusement une succession de clauses disjonctives pour s\u00e9lectionner des donn\u00e9es r\u00e9parties entre la France, la Belgique, la Suisse et le Luxembourg, il est possible d&rsquo;exploiter la barre verticale de disjonction (le m\u00e9tacaract\u00e8re de tuyau <code>|<\/code>) propre aux expressions r\u00e9guli\u00e8res :<\/p>\n<p><code>=QUERY(A1:E; \"SELECT * WHERE B MATCHES 'France|Belgique|Suisse|Luxembourg' AND D &gt; 5000\"; 1)<\/code><\/p>\n<p>L&rsquo;association des m\u00e9tacaract\u00e8res d&rsquo;alternance avec les op\u00e9rateurs logiques permet de r\u00e9soudre des probl\u00e8mes d&rsquo;une haute complexit\u00e9 structurelle. Si l&rsquo;on doit filtrer des identifiants alphanum\u00e9riques complexes (colonne A) respectant une nomenclature stricte \u2014 tels que deux lettres quelconques suivies de trois chiffres et d&rsquo;un suffixe pr\u00e9cis \u2014 tout en exigeant qu&rsquo;une colonne de valorisation (colonne C) se situe dans une fourchette sp\u00e9cifique, <code>MATCHES<\/code> fournit une solution d&rsquo;une densit\u00e9 syntaxique sans \u00e9gale :<\/p>\n<p><code>=QUERY(A1:D; \"SELECT * WHERE A MATCHES '[A-Z]{2}[0-9]{3}-(FR|BE)' AND C &gt; 1000\"; 1)<\/code><\/p>\n<p>Cette condensation logique all\u00e8ge consid\u00e9rablement la complexit\u00e9 de l&rsquo;arbre syntaxique abstrait g\u00e9n\u00e9r\u00e9 par l&rsquo;API de visualisation, permettant de substituer des pr\u00e9dicats disjonctifs multiples par une r\u00e8gle de grammaire r\u00e9guli\u00e8re unifi\u00e9e particuli\u00e8rement v\u00e9loce.<\/p>\n<h2>8. Param\u00e9trage dynamique des crit\u00e8res via r\u00e9f\u00e9rences de cellules externes<\/h2>\n<h3>8.1 Technique de concat\u00e9nation de cha\u00eenes avec l&rsquo;op\u00e9rateur &amp;<\/h3>\n<p>Dans un contexte professionnel abouti, la codification \u00ab\u00a0en dur\u00a0\u00bb de crit\u00e8res fig\u00e9s au sein de la cha\u00eene textuelle de la requ\u00eate constitue un anti-patron de conception. Elle condamne l&rsquo;utilisateur final \u00e0 modifier manuellement la syntaxe interne de la formule d\u00e8s qu&rsquo;un param\u00e8tre op\u00e9rationnel fluctue, augmentant exponentiellement le risque de corruption de code. L&rsquo;ing\u00e9nierie des feuilles de calcul impose de d\u00e9porter les param\u00e8tres de filtrage vers des cellules de contr\u00f4le externes d\u00e9di\u00e9es, puis d&rsquo;injecter dynamiquement leur contenu au sein du flux d&rsquo;instruction via des op\u00e9rations de concat\u00e9nation exploitant l&rsquo;op\u00e9rateur esperluette (<code>&amp;<\/code>).<\/p>\n<p>Cette technique exige une gymnastique intellectuelle rigoureuse concernant la fermeture et la r\u00e9ouverture des guillemets d\u00e9limitant la cha\u00eene de requ\u00eate, ainsi que l&rsquo;incorporation m\u00e9ticuleuse des apostrophes indispensables \u00e0 la reconnaissance des litt\u00e9raux. Consid\u00e9rons une cellule d&rsquo;entr\u00e9e <code>H1<\/code> h\u00e9bergeant un nom de ville, et une cellule <code>H2<\/code> d\u00e9finissant un montant plancher de facturation. Pour injecter ces crit\u00e8res conjoints dans une requ\u00eate pointant vers la matrice <code>A1:E100<\/code>, la construction proc\u00e8de par segmentations textuelles successives :<\/p>\n<p><code>=QUERY(A1:E100; \"SELECT * WHERE A = '\" &amp; H1 &amp; \"' AND C &gt;= \" &amp; H2; 1)<\/code><\/p>\n<p>Analysons la d\u00e9composition structurelle de cette formule : le premier bloc litt\u00e9ral s&rsquo;ach\u00e8ve par une apostrophe simple log\u00e9e juste avant le premier guillemet double (<code>\"SELECT * WHERE A = '\"<\/code>). L&rsquo;esperluette ins\u00e8re ensuite la valeur textuelle r\u00e9sidant dans <code>H1<\/code>. La seconde esperluette renoue avec un segment textuel qui s&rsquo;ouvre par une apostrophe simple destin\u00e9e \u00e0 clore le litt\u00e9ral de la premi\u00e8re condition, suivie de l&rsquo;op\u00e9rateur logique et du nom du champ suivant (<code>\"' AND C &gt;= \"<\/code>). Enfin, la valeur purement num\u00e9rique de la cellule <code>H2<\/code> est inject\u00e9e sans la moindre apostrophe, conform\u00e9ment \u00e0 la grammaire des scalaires arithm\u00e9tiques.<\/p>\n<p>L&rsquo;omission d&rsquo;une seule apostrophe ou l&rsquo;inversion d&rsquo;un guillemet double perturbe imm\u00e9diatement le moteur lexical, d\u00e9clenchant l&rsquo;incompr\u00e9hension totale de l&rsquo;instruction. Il est donc hautement recommand\u00e9 de d\u00e9composer ces assemblages pas \u00e0 pas lors des phases de prototypage.<\/p>\n<h3>8.2 Param\u00e9trage dynamique des crit\u00e8res de date<\/h3>\n<p>L&rsquo;injection dynamique de dates issues de cellules externes repr\u00e9sente le paroxysme de la technicit\u00e9 d&rsquo;assemblage dans Google Sheets. Comme explicit\u00e9 pr\u00e9c\u00e9demment, le compilateur de l&rsquo;API Visualization exige que les dates soient format\u00e9es selon la nomenclature <code>date 'AAAA-MM-JJ'<\/code>. Or, une cellule standard h\u00e9bergeant une date stocke fondamentalement un nombre de jours \u00e9coul\u00e9s depuis le 30 d\u00e9cembre 1899, et la simple concat\u00e9nation de cette cellule (via <code>&amp; G1<\/code>) n&rsquo;injectera pas une cha\u00eene temporelle norm\u00e9e, mais le num\u00e9ro de s\u00e9rie sous-jacent (par exemple le nombre 45292 pour une date de 2024), provoquant un effondrement imm\u00e9diat du pr\u00e9dicat.<\/p>\n<p>Pour contourner ce verrouillage structurel, il est imp\u00e9ratif de contraindre la conversion textuelle de la cellule source au format canonique ISO \u00e0 l&rsquo;aide de la fonction native <code>TEXTE<\/code> (ou <code>TEXT<\/code> en syntaxe anglaise) directement au sein du segment de concat\u00e9nation. Si la cellule <code>Z1<\/code> contient la borne chronologique inf\u00e9rieure et la cellule <code>Z2<\/code> la borne sup\u00e9rieure, l&rsquo;architecture dynamique s&rsquo;\u00e9tablit selon le canevas suivant :<\/p>\n<p><code>=QUERY(A1:F; \"SELECT * WHERE B &gt;= date '\" &amp; TEXTE(Z1; \"yyyy-mm-dd\") &amp; \"' AND B &lt;= date '\" &amp; TEXTE(Z2; \"yyyy-mm-dd\") &amp; \"'\"; 1)<\/code><\/p>\n<p>Cette mod\u00e9lisation assure une \u00e9tanch\u00e9it\u00e9 absolue face aux variations r\u00e9gionales de formatage. Quels que soient les param\u00e8tres linguistiques du poste client ou les coutumes typographiques de saisie de l&rsquo;utilisateur (affichage en format fran\u00e7ais <code>JJ\/MM\/AAAA<\/code> ou am\u00e9ricain <code>MM\/DD\/YYYY<\/code>), la fonction <code>TEXTE<\/code> standardise rigoureusement la cha\u00eene transmise \u00e0 l&rsquo;interpr\u00e9teur sous la forme normalis\u00e9e <code>yyyy-mm-dd<\/code>. Le d\u00e9clarateur <code>date<\/code> prend ainsi tout son sens, et le compilateur traite l&rsquo;intervalle avec une fiabilit\u00e9 d\u00e9terministe totale.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/multipleCrit1.png\" alt=\"\" \/><\/figure>\n<h3>8.3 Cr\u00e9ation d&rsquo;un tableau de bord de filtrage interactif<\/h3>\n<p>L&rsquo;application par excellence du param\u00e9trage dynamique r\u00e9side dans l&rsquo;\u00e9laboration d&rsquo;interfaces d\u00e9cisionnelles interactives o\u00f9 des gestionnaires s\u00e9lectionnent divers filtres \u00e0 l&rsquo;aide de menus d\u00e9roulants et de cases d&rsquo;options sans jamais manipuler le code source des requ\u00eates. Le d\u00e9fi architectural majeur d&rsquo;un tel dispositif r\u00e9side dans la gestion des cellules de s\u00e9lection laiss\u00e9es vierges par l&rsquo;utilisateur : une cellule vide ne doit pas bloquer la requ\u00eate, mais \u00eatre interpr\u00e9t\u00e9e comme l&rsquo;absence d&rsquo;exigence sur la variable correspondante (condition de neutralit\u00e9 s\u00e9lective \u00e9quivalente \u00e0 un joker universel).<\/p>\n<p>Pour mat\u00e9rialiser cette souplesse au sein de la fonction <strong>QUERY<\/strong>, la d\u00e9marche la plus \u00e9l\u00e9gante consiste \u00e0 exploiter une condition disjonctive interne articul\u00e9e autour de la d\u00e9tection de vacuit\u00e9 de la cellule de commande, ou \u00e0 construire dynamiquement la cha\u00eene d&rsquo;instruction au moyen d&rsquo;arborescences conditionnelles en amont. En utilisant des pr\u00e9dicats d&rsquo;\u00e9quivalence logique directement dans la clause <code>WHERE<\/code>, on obtient une formule r\u00e9siliente :<\/p>\n<p><code>=QUERY(A1:E1000; \"SELECT * WHERE ('\" &amp; H1 &amp; \"' = '' OR A = '\" &amp; H1 &amp; \"') AND ('\" &amp; H2 &amp; \"' = '' OR B = '\" &amp; H2 &amp; \"')\"; 1)<\/code><\/p>\n<p>Examinons la m\u00e9canique sous-jacente : si la cellule de saisie <code>H1<\/code> ne contient aucun texte, le sous-segment <code>'\" &amp; H1 &amp; \"' = ''\"<\/code> se r\u00e9sout en <code>'' = ''<\/code>, une identit\u00e9 tautologique universellement \u00e9valu\u00e9e \u00e0 <strong>TRUE<\/strong>. Par cons\u00e9quent, en vertu de l&rsquo;op\u00e9rateur <code>OR<\/code>, l&rsquo;int\u00e9gralit\u00e9 du premier bloc entre parenth\u00e8ses s&rsquo;\u00e9value \u00e0 vrai, et ce ind\u00e9pendamment de la valeur r\u00e9elle stock\u00e9e dans la colonne <code>A<\/code> de la base de donn\u00e9es. Le filtre sur la colonne A est donc virtuellement d\u00e9sactiv\u00e9. Si, en revanche, l&rsquo;utilisateur s\u00e9lectionne un crit\u00e8re pr\u00e9cis dans <code>H1<\/code>, l&rsquo;assertion de vacuit\u00e9 s&rsquo;effondre \u00e0 <strong>FALSE<\/strong>, contraignant le moteur \u00e0 \u00e9valuer l&rsquo;\u00e9galit\u00e9 stricte <code>A = 'Crit\u00e8re'<\/code>.<\/p>\n<p>Cette conception modulaire permet de concevoir des panneaux de commande complets int\u00e9grant une multiplicit\u00e9 de crit\u00e8res optionnels ind\u00e9pendants, offrant une exp\u00e9rience utilisateur digne des meilleures applications professionnelles sur mesure.<\/p>\n<h2>9. N\u00e9gation et gestion des valeurs absentes dans les crit\u00e8res multiples<\/h2>\n<h3>9.1 L&rsquo;op\u00e9rateur NOT et les lois de De Morgan appliqu\u00e9es \u00e0 QUERY<\/h3>\n<p>L&rsquo;inversion logique constitue un levier algorithmique puissant pour simplifier l&rsquo;expression de conditions complexes. L&rsquo;op\u00e9rateur unaire <code>NOT<\/code> permet de nier formellement l&rsquo;\u00e9tat de v\u00e9rit\u00e9 d&rsquo;un pr\u00e9dicat individuel ou d&rsquo;un bloc conditionnel entier. Son positionnement syntaxique intervient imm\u00e9diatement avant l&rsquo;expression bool\u00e9enne \u00e0 r\u00e9futer. Par exemple, pour extraire toutes les transactions n&rsquo;appartenant pas \u00e0 la r\u00e9gion \u00ab\u00a0Ouest\u00a0\u00bb, l&rsquo;expression s&rsquo;\u00e9crit conventionnellement <code>WHERE NOT A = 'Ouest'<\/code>, syntaxiquement \u00e9quivalente \u00e0 l&rsquo;op\u00e9rateur d&rsquo;exclusion <code>WHERE A != 'Ouest'<\/code>.<\/p>\n<p>Toutefois, la manipulation de la n\u00e9gation prend une dimension structurelle sup\u00e9rieure d\u00e8s lors qu&rsquo;elle s&rsquo;applique \u00e0 des expressions compos\u00e9es impliquant les conjonctions et les disjonctions, r\u00e9gies par les c\u00e9l\u00e8bres th\u00e9or\u00e8mes formalis\u00e9s par le math\u00e9maticien <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/De_Morgan%27s_laws\">Augustus De Morgan<\/a>. Les deux th\u00e9or\u00e8mes fondamentaux s&rsquo;\u00e9noncent comme suit :<\/p>\n<ul>\n<li>La n\u00e9gation d&rsquo;une conjonction \u00e9quivaut \u00e0 la disjonction des n\u00e9gations : <strong>NOT (P AND Q) &hArr; (NOT P) OR (NOT Q)<\/strong><\/li>\n<li>La n\u00e9gation d&rsquo;une disjonction \u00e9quivaut \u00e0 la conjonction des n\u00e9gations : <strong>NOT (P OR Q) &hArr; (NOT P) AND (NOT Q)<\/strong><\/li>\n<\/ul>\n<p>Une mauvaise interpr\u00e9tation de ces lois alg\u00e9briques lors de la r\u00e9daction de clauses <code>WHERE<\/code> engendre des failles logiques majeures. Supposons qu&rsquo;un gestionnaire veuille exclure de son extraction les commandes qui sont <em>\u00e0 la fois<\/em> marqu\u00e9es comme \u00ab\u00a0Sold\u00e9es\u00a0\u00bb (colonne B) et pass\u00e9es par le client \u00ab\u00a0Alpha\u00a0\u00bb (colonne C). S&rsquo;il commet l&rsquo;erreur de formuler sa clause sous la forme <code>WHERE NOT B = 'Sold\u00e9es' AND NOT C = 'Alpha'<\/code>, il exclura ind\u00fbment toutes les commandes du client Alpha (m\u00eame non sold\u00e9es) ainsi que toutes les commandes sold\u00e9es d&rsquo;autres clients. L&rsquo;instruction correcte respectant la conjonction d&rsquo;exclusion impose l&rsquo;encadrement global de la paire :<\/p>\n<p><code>=QUERY(A1:E; \"SELECT * WHERE NOT (B = 'Sold\u00e9es' AND C = 'Alpha')\"; 1)<\/code><\/p>\n<p>L&rsquo;application rigoureuse des th\u00e9or\u00e8mes de De Morgan permet d&rsquo;all\u00e9ger la r\u00e9daction des pr\u00e9dicats tout en garantissant une \u00e9tanch\u00e9it\u00e9 logique sans faille lors de l&rsquo;\u00e9puration de grands ensembles de donn\u00e9es.<\/p>\n<h3>9.2 Traitement des valeurs manquantes avec IS NULL et IS NOT NULL<\/h3>\n<p>La pr\u00e9sence de valeurs absentes (cellules vides) au sein d&rsquo;une matrice pose un d\u00e9fi r\u00e9current dans l&rsquo;ex\u00e9cution des filtres multicrit\u00e8res. Dans la logique triadique de l&rsquo;alg\u00e8bre relationnelle, une valeur manquante n&rsquo;est ni \u00e9gale, ni strictement sup\u00e9rieure ou inf\u00e9rieure \u00e0 une quelconque valeur constante : son statut d&rsquo;\u00e9valuation demeure ind\u00e9termin\u00e9 (<em>NULL<\/em>). Par cons\u00e9quent, les op\u00e9rateurs arithm\u00e9tiques ou textuels standards tels que <code>=<\/code>, <code>!=<\/code>, ou <code>&gt;<\/code> ne peuvent en aucun cas \u00eatre mobilis\u00e9s pour identifier ou filtrer la vacuit\u00e9.<\/p>\n<p>Pour r\u00e9pondre \u00e0 cette contrainte, le langage met \u00e0 disposition les pr\u00e9dicats unaires sp\u00e9cifiques <code>IS NULL<\/code> (est nul \/ est vide) et son pendant n\u00e9gatif <code>IS NOT NULL<\/code> (n&rsquo;est pas vide). L&rsquo;association de ces op\u00e9rateurs avec des conditions cumulatives ou disjonctives s&rsquo;av\u00e8re indispensable pour assainir les donn\u00e9es pr\u00e9alablement aux calculs d&rsquo;agr\u00e9gation ou d&rsquo;analyse. Par exemple, pour cibler les op\u00e9rations commerciales dont le matricule de commande est formellement renseign\u00e9 (colonne A) mais pour lesquelles la date effective de r\u00e8glement (colonne D) fait encore d\u00e9faut, la requ\u00eate s&rsquo;articule ainsi :<\/p>\n<p><code>=QUERY(A1:G; \"SELECT * WHERE A IS NOT NULL AND D IS NULL\"; 1)<\/code><\/p>\n<p>L&rsquo;int\u00e9gration syst\u00e9matique de <code>IS NOT NULL<\/code> s&rsquo;impose particuli\u00e8rement lors de l&rsquo;application de filtres multicrit\u00e8res sur des colonnes ouvertes s&rsquo;\u00e9tendant jusqu&rsquo;au bas de la feuille de calcul (de type <code>A2:E<\/code>). En l&rsquo;absence de v\u00e9rification sur la pr\u00e9sence de donn\u00e9es, Google Sheets scanne des milliers de lignes vierges r\u00e9siduelles, ce qui peut fausser les d\u00e9comptes statistiques ou provoquer l&rsquo;affichage d&rsquo;un volume substantiel d&rsquo;enregistrements vides dans le tableau de sortie. L&rsquo;inclusion de la clause <code>A IS NOT NULL<\/code> en t\u00eate de condition conjonctive constitue une r\u00e8gle d&rsquo;or d&rsquo;hygi\u00e8ne logicielle pour sceller d\u00e9finitivement les bornes utiles de la plage exploit\u00e9e.<\/p>\n<h2>10. Optimisation computationnelle et performances des requ\u00eates volumineuses<\/h2>\n<h3>10.1 Impact du volume de donn\u00e9es sur le temps de recalcul<\/h3>\n<p>Bien que Google Sheets op\u00e8re comme une application infonuagique administr\u00e9e sur les serveurs distants de Google, le recalcul et l&rsquo;\u00e9valuation de la fonction <strong>QUERY<\/strong> sont assujettis aux contraintes d&rsquo;allocation de m\u00e9moire vive et de cycles processeur du thread d&rsquo;ex\u00e9cution JavaScript attribu\u00e9 au client dans le navigateur web. L&rsquo;application r\u00e9cursive de filtres multicrit\u00e8res lourds sur des bases matricielles comportant des dizaines de milliers d&rsquo;enregistrements peut rapidement induire des latences perceptibles lors des phases de rafra\u00eechissement des documents.<\/p>\n<p>Le co\u00fbt computationnel varie consid\u00e9rablement selon la nature s\u00e9mantique des op\u00e9rateurs mobilis\u00e9s au sein de la clause <code>WHERE<\/code>. Les comparaisons arithm\u00e9tiques binaires pures (<code>=<\/code>, <code>&gt;<\/code>, <code>&lt;<\/code>) sur des scalaires num\u00e9riques ou des dates repr\u00e9sentent le niveau d&rsquo;ex\u00e9cution le plus v\u00e9loce, car elles se traduisent directement par des op\u00e9rations \u00e9l\u00e9mentaires au niveau des registres machines. \u00c0 l&rsquo;oppos\u00e9, les op\u00e9rateurs de traitement textuel exploratoire \u2014 au premier rang desquels figurent <code>CONTAINS<\/code> et l&rsquo;op\u00e9rateur d&rsquo;expressions r\u00e9guli\u00e8res <code>MATCHES<\/code> \u2014 exigent la mise en \u0153uvre d&rsquo;algorithmes de fouille s\u00e9quentielle de motifs dont la complexit\u00e9 algorithmique temporelle peut cro\u00eetre de mani\u00e8re exponentielle en pr\u00e9sence de cha\u00eenes textuelles longues ou d\u00e9sordonn\u00e9es.<\/p>\n<p>De surcro\u00eet, le dimensionnement de la plage matricielle d\u00e9clar\u00e9e en premier argument exerce une influence d\u00e9terminante. R\u00e9f\u00e9rencer paresseusement l&rsquo;int\u00e9gralit\u00e9 d&rsquo;une feuille via la syntaxe <code>QUERY(A:Z; ...)<\/code> contraint l&rsquo;interpr\u00e9teur \u00e0 instancier en m\u00e9moire virtuelle des millions de cellules potentiellement orphelines, dont l&rsquo;\u00e9valuation et l&rsquo;exclusion ult\u00e9rieure par la clause <code>WHERE<\/code> consument inutilement des cycles de calcul pr\u00e9cieux. L&rsquo;optimisation commence par un calibrage rigoureux de la plage matricielle active (par exemple <code>A1:G15000<\/code>), limitant le rayon d&rsquo;action de l&rsquo;algorithme au seul espace utile des observations av\u00e9r\u00e9es.<\/p>\n<h3>10.2 Bonnes pratiques de structuration des pr\u00e9dicats pour l&rsquo;optimisation<\/h3>\n<p>L&rsquo;optimisation des requ\u00eates complexes repose sur une organisation r\u00e9fl\u00e9chie des pr\u00e9dicats logiques au sein de la cha\u00eene de s\u00e9lection. Bien que le formalisme d\u00e9claratif du langage masque les d\u00e9tails de bas niveau de l&rsquo;interpr\u00e9teur, ce dernier applique des strat\u00e9gies classiques d&rsquo;<a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Short-circuit_evaluation\">\u00e9valuation court-circuit (short-circuit evaluation)<\/a>. D\u00e8s lors qu&rsquo;une sous-condition reli\u00e9e par un op\u00e9rateur <code>AND<\/code> s&rsquo;\u00e9value \u00e0 faux, le moteur abandonne instantan\u00e9ment le calcul des pr\u00e9dicats ult\u00e9rieurs pour la ligne en cours, sachant que la proposition globale est irr\u00e9m\u00e9diablement compromise.<\/p>\n<p>Par cons\u00e9quent, la r\u00e8gle architecturale d&rsquo;optimisation fondamentale stipule de positionner en t\u00eate de clause <code>WHERE<\/code> le crit\u00e8re le plus hautement restrictif et le moins gourmand en calcul :<\/p>\n<ul>\n<li>Placer en priorit\u00e9 absolue les clauses d&rsquo;\u00e9limination de vacuit\u00e9 (<code>A IS NOT NULL<\/code>) et les \u00e9galit\u00e9s num\u00e9riques simples.<\/li>\n<li>Ins\u00e9rer en position interm\u00e9diaire les s\u00e9lections cat\u00e9gorielles strictes sur cha\u00eenes courtes.<\/li>\n<li>Rel\u00e9guer syst\u00e9matiquement en queue de condition les filtres d&rsquo;expressions r\u00e9guli\u00e8res complexes (<code>MATCHES<\/code>) ou les recherches partielles de sous-cha\u00eenes (<code>CONTAINS<\/code>).<\/li>\n<\/ul>\n<p>En structurant la cha\u00eene selon cette gradation s\u00e9lective, la majeure partie de la matrice est \u00e9lagu\u00e9e par des op\u00e9rations arithm\u00e9tiques ultra-rapides, r\u00e9servant l&rsquo;ex\u00e9cution co\u00fbteuse des moteurs Regex \u00e0 la fraction r\u00e9siduelle d&rsquo;enregistrements d\u00e9j\u00e0 qualifi\u00e9s. Enfin, il convient d&rsquo;\u00e9viter l&rsquo;imbrication redondante de fonctions scalaires multiples au sein de la cha\u00eene (multiplier les appels \u00e0 <code>lower()<\/code> sur des dizaines de milliers de lignes) en privil\u00e9giant, lorsque cela est possible, un nettoyage et une normalisation pr\u00e9alables des donn\u00e9es au sein de colonnes techniques d&rsquo;ingestion.<\/p>\n<h2>11. Diagnostic et r\u00e9solution syst\u00e9matique des erreurs de syntaxe multicrit\u00e8re<\/h2>\n<h3>11.1 R\u00e9solution de l&rsquo;erreur d&rsquo;analyse #VALUE! (PARSE_ERROR)<\/h3>\n<p>L&rsquo;erreur g\u00e9n\u00e9rique <code>#VALUE!<\/code> (affichant le libell\u00e9 explicatif d&rsquo;interruption <em>Unable to parse query string<\/em>) constitue le signal d&rsquo;alarme universel \u00e9mis par l&rsquo;API Google Visualization lorsqu&rsquo;une instruction textuelle contrevient \u00e0 la grammaire lexicale formelle du langage. Face \u00e0 une clause multicrit\u00e8re composite combinant plusieurs op\u00e9rateurs <code>AND<\/code> et <code>OR<\/code>, l&rsquo;origine de l&rsquo;anomalie peut \u00eatre particuli\u00e8rement ardue \u00e0 isoler sans une m\u00e9thodologie de diagnostic rigoureuse.<\/p>\n<p>Les sources pr\u00e9pond\u00e9rantes de d\u00e9faillance syntaxique se regroupent en quatre typologies r\u00e9currentes :<\/p>\n<ul>\n<li><strong>D\u00e9ficit ou inversion d&rsquo;encadrement des litt\u00e9raux :<\/strong> Omission de l&rsquo;apostrophe de fermeture autour d&rsquo;une cha\u00eene textuelle ou insertion erron\u00e9e d&rsquo;apostrophes autour d&rsquo;une valeur num\u00e9rique ou d&rsquo;un nom de colonne.<\/li>\n<li><strong>D\u00e9s\u00e9quilibre des parenth\u00e8ses :<\/strong> Rupture de la parit\u00e9 arborescente se traduisant par un nombre de parenth\u00e8ses ouvrantes diff\u00e9rent du nombre de parenth\u00e8ses fermantes.<\/li>\n<li><strong>Conflit d&rsquo;identifiants de colonnes :<\/strong> Utilisation d&rsquo;identifiants alphab\u00e9tiques (A, B) sur une matrice issue d&rsquo;un traitement interm\u00e9diaire virtuel (cr\u00e9\u00e9e entre accolades <code>{...}<\/code>), laquelle exige imp\u00e9rativement la nomenclature positionnelle formelle <code>Col1, Col2, Col3<\/code>.<\/li>\n<li><strong>Collisions de guillemets lors de la concat\u00e9nation dynamique :<\/strong> Mauvaise gestion des espaces s\u00e9parateurs ou rupture de l&rsquo;alternance entre guillemets simples et guillemets doubles.<\/li>\n<\/ul>\n<p>Pour d\u00e9boguer efficacement une instruction complexe en \u00e9chec, il est fortement conseill\u00e9 de d\u00e9ployer une strat\u00e9gie d&rsquo;isolation modulaire pas \u00e0 pas. La m\u00e9thode consiste \u00e0 d\u00e9construire provisoirement la clause <code>WHERE<\/code> pour ne conserver que la projection initiale (<code>SELECT *<\/code>), puis \u00e0 r\u00e9introduire les pr\u00e9dicats logiques de mani\u00e8re unitaire, l&rsquo;un apr\u00e8s l&rsquo;autre. En testant successivement chaque condition, l&rsquo;analyste identifie avec certitude le segment pr\u00e9cis responsable de la rupture de compilation.<\/p>\n<h3>11.2 Gestion des r\u00e9sultats vides (erreur de tableau de sortie sans ligne)<\/h3>\n<p>Une requ\u00eate syntaxiquement parfaite peut n\u00e9anmoins d\u00e9boucher sur une anomalie d&rsquo;exploitation lorsqu&rsquo;aucun enregistrement de la matrice source ne r\u00e9pond \u00e0 l&rsquo;ensemble des conditions formul\u00e9es. Dans cette conjoncture, l&rsquo;interpr\u00e9teur de Google Sheets renvoie un r\u00e9sultat vide qui se solde fr\u00e9quemment par l&rsquo;apparition d&rsquo;un message d&rsquo;erreur d&rsquo;affichage de type <code>#N\/A<\/code> stipulant que la requ\u00eate n&rsquo;a extrait aucune ligne exploitable (<em>Query completed with an empty output<\/em>).<\/p>\n<p>Ce ph\u00e9nom\u00e8ne d\u00e9coule presque toujours d&rsquo;une incoh\u00e9rence d&rsquo;ing\u00e9nierie logique, typiquement l&rsquo;application de crit\u00e8res mutuellement exclusifs orchestr\u00e9s par un op\u00e9rateur <code>AND<\/code> au lieu d&rsquo;un op\u00e9rateur <code>OR<\/code> (par exemple rechercher les observations o\u00f9 la colonne A vaut simultan\u00e9ment \u00ab\u00a0Paris\u00a0\u00bb et \u00ab\u00a0Lyon\u00a0\u00bb). Si l&rsquo;absence d&rsquo;occurrences correspond \u00e0 une r\u00e9alit\u00e9 conjoncturelle normale de l&rsquo;exploitation, il est indispensable de neutraliser l&rsquo;impact visuel et fonctionnel de cette notification d&rsquo;absence en encapsulant la fonction <strong>QUERY<\/strong> au sein de la fonction de s\u00e9curit\u00e9 native <code>SIERREUR<\/code> (ou <code>IFERROR<\/code>) :<\/p>\n<p><code>=SIERREUR(QUERY(A1:E1000; \"SELECT * WHERE A = 'Paris' AND B &gt; 50000\"; 1); \"Aucun r\u00e9sultat valid\u00e9\")<\/code><\/p>\n<p>Parall\u00e8lement, une attention m\u00e9ticuleuse doit \u00eatre port\u00e9e au troisi\u00e8me argument facultatif de la fonction <strong>QUERY<\/strong>, qui consigne le nombre de lignes d&rsquo;en-t\u00eate de la matrice. Si cet argument est omis ou valoris\u00e9 \u00e0 -1, le moteur tente de deviner heuristiquement la pr\u00e9sence d&rsquo;en-t\u00eates. Lorsqu&rsquo;une requ\u00eate multicrit\u00e8re vide est retourn\u00e9e, cette d\u00e9tection heuristique d\u00e9raille fr\u00e9quemment, transformant la premi\u00e8re ligne de donn\u00e9es pures en un faux en-t\u00eate typologique. D\u00e9clarer formellement la valeur num\u00e9rique de cet argument (usuellement <code>1<\/code> pour indiquer la pr\u00e9sence d&rsquo;une ligne d&rsquo;en-t\u00eate unique) garantit la pr\u00e9servation absolue de l&rsquo;int\u00e9grit\u00e9 de la structure tabulaire quel que soit le volume de lignes s\u00e9lectionn\u00e9es.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/multipleCrit3.png\" alt=\"\" \/><\/figure>\n<h2>12. \u00c9tudes de cas r\u00e9elles et mod\u00e9lisation analytique avanc\u00e9e<\/h2>\n<h3>12.1 Analyse de donn\u00e9es de recherche quantitative avec crit\u00e8res crois\u00e9s<\/h3>\n<p>Afin de concr\u00e9tiser l&rsquo;ensemble des pr\u00e9ceptes th\u00e9oriques expos\u00e9s dans ce trait\u00e9, consid\u00e9rons un protocole exp\u00e9rimental men\u00e9 dans le cadre d&rsquo;une recherche clinique multicentrique. La base matricielle globale, consign\u00e9e dans une feuille de calcul nomm\u00e9e <code>Cohorte_Data<\/code> sur la plage <code>A1:G50000<\/code>, structure les dimensions suivantes :<\/p>\n<ul>\n<li><strong>Colonne A :<\/strong> Num\u00e9ro d&rsquo;anonymisation du patient (Cha\u00eene textuelle standardis\u00e9e)<\/li>\n<li><strong>Colonne B :<\/strong> \u00c2ge chronologique r\u00e9volu (Valeur num\u00e9rique scalaire)<\/li>\n<li><strong>Colonne C :<\/strong> Sexe biologique du sujet (Modalit\u00e9s cat\u00e9gorielles : &lsquo;F&rsquo;, &lsquo;M&rsquo;)<\/li>\n<li><strong>Colonne D :<\/strong> Bras d&rsquo;inclusion au protocole (Modalit\u00e9s : &lsquo;Placebo&rsquo;, &lsquo;Mol\u00e9cule_A&rsquo;, &lsquo;Mol\u00e9cule_B&rsquo;)<\/li>\n<li><strong>Colonne E :<\/strong> Taux de biomarqueur s\u00e9rique post-traitement (Valeur flottante d\u00e9cimale)<\/li>\n<li><strong>Colonne F :<\/strong> Date d&rsquo;inclusion au protocole (Format temporel calendaire)<\/li>\n<li><strong>Colonne G :<\/strong> Signalement d&rsquo;effets ind\u00e9sirables majeurs (Valeur bool\u00e9enne ou &lsquo;OUI&rsquo;\/&rsquo;NON&rsquo;)<\/li>\n<\/ul>\n<p>L&rsquo;\u00e9quipe de biostatisticiens mandat\u00e9e pour l&rsquo;\u00e9tude souhaite isoler une sous-population hautement qualifi\u00e9e pour tester la significativit\u00e9 statistique d&rsquo;une r\u00e9ponse clinique exceptionnelle. La population cible doit ob\u00e9ir au profil crois\u00e9 suivant : il s&rsquo;agit d&rsquo;extraire l&rsquo;ensemble des sujets f\u00e9minins de plus de 45 ans r\u00e9volus ou des sujets masculins de plus de 50 ans, ayant obligatoirement re\u00e7u la th\u00e9rapie active (Mol\u00e9cule_A ou Mol\u00e9cule_B, excluant de facto le bras Placebo), incorpor\u00e9s au cours de l&rsquo;ann\u00e9e civile 2023, et pr\u00e9sentant un taux s\u00e9rique r\u00e9siduel strictement sup\u00e9rieur \u00e0 12,5 tout en n&rsquo;ayant signal\u00e9 aucun effet ind\u00e9sirable majeur.<\/p>\n<p>La transcription int\u00e9grale de cette probl\u00e9matique multicrit\u00e8re en une formule unitaire <strong>QUERY<\/strong> d\u00e9ploie un \u00e9quilibre complet de parenth\u00e8ses, de disjonctions r\u00e9guli\u00e8res et d&rsquo;ancrages typ\u00e9s :<\/p>\n<p><code>=QUERY(Cohorte_Data!A1:G50000; \"SELECT A, B, C, D, E WHERE ((C = 'F' AND B &gt; 45) OR (C = 'M' AND B &gt; 50)) AND D MATCHES 'Mol\u00e9cule_A|Mol\u00e9cule_B' AND F &gt;= date '2023-01-01' AND F &lt;= date '2023-12-31' AND E &gt; 12.5 AND G = 'NON'\"; 1)<\/code><\/p>\n<p>Cette requ\u00eate illustre la quintessence de la s\u00e9lection relationnelle au sein de Google Sheets : l&rsquo;arborescence encapsul\u00e9e <code>((C = 'F' AND B &gt; 45) OR (C = 'M' AND B &gt; 50))<\/code> assure l&rsquo;asym\u00e9trie voulue des crit\u00e8res physiologiques d&rsquo;inclusion par sexe sans interf\u00e9rence mutuelle, l&rsquo;op\u00e9rateur <code>MATCHES<\/code> comprime l&rsquo;alternative th\u00e9rapeutique en un motif concis, l&rsquo;intervalle temporel ISO encadre la temporalit\u00e9 de l&rsquo;\u00e9tude, et les pr\u00e9dicats quantitatifs terminaux parach\u00e8vent l&rsquo;\u00e9puration du sous-ensemble analytique avec une puret\u00e9 m\u00e9thodologique irr\u00e9prochable.<\/p>\n<h3>12.2 Suivi op\u00e9rationnel et reporting de performance multidimensionnel<\/h3>\n<p>Dans un contexte d&rsquo;ing\u00e9nierie manag\u00e9riale et de gouvernance d&rsquo;entreprise, la fonction <strong>QUERY<\/strong> agit comme le moteur computationnel central des tableaux de bord dynamiques. Imaginons une direction des op\u00e9rations supervisant un portefeuille transversal de projets informatiques globaux consign\u00e9s dans un tableau op\u00e9rationnel <code>Portfolio_Tracker<\/code> occupant la plage <code>A1:H<\/code>. Les m\u00e9triques suivies englobent le statut d&rsquo;avancement (colonne C : \u00ab\u00a0En cours\u00a0\u00bb, \u00ab\u00a0En attente\u00a0\u00bb, \u00ab\u00a0Livr\u00e9\u00a0\u00bb, \u00ab\u00a0Bloqu\u00e9\u00a0\u00bb), la date limite contractuelle (colonne E), le budget consomm\u00e9 en euros (colonne F), et le score de criticit\u00e9 strat\u00e9gique not\u00e9 de 1 \u00e0 5 (colonne H).<\/p>\n<p>Pour piloter les comit\u00e9s de direction hebdomadaires, le contr\u00f4leur de gestion a pour mission de g\u00e9n\u00e9rer une table d&rsquo;alerte automatis\u00e9e identifiant tous les chantiers en d\u00e9rive critique. Un projet est consid\u00e9r\u00e9 comme critique s&rsquo;il satisfait \u00e0 l&rsquo;une des deux conditions d&rsquo;urgence op\u00e9rationnelle suivantes :<\/p>\n<ol>\n<li>Il est au statut \u00ab\u00a0En cours\u00a0\u00bb ou \u00ab\u00a0Bloqu\u00e9\u00a0\u00bb, son \u00e9ch\u00e9ance contractuelle arrive \u00e0 expiration dans le mois courant ou est d\u00e9j\u00e0 d\u00e9pass\u00e9e (date cible ant\u00e9rieure au 1er juillet 2024 dans le cadre de notre simulation), et sa criticit\u00e9 est maximale (score \u00e9gal \u00e0 4 ou 5).<\/li>\n<li>Son budget consomm\u00e9 surpasse 100 000 euros alors que son statut op\u00e9rationnel est toujours consign\u00e9 comme \u00ab\u00a0En attente\u00a0\u00bb, caract\u00e9risant une anomalie d&rsquo;imputation financi\u00e8re n\u00e9cessitant un arbitrage imm\u00e9diat.<\/li>\n<\/ol>\n<p>La mod\u00e9lisation de cette r\u00e8gle d&rsquo;alerte multidimensionnelle s&rsquo;ex\u00e9cute par la juxtaposition de deux macro-blocs conjonctifs unifi\u00e9s par une disjonction centrale :<\/p>\n<p><code>=QUERY(Portfolio_Tracker!A1:H; \"SELECT A, C, E, F, H WHERE (C MATCHES 'En cours|Bloqu\u00e9' AND E &lt; date '2024-07-01' AND H &gt;= 4) OR (C = 'En attente' AND F &gt; 100000) ORDER BY H DESC, F DESC\"; 1)<\/code><\/p>\n<p>Outre l&rsquo;application impeccable des filtres logiques multicrit\u00e8res, cette instruction adjoint une clause d&rsquo;ordonnancement structurel <code>ORDER BY<\/code> qui organise automatiquement les donn\u00e9es extraites selon une double cl\u00e9 descendante : les projets pr\u00e9sentant les scores de criticit\u00e9 les plus \u00e9lev\u00e9s sont projet\u00e9s au sommet du tableau, suivis par l&rsquo;importance des montants financiers engag\u00e9s. Les r\u00e9sultats projet\u00e9s peuvent alors \u00eatre instantan\u00e9ment interfac\u00e9s avec des modules graphiques de reporting ou des m\u00e9canismes de mise en forme conditionnelle dynamique, fournissant \u00e0 l&rsquo;\u00e9tat-major d\u00e9cisionnel un outil de pilotage strat\u00e9gique en temps r\u00e9el fond\u00e9 sur une rigueur architecturale sans compromis.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<p>Google. (2024). <em>Fonction QUERY de Google Sheets<\/em>. Centre d&rsquo;aide Google Docs. https:\/\/support.google.com\/docs\/answer\/3093343<\/p>\n<p>Google Developers. (2023). <em>Google Visualization API Query Language Reference (Version 0.7)<\/em>. Google Chart Tools Documentation. https:\/\/developers.google.com\/chart\/interactive\/docs\/querylanguage<\/p>\n<p>International Organization for Standardization. (2016). <em>Information technology \u2014 Database languages \u2014 SQL \u2014 Part 2: Foundation (SQL\/Foundation)<\/em> (ISO\/IEC 9075-2:2016). ISO. https:\/\/www.iso.org\/standard\/63555.html<\/p>\n<p>Mendelsohn, E., &amp; Boole, G. (2011). <em>An investigation of the laws of thought on which are founded the mathematical theories of logic and probabilities<\/em>. Cambridge University Press.<\/p>\n<p>Walkenbach, J. (2015). <em>Excel 2016 Bible<\/em>. John Wiley &amp; Sons.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guide m\u00e9thodologique exhaustif pour ma\u00eetriser les requ\u00eates multicrit\u00e8res avec la fonction QUERY de Google Sheets via les op\u00e9rateurs bool\u00e9ens AND et OR.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[6798,2141],"tags":[1884,5737,6800,6801,6799],"class_list":["post-4827","psych_stat","type-psych_stat","status-publish","hentry","category-bureautique-et-analyse-de-donnees","category-methodologie-quantitative","tag-analyse-de-donnees","tag-google-sheets","tag-operateur-and","tag-operateur-or","tag-query"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat"}],"about":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/types\/psych_stat"}],"author":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4827"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4827\/revisions"}],"predecessor-version":[{"id":16693,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4827\/revisions\/16693"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}