Excel-Surmonter l'erreur #VALUE avec la fonction FIND

11

Dans la cellule A1, j'ai entré "Apple". En B2, j'entre la formule =FIND("Apple",A:A). Cependant, je continue à recevoir des #VALUEerreurs. Quelqu'un peut-il expliquer cela et comment le surmonter?

Gh0sT
la source
Jetez un œil à la recherche de données dans un tableau Excel .
rickhg12hs
1
Veuillez expliquer ce que vous essayez d'accomplir afin que nous puissions vous aider. FINDest utilisé pour localiser une chaîne de texte dans un ensemble de texte donné, puis retourne sa position dans la chaîne de texte. Vous utilisez peut-être la mauvaise fonction, selon ce que vous essayez de faire.
CharlieRB
J'essaie essentiellement de rechercher une chaîne de texte dans une colonne. La position du texte dans la colonne n'est pas fixe. Dois-je utiliser une autre fonction et où vais-je me tromper FIND?
Gh0sT
La fonction FIND fonctionne si je devais plutôt entrer la formule dans la cellule B1 ... étrange!
Gh0sT
1
Normalement, vous appliquez FINDà une seule cellule - si vous utilisez =FIND("Apple",A:A)dans B2Excel renvoie en fait un "tableau" de valeurs .... mais celui que vous voyez dans la cellule sera le résultat de la colonne A cellule sur la même ligne, donc si A2 ne contient pas "Apple", vous obtenez #VALUE !, mais en B1, vous obtenez un nombre - encore mieux d'utiliser une seule cellule .....
barry houdini

Réponses:

4

Si vous souhaitez trouver la première cellule (ligne) dans la colonne Aqui contient le mot «pomme», éventuellement dans le cadre d'un mot plus grand (par exemple, «pommetier» ou «compote de pommes») ou une phrase, utilisez

=MATCH("*apple*", A:A, 0)
Scott
la source
Et puisque cela répond à la partie ce que je devrais utiliser à la place ... Je marque cela comme la réponse ... merci!
Gh0sT
21

Trouvez des looks dans une cellule, pas dans une plage de cellules. Le composant de syntaxe à l'intérieur de_text examine une chaîne particulière, mais une plage de cellules n'est pas une chaîne. Vous pourrez peut-être y parvenir avec un tableau, mais l'approche la plus simple serait de créer une colonne de recherche; créez une colonne à côté de la colonne que vous souhaitez rechercher et ajoutez la formule dans chaque cellule adjacente, de sorte qu'en B2, l'instruction within_text serait A2.

=FIND("Apple",A1)


J'ai l'impression que vous essayez de trouver le nombre d'instances du mot Apple. Si cela est correct, vous pouvez utiliser à la place cette formule:

=COUNTIF(A:A,"Apple")

Mais cela ne vous donnera que le nombre de toutes les instances du mot Apple dans la colonne A, où Apple est le contenu entier de cette cellule.


Si vous voulez compter toutes les instances où une cellule contient Apple, même si elle contient également d'autres mots (par exemple Apple Pie), vous devrez revenir à votre instruction FIND dans une colonne supplémentaire et utiliser une instruction IF, peut-être quelque chose comme cette:

=IF(ISERROR(FIND("Apple",$A2)),0,1)

Cela retournera un 0 si l'instruction FIND entraîne une erreur, et sinon retournera un 1. Vous pouvez ensuite simplement additionner cette colonne pour obtenir le nombre de cellules avec le mot Apple quelque part en leur sein.

CLockeWork
la source
Merci pour votre explication ... cela répond à la partie où je me trompais avec FIND.
Gh0sT
0

Analyser les valeurs dans une cellule à l'aide de la fonction Rechercher et surmonter le #VALUE!résultat

Récupérer de la valeur avant la découverte de "&"

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,1,FIND("&",B:B)-1),TRIM(B:B))

Récupérer de la valeur après la découverte de "&"

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,FIND("&",B:B)+1,99),"")

Explication

  1. Testez l'erreur FIND et remplacez par 0
  2. Test avec l'extérieur Si
  3. Résoudre si les résultats

Exemple 1

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,FIND("&",B:B)+1,99),"")
  • La cellule contient Mary et David
  • La valeur devient 6 pour la découverte
  • Commencer à la position à droite ramasser la valeur
  • Le résultat est "David"

Exemple: 2

  • La cellule contient Mary
  • La valeur devient 0
  • Le résultat est nul

Exemple: 3

Récupérer de la valeur avant le "&"

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,1,FIND("&",B:B)-1),TRIM(B:B))
  • La cellule contient Mary et David
  • Le résultat est Mary
Paul Katzmark
la source
1
Pouvez-vous ajouter un peu de contexte à votre réponse? On ne sait pas très bien comment cela résout la question d'origine.
Burgi
@Burgi - Au contraire, c'est très clair. Paul a surmonté l' Find()habitude frustrante de la fonction de renvoyer une erreur si le texte de recherche n'existe pas dans la chaîne recherchée. C'est une réponse précieuse - vous devriez la voter, comme je viens de le faire, au lieu de la diminuer. (Il répond également à la question originale du PO, bien que d'une manière différente.)
InteXX
@InteXX si vous remarquez que le commentaire a été fait en février 2016 et qu'une modification a été effectuée peu de temps après. Si vous pensez que mon commentaire n'était plus nécessaire, vous devez le signaler.
Burgi
@Burgi - C'était une très bonne édition. Et pardonnez-moi ... J'ai parlé à tour de rôle en déclarant que vous "devriez" faire une chose ou une autre. J'ai également supposé que vous étiez le downvoter, ce qui était également incorrect. Si vous notez la déclaration dans mon profil, vous verrez que le vote en aval - et le signalement - sont des choses auxquelles je choisis de ne pas participer. Mais merci pour votre aimable offre.
InteXX