2017-11-21 1 views
1

Ich verwende die folgende Formel, um eine 1 zu geben, wenn eine CS-Nummer in der Zelle vorhanden ist, und eine 0, wenn dies nicht der Fall ist. Die verschachtelte Formel funktioniert ordnungsgemäß.So verweisen Sie auf "#WERT!" in Excel-Funktion

Das Problem ist mit der externen IF-Funktion. Was passiert ist, dass, wenn es keine CS-Nummer findet, es #VALUE! in der Zelle ergibt. Wenn das passiert, möchte ich, dass die Zelle 1 sagt.

Mit der folgenden Funktion füllt sie immer noch #VALUE! aus, wenn eine CS-Nummer nicht gefunden wird.

=IF(IF(ISERR(NUMBERVALUE(MID(K2,SEARCH("CS",K2)+M39,1))),MID(K2,SEARCH("CS",K2),9),MID(K2,SEARCH("CS",K2),10)) = "#VALUE!", 1, 0) 


Gibt es einen geeigneteren Weg, dies zu referenzieren 1 statt zu erhalten?

Antwort

3

Ironischerweise #VALUE! ist kein Wert, so dass Sie nicht eine Vergleichsfunktion wie If können damit umgehen, als wäre es ein String ist.

Ändern Sie Ihre Formel:

=IFERROR(IF(ISERR(NUMBERVALUE(MID(K2,SEARCH("CS",K2)+M39,1))),MID(K2,SEARCH("CS",K2),9),MID(K2,SEARCH("CS",K2),10)),1) 

... und es wird ein 1 statt #VALUE! zurück, wenn der Text die Sie suchen nicht gefunden wird.

1

Haben Sie versucht,

=IFERROR(your formula here, 1) 

Im Grunde ist es Ihre Formel wie gewohnt auswertet, aber wenn etwas in Ihrer Formel einen Fehler zurückgibt, erhalten Sie eine 1 im Gegenzug bekommen.

Mithilfe dieser Idee können Sie jeden Teil Ihrer Formel in einen IFERROR-Code umbrechen, um den Standardwert zu definieren, der zurückgegeben werden soll, wenn ein solcher gefunden wird. Ein bisschen verschwenderisch.

Verwandte Themen