Comment créer un graphique à barres positif et négatif avec SPARKLINE dans Google Sheets

Les graphiques à barres peuvent être très utiles pour représenter visuellement des données positives et négatives. Mais saviez-vous que vous pouvez également créer des graphiques à barres positifs et négatifs avec la fonction SPARKLINE dans Google Sheets ? Dans cet article, je vais vous expliquer comment utiliser la fonction SPARKLINE pour créer un graphique à barres positif et négatif dans Google Sheets.

Formulaire non-array pour créer un graphique à barres positif et négatif avec SPARKLINE

Nous allons créer notre graphique à barres positif et négatif en 3 étapes simples. Tout d’abord, nous utiliserons une formule non-array, puis nous la convertirons en une formule array en utilisant la fonction MAP Lambda, et enfin nous créerons une fonction nommée SPARKLINE_NEGATIVE_BAR().

La fonction SPARKLINE a deux arguments : les données et les options. Dans notre cas, la largeur des barres horizontales sera proportionnelle aux valeurs absolues qu’elles représentent. Autrement dit, la fonction utilise les valeurs absolues de la plage de cellules spécifiée.

Voici les trois étapes pour créer notre graphique à barres positif et négatif :

Étape 1

Dans la cellule B2 (et copiée vers le bas), collez la formule suivante :
=ArrayFormula(SPARKLINE(A2,{"charttype","bar";"max",max(abs($A$2:$A))}))

Cette formule crée un graphique à barres avec une seule couleur en fonction des signes des valeurs.

Étape 2

Dans la cellule C2 (et copiée vers le bas), collez la formule suivante :
=ArrayFormula(SPARKLINE(A2,{"charttype","bar";"max",max(abs($A$2:$A));"color1",if(A2>0,"green","red")}))

Cette formule permet de spécifier une couleur différente pour les valeurs positives et négatives.

Étape 3

Dans la cellule D2 (et copiée vers le bas), collez la formule suivante :
=sparkline({if(A2>0,min($A$2:$A),A2-min($A$2:$A)),A2},{"charttype","bar";"max",max(0,$A$2:$A)-min(0,$A$2:$A);"color1","white";"color2",if(A2>0,"green","red")})

Cette formule permet de déplacer les barres horizontales de chaque côté d’une ligne virtuelle en fonction des valeurs positives et négatives.

Explication de la formule de l’étape 3

La formule SPARKLINE ci-dessus crée des barres positives et négatives proportionnelles aux valeurs qu’elles représentent. Les valeurs négatives et positives sont alignées de chaque côté d’une ligne verticale. Contrairement aux formules des étapes 1 et 2, la formule de l’étape 3 retourne un graphique à deux couleurs : blanc, rouge/vert.

Pour comprendre ce que la formule retourne pour chaque ligne, consultez le tableau ci-dessous :

Référence de cellule et valeur (A2:A13) Data Point 1 (Blanc) Data Point 2 (Rouge/Vert) Valeur maximale
A2 La partie logique cyan-bleu-gris des données renvoie le Data Point 1 pour la barre blanche. La partie verte claire des données renvoie le Data Point 2 pour la barre rouge/verte. 20
A3, A4, etc. Même explication que pour A2 Même explication que pour A2 Même explication que pour A2

De cette façon, nous pouvons utiliser la fonction SPARKLINE pour créer des graphiques à barres positifs et négatifs dans Google Sheets.

Formule array et fonction nommée pour le graphique à barres positif et négatif

Formule array

Nous pouvons convertir la formule de l’étape 3 en une formule array. Vous pouvez utiliser la fonction BYROW ou MAP pour cela. Dans cet exemple, j’utilise la fonction MAP.

Formule générique :
=map(A2:A,lambda(r,non_array_formula))

Remplacez non_array_formula par la formule de l’étape 3 et A2 par le nom r.

Formule array pour le graphique à barres positif et négatif :
=map(A2:A,lambda(r,sparkline({if(r>0,min($A$2:$A),r-min($A$2:$A)),r},{"charttype","bar";"max",max(0,$A$2:$A)-min(0,$A$2:$A);"color1","white";"color2",if(r>0,"green","red")})))

Cette formule affiche les résultats de la formule dans la colonne B à partir de la cellule B2.

Fonction nommée personnalisée

Vous pouvez également convertir la formule array en une fonction nommée personnalisée appelée SPARKLINE_NEGATIVE_BAR().

Syntaxe :
SPARKLINE_NEGATIVE_BAR(plage)

Selon notre exemple, la formule SPARKLINE_NEGATIVE_BAR personnalisée sera la suivante :
=SPARKLINE_NEGATIVE_BAR(A2:A)

Assurez-vous de vider la colonne pour permettre à la formule de se développer vers le bas.

N’hésitez pas à consulter le site Crawlan.com pour plus de conseils et d’astuces sur Google Sheets !

Articles en lien