Comment faire cette formule recherche 567 em> ou 676 em> ou 342 em> au lieu de 567 em> ce qu'il est pour le moment.
3 Réponses :
Essayez ceci. Vous n'avez pas besoin des caractères génériques avec la recherche.
Cela n'a pas fonctionné. J'ai essayé = si (isnumber ({"" 567 "" "," "676" "", "" 342 ""}, B: B)), "" Traction "", "" ") aswell que je penser peut être plus proche mais ne fonctionne toujours pas
parce que "= if (isnumber ({" "567" "}, B: B))," "Traction" "", "" "") "A travaillé mais j'ai juste besoin d'ajouter 676 et 342
Toutes mes excuses, n'avaient pas taché ça. J'ai été modifié ci-dessus et cela fonctionne pour moi (sans les citations doublées).
J'ai cliqué sur upvote mais pour réaliser plus tard, vous ne comparez pas toutes les valeurs de votre matrice contre toutes les valeurs de la colonne B: B code> =)> = if ({"567 "," 676 "," 342 "}, transpose (B1: B3)))," TRA CTION "," ") CODE> le fera. Ou en fait: = si (compte ({"567"; "676"; "342"}, B: B)), "traction", "") code>
Désolé, j'ai des citations doubles parce que je tape ceci en tant que feuilles de macro ("données"). Plage ("I: i") = "= si (isnumber ({" "567" "}, B: B) ),""Traction"","""")"
@JVDV - Bah Je ne devrais jamais aller près des formules, je pensais avoir utilisé celui-ci dans le passé et cela avait travaillé. Toute la référence de colonne m'a confondu. Je supprimerai probablement cette réponse une fois que l'OP a réalisé.
@Sjr, votre formule va bien dès que vous changez les virgules en demi-côon. Mon vote est toujours là (même penser à votre formule> la mienne). Alors ne doutez pas!
@JVDV - merci. Le changement pour compter fonctionne pour moi (avec des virgules). Mais je ne comprends pas pourquoi et je ne comprends pas non plus la question des virgules / semi-deux et je n'aime pas poster des choses que je ne comprends pas vraiment!
@Sjr, j'ai essayé de visualiser la différence dans mon post. Espérons que cela vous enlève votre doute.
Vous pouvez évaluer plus d'une clause à l'aide de à l'aide de la fonction ou code>: ou code> vous permet de spécifier deux clauses ou plus Retour true code> si tout em> d'entre eux est vrai: p> ou code> est documenté ici . p> p>
C'est le long chemin, mais nie la nécessité de transposer (et éviterait une confusion possible =)). Upvoté
comme formule, vous pouvez simple essayer: Nous devons utiliser le semi-points pour évaluer chaque élément de la matrice contre toutes les valeurs du Note1: strong> Il s'agit d'une formule code> CSE et doit être saisie via CTRL KBD> Shifter kbd> entrer kbd> p> ou, en fonction de votre note3 : strong> selon ma réponse précédente, vous comparez des colonnes entières dans une formule de matrice. Sachez que cela aura une incidence sur votre performance. Je conseillerais votre prochaine étape consiste à obtenir des objets code> dynamiques code>. P> EDIT SUB> EM> < / Strong> P> Une petite explication sur la raison pour laquelle nous devons soit concentrons sur notre formule; La réponse est triples négative! Donc, dans ce cas, le résultat sera Maintenant comparons une matrice verticale contre une horizontale, notre formule ressemble maintenant à: Il y a un match positif dans notre matrice! Maintenant que cela comparait deux tableaux, nous devons B: B < / Code> Plage. P> locale code>: p>
transposer code> les valeurs de la colonne B: B code> ou celles de notre tableau. Imaginons quelques échantillons de données dans B1: B3 CODE>: P> Si (somme (- iSnumber (recherche ({567,676,342}, B1: B3)))> 0, "traction", "") code>. Remarquez comment nous comparons actuellement deux gammes verticales. Donc, fondamentalement, ce que nous demandons la formule pouvait ressembler à: p> "" code>. P> = si (somme ( --Isnumber (recherche ({567; 676; 342}, B1: B3)))> 0, "traction", "") code>, pour visualiser cela, vous pouvez penser à une matrice: p> < p>
P> CSE code> la formule. Et c'est pourquoi nous avons plutôt une plage spécifiée, par ex. B1: B3 CODE>, au lieu d'une référence de colonne complète. P> p>
Je pensais depuis longtemps de forcer la recherche pour rechercher plusieurs valeurs à la fois. Il s'avère que tout le sel est dans des virgules et des points-virgules. Ceux qui ont besoin de séparer des arguments par point-virgule dans des formules doivent faire la matrice de valeur opposée doit être séparée par des virgules.
@basic, très vrai. Dans mon cas personnel, ces virgules seront transformées en backslashes. Le point entier consiste à créer une matrice dans laquelle une matrice horizontale est comparée à une verticale.
Merci pour l'explication - cela explique pourquoi le nombre de travaux de comptage quand il n'est pas.
Est-ce un suivi sur Cette question? Si tel est le cas, cela pourrait être sage d'indiquer que vous le souhaitez à travers VBA.