Excel # Superamento errore #VALORE con la funzione FIND


11

Nella cella A1 ho inserito "Apple". In B2 inserisco la formula =FIND("Apple",A:A). Tuttavia continuo a ricevere #VALUEerrori. Qualcuno può spiegare questo e come posso superarlo?



1
Spiega cosa stai cercando di realizzare in modo che possiamo aiutarti. FINDviene utilizzato per individuare una stringa di testo all'interno di una determinata serie di testo, quindi restituisce la posizione di essa all'interno della stringa di testo. È possibile che tu stia utilizzando la funzione sbagliata, a seconda di ciò che stai cercando di fare.
Charlie,

Sto fondamentalmente cercando di cercare una stringa di testo all'interno di una colonna. La posizione del testo all'interno della colonna non è fissa. Dovrei usare qualsiasi altra funzione e dove sto sbagliando FIND?
Gh0sT

La funzione FIND funziona se dovessi invece inserire la formula nella cella B1 ... strano!
Gh0sT

1
Normalmente si applica FINDa una singola cella - se si utilizza =FIND("Apple",A:A)in B2Excel restituisce effettivamente un "array" di valori .... ma quello che si vede nella cella sarà il risultato della colonna A cella sulla stessa riga, quindi se A2 non contiene "Apple" ottieni #VALUE! ma in B1 ottieni un numero - ancora meglio usare una singola cella .....
Barry Houdini,

Risposte:


4

Se vuoi trovare la prima cella (riga) nella colonna Ache contiene la parola "mela", possibilmente come parte di una parola più grande (ad esempio, "crabapple" o "salsa di mele") o una frase, usa

=MATCH("*apple*", A:A, 0)

E poiché questo risponde alla parte che dovrei usare invece ... Lo segnerò come risposta ... grazie!
Gh0sT

21

Trova gli sguardi in una cella, non in un intervallo di celle. Il componente di sintassi entro_testo sta guardando una stringa particolare, ma un intervallo di celle non è una stringa. Potresti riuscire a raggiungerlo con un array, ma l'approccio più semplice sarebbe quello di creare una colonna finder; crea una colonna accanto alla colonna che desideri cercare e aggiungi la formula in ogni cella adiacente, quindi in B2 l'istruzione Within_text sarebbe A2.

=FIND("Apple",A1)


Ho la sensazione che tu stia cercando di trovare il numero di istanze della parola Apple. Se questo è corretto, puoi invece utilizzare questa formula:

=COUNTIF(A:A,"Apple")

Ma questo ti darà solo un conteggio di tutte le istanze della parola Apple nella colonna A, dove Apple è l'intero contenuto di quella cella.


Se vuoi contare tutti i casi in cui una cella contiene Apple, anche se contiene anche altre parole (ad esempio Apple Pie), dovrai tornare alla tua istruzione FIND in una colonna aggiuntiva e utilizzare un'istruzione IF, forse qualcosa del tipo Questo:

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

Questo restituirà uno 0 se l'istruzione FIND si traduce in un errore, altrimenti restituirà uno 1. Puoi quindi semplicemente sommare quella colonna per ottenere il conteggio delle celle con la parola Apple da qualche parte al loro interno.


Grazie per la tua spiegazione ... questo risponde alla parte in cui stavo sbagliando con FIND.
Gh0sT

0

Analizzare i valori in una cella usando la funzione Trova e superare il #VALUE!risultato

Raccogliere valore prima della ricerca di "&"

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

Raccogliere valore dopo aver trovato "&"

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

Spiegazione

  1. Verifica l'errore FIND e sostituisci con 0
  2. Prova usando if esterno
  3. Risolvi se i risultati

Esempio 1

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,FIND("&",B:B)+1,99),"")
  • Cell contiene Mary & David
  • Il valore diventa 6 per la ricerca
  • A partire dalla posizione verso destra raccogliere valore
  • Il risultato è "David"

Esempio: 2

  • Cell contiene Mary
  • Il valore diventa 0
  • Il risultato è nullo

Esempio: 3

Raccogliere valore prima del "&"

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,1,FIND("&",B:B)-1),TRIM(B:B))
  • Cell contiene Mary & David
  • Il risultato è Maria

1
Puoi aggiungere un po 'di contesto alla tua risposta? Non è molto chiaro su come risolva la domanda originale.
Burgi,

@Burgi - Al contrario, è molto chiaro. Paul ha superato l' Find()abitudine frustrante della funzione di restituire un errore se il testo di ricerca non esiste nella stringa cercata. Questa è una risposta preziosa: dovresti votarla, come ho appena fatto, invece di votarla. (Risponde anche alla domanda originale del PO, anche se in modo diverso.)
InteXX

@InteXX se noti che il commento è stato fatto nel febbraio 2016 e che è stata apportata una modifica poco dopo. Se ritieni che il mio commento non fosse più necessario, dovresti contrassegnarlo.
Burgi,

@Burgi - È stata una modifica abbastanza buona. E scusami ... Ho parlato a turno dicendo che "dovresti" fare una cosa o l'altra. Ho anche pensato che tu fossi il downvoter, che era anche improprio. Se noterai l'affermazione nel mio profilo, vedrai che il downvoting e la segnalazione sono cose a cui scelgo di non partecipare. Ma grazie per la tua gentile offerta.
InteXX
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.