0
votes

Ajouter une ou une fonction à l'instruction

Comment faire cette formule recherche 567 ou 676 ou 342 au lieu de 567 ce qu'il est pour le moment. xxx


1 commentaires

Est-ce un suivi sur Cette question? Si tel est le cas, cela pourrait être sage d'indiquer que vous le souhaitez à travers VBA.


3 Réponses :


1
votes

Essayez ceci. Vous n'avez pas besoin des caractères génériques avec la recherche. XXX


9 commentaires

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 =)> = if ({"567 "," 676 "," 342 "}, transpose (B1: B3)))," TRA CTION "," ") le fera. Ou en fait: = si (compte ({"567"; "676"; "342"}, B: B)), "traction", "")


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.



2
votes

Vous pouvez évaluer plus d'une clause à l'aide de ou : xxx

à l'aide de ou vous permet de spécifier deux clauses ou plus Retour true si tout d'entre eux est vrai: xxx

la fonction ou est documenté ici .


1 commentaires

C'est le long chemin, mais nie la nécessité de transposer (et éviterait une confusion possible =)). Upvoté



2
votes

comme formule, vous pouvez simple essayer: xxx

Nous devons utiliser le semi-points pour évaluer chaque élément de la matrice contre toutes les valeurs du B: B < / Code> Plage.

Note1: Il s'agit d'une formule CSE et doit être saisie via CTRL Shifter entrer

NOTE2: S'il s'agit bien d'un suivi de votre question précédente, vous devez entrer comme ça Ainsi: xxx

ou, en fonction de votre locale : xxx

note3 : 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 dynamiques .


EDIT < / Strong>

Une petite explication sur la raison pour laquelle nous devons soit transposer les valeurs de la colonne B: B ou celles de notre tableau. Imaginons quelques échantillons de données dans B1: B3 :

 Entrez la description de l'image ici

concentrons sur notre formule; Si (somme (- iSnumber (recherche ({567,676,342}, B1: B3)))> 0, "traction", "") . Remarquez comment nous comparons actuellement deux gammes verticales. Donc, fondamentalement, ce que nous demandons la formule pouvait ressembler à:

Entrez la description de l'image ici >  Entrez la description de l'image ici

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 à: = si (somme ( --Isnumber (recherche ({567; 676; 342}, B1: B3)))> 0, "traction", "") , pour visualiser cela, vous pouvez penser à une matrice: < p>  Entrez la description de l'image ici

Il y a un match positif dans notre matrice! Maintenant que cela comparait deux tableaux, nous devons CSE la formule. Et c'est pourquoi nous avons plutôt une plage spécifiée, par ex. B1: B3 , au lieu d'une référence de colonne complète.


3 commentaires

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.