Excel # Pokonywanie błędu # WARTOŚĆ z funkcją ZNAJDŹ

11

W komórce A1 wpisałem „Apple”. W B2 wpisuję formułę =FIND("Apple",A:A). Jednak ciągle pojawia się #VALUEbłąd. Czy ktoś może to wyjaśnić i jak to przezwyciężyć?

Gh0sT
źródło
1
Wyjaśnij, co próbujesz osiągnąć, abyśmy mogli Ci pomóc. FINDsłuży do zlokalizowania ciągu tekstu w danym zestawie tekstu, a następnie zwraca jego pozycję w ciągu tekstu. Być może używasz niewłaściwej funkcji, w zależności od tego, co próbujesz zrobić.
CharlieRB,
Zasadniczo próbuję wyszukać ciąg tekstowy w kolumnie. Pozycja tekstu w kolumnie nie jest stała. Czy powinienem używać innej funkcji i do czego się mylę FIND?
Gh0sT
Funkcja ZNAJDŹ działa, gdybym zamiast tego wprowadził formułę do komórki B1 ... dziwne!
Gh0sT
1
Zwykle stosuje się FINDdo pojedynczej komórki - jeśli użyjesz =FIND("Apple",A:A)w programie B2Excel, faktycznie zwraca „tablicę” wartości .... ale ta, którą zobaczysz w komórce, będzie wynikiem z komórki A kolumny w tym samym wierszu, więc jeśli A2 nie zawiera „Jabłka”, dostajesz # WARTOŚĆ !, ale w B1 dostajesz liczbę - wciąż najlepiej użyć pojedynczej komórki .....
Barry Houdini

Odpowiedzi:

4

Jeśli chcesz znaleźć pierwszą komórkę (wiersz) w kolumnie Azawierającą słowo „jabłko”, być może jako część większego słowa (np. „Kraba” lub „musu jabłkowego”) lub zdania, użyj

=MATCH("*apple*", A:A, 0)
Scott
źródło
A ponieważ to odpowiada części, której powinienem użyć zamiast tego ... Oznaczam to jako odpowiedź ... dziękuję!
Gh0sT,
21

Znajdź wygląd w komórce, a nie w zakresie komórek. Składnik składniowy w tekście szuka określonego ciągu, ale zakres komórek nie jest łańcuchem. Możesz być w stanie to osiągnąć za pomocą tablicy, ale najprostszym podejściem byłoby utworzenie kolumny wyszukiwarki; utwórz kolumnę obok kolumny, którą chcesz przeszukać, i dodaj formułę do każdej sąsiedniej komórki, więc w B2 instrukcja wewnątrz_tekstu to A2.

=FIND("Apple",A1)


Mam wrażenie, że próbujesz znaleźć liczbę wystąpień słowa Apple. Jeśli jest to poprawne, możesz zamiast tego użyć tej formuły:

=COUNTIF(A:A,"Apple")

Ale da to tylko liczbę wszystkich wystąpień słowa Apple w kolumnie A, gdzie Apple to cała zawartość tej komórki.


Jeśli chcesz policzyć wszystkie przypadki, w których komórka zawiera Apple, nawet jeśli zawiera także inne słowa (np. Apple Pie), musisz wrócić do instrukcji FIND w dodatkowej kolumnie i użyć instrukcji IF, może coś w rodzaju to:

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

Zwróci to 0, jeśli instrukcja FIND spowoduje błąd, a w przeciwnym razie zwróci 1. Możesz wtedy po prostu zsumować tę kolumnę, aby uzyskać liczbę komórek ze słowem Apple gdzieś w nich.

CLockeWork
źródło
Dzięki za wyjaśnienie ... to odpowiada części, w której popełniłem błąd w ZNAJDŹ.
Gh0sT,
0

Analiza wartości w komórce za pomocą funkcji Znajdź i przezwyciężenie #VALUE!wyniku

Zbieranie wartości przed znalezieniem „&”

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

Podnoszenie wartości po znalezieniu „&”

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

Wyjaśnienie

  1. Sprawdź pod kątem błędu ZNAJDŹ i zamień na 0
  2. Przetestuj za pomocą zewnętrznego If
  3. Rozwiąż, jeśli wyniki

Przykład 1

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,FIND("&",B:B)+1,99),"")
  • Komórka zawiera Mary i David
  • Wartość staje się 6 dla znaleziska
  • Zaczynając od pozycji do prawej, podnieś wartość
  • Wynik to „David”

Przykład: 2

  • Komórka zawiera Maryję
  • Wartość staje się 0
  • Wynik jest zerowy

Przykład: 3

Zbieranie wartości przed „&”

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,1,FIND("&",B:B)-1),TRIM(B:B))
  • Komórka zawiera Mary i David
  • Rezultatem jest Mary
Paul Katzmark
źródło
1
Czy możesz dodać kontekst do swojej odpowiedzi? Nie jest jasne, w jaki sposób rozwiązuje oryginalne pytanie.
Burgi
@Burgi - Wręcz przeciwnie, jest to bardzo jasne. Paul przełamał Find()frustrujący nawyk zwracania błędu, jeśli szukany tekst nie istnieje w wyszukiwanym ciągu. To cenna odpowiedź - należy ją głosować, tak jak teraz, zamiast głosować za nią. (Odpowiada również na oryginalne pytanie OP, choć w inny sposób.)
InteXX
@InteXX, jeśli zauważysz, że komentarz został opublikowany w lutym 2016 r., A wkrótce potem dokonano edycji. Jeśli uważasz, że mój komentarz nie był już potrzebny, powinieneś go oflagować.
Burgi,
@Burgi - To była całkiem niezła edycja. I wybacz mi ... Mówiłem poza kolejnością, stwierdzając, że „powinieneś” zrobić coś takiego. Założyłem również, że byłeś zwycięzcą, co również było niewłaściwe. Jeśli zauważysz oświadczenie w moim profilu, zobaczysz, że głosowanie w dół - i oznaczanie - to rzeczy, w których postanowiłem nie brać udziału. Ale dziękuję za łaskawą ofertę.
InteXX,