2011-09-21 1 views
1

Concept assez simple, mais je ne sais pas par où commencer quand il s'agit de créer un fichier UDF, ce qui est la seule chose dont je puisse parler. J'ai une colonne qui remplit sur les feuilles de source avec un 1 ou 2. Je veux faire quelque chose de sorte que tous les "1" montre comme une entrée de texte ("AA" par exemple) et tous les "2" montrent comme un différent entrée (dites "BB"). Est-ce possible sans UDF? et sinon, y a-t-il un conseil sur où commencer?Conversion d'une valeur numérique (non monétaire) en une entrée de texte

+0

Créer une table avec deux colonnes: le nombre et le texte correspondant. Utilisez VLOOKUP() pour traduire les nombres à leur valeur de texte correspondante. –

+0

Je ne savais pas que je pourrais obtenir VLOOKUP pour remplacer réellement les valeurs dans la colonne source. J'obtiens juste un vieux vlookup, mais je n'arrive pas à l'obtenir pour faire ce que je veux. – Jon

+0

Désolé - manqué qu'il n'y avait que deux nombres ... –

Répondre

4

Vous pouvez utiliser la mise en forme personnalisée pour cela. Cliquez-droit sur la colonne en question et choisissez "Format des cellules". Dans la boîte de dialogue, choisissez « Custom » et dans la boîte en haut entrez:

[=1]"AA";[=2]"BB";General 

Cela suppose que le « 1 » ou « 2 » est le seul contenu de la cellule. Tout autre nombre ou texte s'affichera au format Général.

+0

Cela fonctionne parfaitement. Je me suis dit qu'il devait y avoir un moyen plus facile d'accomplir cela. Merci! – Jon

+0

Puisque je suis sur le chemin du retour, cela fonctionnera-t-il si j'avais besoin d'ajouter quoi que ce soit d'autre (par exemple [= 3] "CC") ou est-ce seulement valable pour deux valeurs? – Jon

+0

Bon conseil. Merci d'avoir partagé. – Oneide

0

Ceci peut également vous être utile. C'est une instruction conditionnelle qui référencera une cellule la vérification s'il y a du contenu, sinon elle mettra le mot "None" dedans, sinon elle mettra le contenu de la cellule.

= IF ((Sheet1! J1089) = "", "None", Sheet1! J1089)

0

Juste pour mettre à jour toute autre personne qui pourrait être intéressé. J'ai une solution que j'utilise. Nous avons dû aller la route vba, mais je l'ai mis en place pour que ma macro pour les rapports en cours d'exécution fonctionne comme suit:

Sub Conversion() 
    Dim X As Long, DBCodes() As String 
    DBCodes = Split("AA,BB,CC", ",") 
    For X = 1 To 3 
    Columns("H").Replace X, DBCodes(X - 1), xlWhole 
    Next 
End Sub 

je peux modifier les valeurs intermédiaires et la ligne après pour autant plus de valeurs que je besoin de remplacer, bien qu'il faille triturer avec pour trouver le point où trop de valeurs le rendrait impraticable. En outre, il fait un monde de différence où je mets dans la ligne pour exécuter ceci; trouvé le meilleur endroit et même les rapports qui sont plus de 600 lignes la conversion ajoute seulement quelques secondes.

Questions connexes