2016-06-21 6 views
0

Ich brauche eine Formel, die Folgendes ausführt: (1) Wenn der Wert in Raw $ G = A5, UND (2) Wenn der Wert von Raw $ J = ng/L OR mg/L ODER ug/L, geben Sie dann den Wert "mg/L" zurück, sonst geben Sie den Wert in Spalte J zurück. Ich habe meine beiden Versuche unten kopiert (der eine verwendet ein Vlookup, der andere bezieht sich nur darauf) Spalte J direkt). Beide geben den Wert in J unabhängig zurück, so als ob die erste Hälfte meiner Gleichung nicht richtig interpretiert würde. Irgendwelche Gedanken darüber, was ich vermisse, sind willkommen!Verschachtelte IF, UND, ODER, SVERWEIS-Anweisung Excel 2016

=IF(OR(Raw!$J:$J="ng/L",Raw!$J:$J="ug/L",Raw!$J:$J="mg/L"),IF(Raw!$G:$G=$A6,"mg/L",Raw!$J:$J)) 


=IF(OR(Raw!$J:$J="ng/L",Raw!$J:$J="ug/L",Raw!$J:$J="mg/L"),IF(Raw!$G:$G=$A5,"mg/L",VLOOKUP($A5,Raw!$G:$J,4,FALSE))) 

Antwort

2

versuchen Sie dies:

=If(OR(INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))="ng/L",INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))="mg/L",INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))="ug/L"),"mg/l",INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))) 

Es sollte das tun, was Sie wollen. Es wird einen Fehler verursachen, wenn der Wert in A5 nicht in Raw! G: G gefunden wird. Wenn Sie mit diesem Fehler umgehen möchten, dann wickeln Sie es in ein IFERROR():

=IFERROR(If(OR(INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))="ng/L",INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))="mg/L",INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))="ug/L"),"mg/l",INDEX(Raw!J:J,MATCH(A5,Raw!G:G,0))),A5 & " Not Found") 
+0

Das funktionierte wunderbar - danke. Woher weißt du, wann du die INDEX/MATCH-Kombination anstelle von Vlookup verwenden musst? – KRD

+0

Sie hätten in diesem Fall den VLookup verwenden können. Vlookup funktioniert nur, wenn sich die gesuchten Daten links von den Daten befinden, die Sie zurückgeben. In diesem Fall kam mir Index/Match als erstes in den Sinn. Das Vlookup wäre 'SVERWEIS (A5, Raw! G: J, 4, FALSCH)' Es sollte anstelle von INDEX/MATCH funktionieren. @ KRD –