MS Excel: MIN und FIND / SUCHEN

334
Nukesub

Ich versuche herauszufinden, was Excel mit diesen beiden Funktionen genau macht.

Ich habe viele Reihen von Strings in einer einzelnen Spalte. Ich möchte die erste Zahl in diesen Zeichenfolgen herausziehen. Die erste Zahl kann 0,1,2,3 ..., 9 sein und die Gesamtlänge der Zeichenfolge variiert. Ich möchte die erste Nummer finden und sie und alles danach zurückgeben. Ich habe bei Google den folgenden Code gefunden, als ich nach der ersten Zahl in einer Zeichenfolge gesucht habe, aber ich verstehe nicht, wie es funktioniert. Die einzige Änderung, die ich vorgenommen habe, ist, dass ich der IF-Anweisung eine Fehleraktion hinzugefügt habe.

=MIN(IF(ISNUMBER(FIND(,A1))=TRUE,FIND(,A1),"N/A")) 

Wenn ich das hier lese, heißt es folgendes: Befinden sich Zahlen in dem Array in meiner Zeichenfolge? Wenn dies der Fall ist, ISNUMBER() = TRUEwird übergeben und der Code führt die zweite FIND()Funktion aus. Dann übergibt er die Ergebnisse der zweiten FIND()Funktion (dh die Positionen aller Zahlen in der Zeichenfolge) an die MIN()Funktion, die das Minimum annimmt (dh die erste Position).

Das funktioniert zwar richtig, aber was ich nicht verstehe ist, wenn ich es ohne die IF-Anweisung mache, dann gibt es einen #VALUEFehler. Mit anderen Worten, wenn ich das tue

=MIN(FIND(,A1)) 

Ich komme #VALUEin die Ausgabezelle. Warum? Ich habe nur die IF-Erklärung herausgenommen, soweit ich sehen kann.

Kann mir jemand erklären, was mir hier fehlt. Ist es die Art und Weise, wie Excel Informationen aus der IF()Funktion weitergibt ?

0

1 Antwort auf die Frage

0
techraf

Mingibt Ihnen das Minimum an Zahlen in Ihrer Zeichenfolge A1, wenn also A1Buchstaben und Zahlen (zum Beispiel 123text0) Findohne Ifund enthalten, isnumeric()werden #valueanstelle von Zeichen und Zahlen anstelle von Ziffern gesetzt.

MIN(IF(ISNUMBER(FIND(,A1))=TRUE,FIND(,A1),"N/A"))setzt N/Astatt #valueund Minignoriert den Text N/A, kann den Fehler jedoch nicht ignorieren #value.

If()testet die Find()Zahlen, weil sie so, wenn isnumericist truees die Ziffern schreibt, wenn es nicht schreiben wird N/A Min(1,2,3,"N/A","N/A"..)=1, aber wenn Sie entfernen Ifdie Min(1,2,3,#value,#value..)=#value.