Validation des données d'une liste délimitée par des virgules

3

J'ai besoin d'un moyen simple de prendre une liste séparée par des virgules dans une cellule et de fournir une liste déroulante pour en sélectionner une.

Par exemple, la cellule peut contenir:
24, 32, 40, 48, 56, 64

Et dans une autre cellule, à l'aide de la validation des données, je souhaite fournir une liste déroulante pour sélectionner l'une de ces valeurs.

Je dois le faire sans VBA ou Macros s'il vous plaît.  Je souhaite que cela fonctionne avec Excel 2010 et les versions ultérieures.
Je me suis amusé à compter le nombre de virgules dans la liste, puis à le scinder en plusieurs rangées de nombres simples, etc. sans joie pour le moment.

Brad
la source
Souhaitez-vous ajouter le logiciel que vous souhaitez effectuer cette opération? Les hypothèses peuvent conduire à des réponses moins que précises.
Fergus
Je ne pense pas que vous puissiez le faire de cette façon ... Je pense que vous devrez diviser les valeurs (en utilisant Text To Columns) et insérer les résultats dans une autre feuille de travail. Et puis utilisez les outils de validation - & gt; Liste basée sur l'autre feuille de calcul. Naturellement, cela pose des problèmes, comme l'impossibilité d'apporter facilement des modifications à l'avenir.
Dave

Réponses:

1

Vous êtes sur la bonne voie en utilisant les virgules pour identifier les numéros individuels. Cela fonctionne pour 50 valeurs séparées par des virgules - si vous êtes dans Excel 2010, cela peut être étendu à 8 000 éléments (bien que, dans ce cas, je reconsidérerais probablement si c'était la meilleure façon de gérer le problème :)

Disons que votre liste de nombres est dans la cellule A2.

  1. Si votre liste de nombres comporte des espaces après les virgules, effectuez une recherche et un remplacement pour les supprimer ou effectuez une substitution dans la cellule B2: =SUBSTITUTE(A2," ","").

  2. Trouvons maintenant toutes les virgules. Dans la cellule C2, entrez =SEARCH(",",$B2,1). Ceci trouve la position dans le texte de la première virgule.

  3. Dans D2, entrez une formule similaire mais légèrement différente pour trouver la prochaine virgule: =SEARCH(",",$B2,C2+1)

  4. Copiez ceci sur (disons) 50 colonnes. Cela vous mènera à la colonne AZ.

  5. Maintenant, nous pouvons saisir chaque numéro individuel. Dans la cellule BA2, entrez =IFERROR(LEFT(B2,C2-1),""). Ceci saisit tout le texte à gauche de la première virgule ou ne renvoie rien si la cellule est vide.

  6. Dans BB2 entrez =MID($B2,C2+1,D2-C2-1) pour tirer le numéro suivant ou ne rien renvoyer s'il n'y a pas de numéro dans cette position.

  7. Copiez BB2 dans 50 colonnes, cela vous mènera à la colonne CX.

  8. Vous pouvez maintenant affecter la validation de votre cellule à la plage BA2: CX2, et chaque numéro apparaîtra dans votre liste déroulante.

enter image description here

Andi Mohr
la source
Parfait, merci beaucoup pour cela.
Brad
0

Dans Office 2010, j'ai été en mesure d'intégrer une liste numérique pour la validation des données sans utiliser de colonne de feuille de calcul en tapant ceci:

=0,1,2,3,4,5

Selon vos besoins et si vous utilisez la bonne syntaxe, vous n’auriez peut-être pas besoin d’une colonne de feuille de calcul.

Andrew Gertz
la source
3
Où avez-vous tapé la liste?
Excellll