NB.SI et NB.SI.ENS n'acceptent que des plages, pas des tableaux de données.

Problème et explication

Si vous n'avez rien compris au titre, regardez ce qui se passe entre ces deux formules :

=NB.SI.ENS(A1:A3;"x")

fonctionne normalement.

Mais, si vous sélectionnez A1:A3 puis appuyez sur F9 pour lancer le calcul, il devient impossible de valider :

=NB.SI.ENS({1;"x";1};"x")

En effet, A1:A3 est une plage, alors que {1;"x";1} est un tableau de données.
La fonction NB.SI.ENS n'accepte pas de tableaux de données comme premier argument.

Cas d’usage problématique

Solution 1

Par exemple :

=NB.SI.ENS(CHOISIRCOLS(A1:B3;2);"x")

ne va pas fonctionner, car CHOISIRCOLS retourne un tableau de données et non une plage.

Mais :

=NB.SI.ENS(INDEX(A1:B3;;2);"x")

va fonctionner, car INDEX retourne la 2? colonne en tant que plage.

Autre solution

On peut ainsi scinder la formule, ce qui va nous donner ceci :

Colorer automatiquement ses cellules à partir d'un tableau avec du texte

On va apprendre à appliquer une mise en forme conditionnelle dans Excel même lorsque les données contiennent du texte, ici avec des nombres entre parenthèses. Une méthode simple avec les fonctions modernes TEXTE.APRES(), TEXTE.AVANT() et SUBSTITUE() pour gagner en clarté et en productivité.

Voici le fichier.

Le problème

Dans Excel, tout va bien… jusqu’à ce que les données deviennent un peu “sales”.
On veut colorer des cellules selon leur valeur, mais elles ressemblent à ça :

Texte (50) et le résultat final est (29)

Excel, lui, ne comprend pas : il voit du texte, pas un nombre.
Résultat : la mise en forme conditionnelle ne fonctionne pas.


L’approche

Avant de colorier, on doit d’abord isoler le nombre.
L’idée, c’est de découper le problème en deux étapes :

  1. Extraire la partie numérique du texte, ici, on veut la dernière valeur entre parenthèses.
  2. La convertir pour qu’Excel la reconnaisse comme une valeur.

Cette approche permet de travailler proprement et d’éviter les erreurs de formatage.


Les fonctions-clés à utiliser

Excel 365 propose aujourd’hui des fonctions très puissantes pour manipuler du texte.
Voici les trois incontournables :

  • TEXTE.APRES() ? extrait ce qui se trouve après un délimiteur (ici, la parenthèse ouvrante).

Astuce : en ajoutant -1 à TEXTE.APRES(), on récupère le dernier élément trouvé, parfait pour des textes pouvant contenir des parenthèses.

Et ensuite, au choix:

  • TEXTE.AVANT() ? récupère ce qui se trouve avant un délimiteur (la parenthèse fermante après extraction avec TEXTE.APRES).
  • SUBSTITUE() ? supprime les caractères inutiles du texte, par exemple, la ")". Déjà présent dans les anciennes versions d'Excel.

Enfin, on multiplie le résultat par 1 pour forcer Excel à interpréter le texte comme un nombre :

=(1*TEXTE.AVANT(TEXTE.APRES(E2;"(";-1);")"))>=$C$4

ou alors

=(1*SUBSTITUE(TEXTE.APRES(E2;"(";-1);")";""))<$C$3

La mise en forme conditionnelle

Une fois la valeur numérique extraite, on peut appliquer une mise en forme conditionnelle classique suivante.

Le reste des cellules est colorié en orange. On aurait aussi pu ajouter encore une autre condition, mais dans ce cas, ca n'est pas nécessaire.


Le résultat

Le tableau devient clair, visuel et dynamique, sans macro ni formule complexe.
Même quand les données ne sont pas parfaites, Excel fait le job proprement.

Bonus, cette approche va aussi fonctionner:

=PRENDRE(FRACTIONNER.TEXTE(A1;;{"(";")"};VRAI);-1)

La fonction COPILOTE dans Excel : une mine d'or et un terrain miné!

À propos de la nouvelle fonction COPILOTE dans Excel

Elle vient juste de sortir, et on devrait être rapidement inondé d’exemples.

Quelques petits rappels de base :

  • Excel est déterministe par nature (une fonction retourne toujours la même valeur). Les LLM (donc ChatGPT, donc Copilote) ne le sont pas du tout : un même prompt peut produire une réponse légèrement différente à chaque exécution.
  • De ce fait, les cas d’usage de la nouvelle fonction COPILOT doivent être extrêmement bien réfléchis.
  • Copilote est limité et nécessite un abonnement payant… Bref, c’est Microsoft.

Ma règle d’or pour utiliser des IA :
Est-ce que c’est acceptable si les résultats sont faux dans 20 % des cas ?
(Il existe plein de situations où une logique approximative reste utile. Par exemple, sur une base de 1 000 commentaires, identifier les 100 les plus intéressants selon un critère précis — peu importe si le 90e aurait dû être le 80e.)

Et si j’utilise ces résultats, est-ce que j’ai les moyens (expertise, processus) pour corriger ces 20 % ?

Pour une fois, la documentation officielle de Microsoft remet bien les choses en place. D'après mes sources, mes collègues MVP ont beaucoup participé à l'élaboration de cette documentation.
Documentation technique sur Copilot — à lire avant toute utilisation :
https://support.microsoft.com/en-us/office/copilot-function-5849821b-755d-4030-a38b-9e20be0cbf62

Quand utiliser la fonction COPILOT

La fonction COPILOT est conçue pour les tâches sémantiques, génératives et exploratoires. Elle est mieux adaptée aux scénarios où la précision déterministe n’est pas requise et où la compréhension du langage naturel peut fournir de la valeur. Les cas d’utilisation recommandés sont les suivants :

  • Résumé du texte : Condensez de longues chaînes ou plages de cellules en résumés concis.
    Par exemple, =COPILOT(« Résume ces commentaires », A2:A20)
  • Génération d’exemples de données : Créez un espace réservé ou des exemples de données pour le prototypage ou les démonstrations.
    Par exemple, =COPILOT(« Cinq parfums de glace »)
  • Classification ou étiquetage du contenu : Affectez des catégories ou des étiquettes à des entrées de texte.
    Par exemple, =COPILOT(« Classer le sentiment », B2:B100)
  • Générer du texte : Créez du contenu texte simple.
    Par exemple, =COPILOT(« Crée une description pour ce produit en fonction de ses caractéristiques », B2:B8)

Quand ne pas utiliser la fonction COPILOT

COPILOT utilise l’IA et peut donner des réponses incorrectes.

Pour garantir la fiabilité et l’utiliser de manière responsable, évitez d’utiliser COPILOT pour :

  • Les calculs numériques : utilisez des formules Excel natives (par exemple, SOMME, MOYENNE, SI) pour toute tâche nécessitant précision ou reproductibilité.
  • Réponses qui nécessitent un contexte autre que les plages fournies : La fonction COPILOT a uniquement accès à la requête et au contexte fournis ou référencés par la fonction. Elle n’a pas accès aux autres données de votre classeur, aux données d’autres fichiers ou aux informations d’entreprise.
  • Les recherches basées sur les données de votre classeur : utilisez RECHERCHEX pour rechercher des données en fonction d’une table ou d’une plage.
  • Les tâches ayant des implications juridiques, réglementaires ou de conformité : évitez d’utiliser des sorties générées par l’IA pour les rapports financiers, les documents juridiques ou d’autres scénarios à enjeux élevés.
  • Les données récentes ou en temps réel : la fonction n’est pas déterministe et peut retourner des résultats différents lors du recalcul. Actuellement, les connaissances du modèle sont limitées aux informations avant juin 2024.

Exemple typique démontrant qu'il ne faut pas l'utiliser n'importe comment et n'importe où...