Cellules de code couleur LibreOffice Calc catégoriquement


1

J'ai un tableur de données textuelles; chaque colonne a un ensemble limité autorisé de valeurs de chaîne. J'ai une deuxième feuille dans le fichier qui, pour chaque colonne de la première feuille, contient chaque valeur autorisée exactement une fois. (Il n’existe actuellement aucune formule permettant d’appliquer cela; je suis à peu près sûr que si je savais comment faire, je n’aurais pas besoin de poser cette question.)

Ce que je veux faire est de faire en sorte que chaque valeur de la feuille principale porte un code de couleur tel que chaque valeur autorisée pour une colonne donnée a une couleur différente. Attribuer manuellement des couleurs pour chaque valeur est infaisable. Je me moque des chevauchements de plages de couleurs pour des colonnes séparées.

J'ai vu cette question , qui est fondamentalement la même que la mienne mais pour Excel, et dont la réponse est incertaine. Invité par cela, j'ai ajouté des colonnes supplémentaires telles que, à gauche de chaque colonne de la feuille de domaine, se trouve une colonne mappant ces valeurs sur des entiers consécutifs. Je ne sais pas comment les transformer en couleurs sur la feuille principale, cependant.

J'ai trouvé des instructions pour le formatage des couleurs . C'est environ la moitié de ce dont j'ai besoin; malheureusement, il semble que les formules ne peuvent être utilisées que pour définir les valeurs minimale, maximale et médiane du dégradé, mais pas pour traiter la valeur de cellule d'une chaîne à un entier afin de le rendre dégradable.

En utilisant cela, j'ai trouvé l'essentiel du chemin: une troisième feuille lit les valeurs de la première feuille, les mappe avec des nombres en utilisant la deuxième feuille et applique une échelle de couleurs au résultat. Il en résulte une feuille avec les mêmes données que l'original, mais représentées par des nombres et des couleurs plutôt que par des chaînes. L'étape restante (si cette méthode va n'importe où) consiste à dupliquer ces couleurs sur la feuille d'origine ou à faire afficher par la nouvelle feuille les chaînes à l'utilisateur tout en contenant des chiffres pour le formateur.

Réponses:


1

Il n'y a aucun moyen de créer dynamiquement un ensemble de nouvelles couleurs, sauf avec une macro. Il est possible de formater en utilisant une échelle de couleurs , comme vous l'avez dit. Il est également possible de créer un nombre quelconque de nouvelles couleurs avec des styles (décrits ici ), mais la question précise qu'il existe trop de couleurs différentes.

Au lieu de cela, mettez en surbrillance tous les doublons et toutes les valeurs qui ne sont pas dans la liste.

  1. Sélectionnez les cellules à vérifier pour une colonne sur la feuille principale.
  2. Format -> Mise en forme conditionnelle -> Gérer .
  3. Ajouter , Condition 1 Cell value is, duplicate, Appliquer le style Bad. (Cela fonctionne dans LO 5.4.3.2. Si votre version n’est pas assez nouvelle, utilisez-la COUNTIFcomme décrit ici ).
  4. Ajouter , Condition 2 Formula is, ISNA(VLOOKUP(A1;Sheet2.$A$1:$A$100;1;)), Appliquer le style Error(basé sur ici ).

Par exemple, si la feuille 2 contient la liste suivante:

apple
banana
carrot
date
eggplant
fig
grape

Ensuite, sur la feuille principale, les valeurs problématiques sont mises en évidence.

valeurs surlignées sur la feuille 1

Remarque: vous pouvez imposer que les valeurs soient dans la liste en utilisant Données -> Validité , Autoriser Cell range.


Cela ne répond pas à la question. Je veux un code de couleur catégorique, pas des tests d'adhésion.
David Heyman

Ensuite, le seul moyen est d'utiliser une macro ou de créer un style différent pour chaque couleur, comme indiqué dans le premier paragraphe de ma réponse.
Jim K

J'ai fait assez de progrès (voir edit) pour en être sûr.
David Heyman

Peut-être que je ne comprends pas ce que vous essayez d'accomplir, mais si vous y parvenez, affichez-le comme une réponse.
Jim K
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.