2013-04-20 40 views
7

Ich habe eine Excel-Arbeitsmappe mit 2 Arbeitsblättern: Länder und Unternehmen. Das Unternehmen Arbeitsblatt wird teilweise ausgefüllte in durch VLOOKUP s in den Ländern Arbeitsblatt wie folgt:Excel: Wie lassen Zelle leer (statt 0), wenn SVERWEIS keine Übereinstimmung hat?

Länder:

 A  B 
1 COUNTRY HOF_LTO 
2 Belgium 4 
3 Japan  5 
4 Spain 
5 Sweden  0 

Unternehmen:

A   B  C 
1 COMPANY COUNTRY HOF_LTO 
2 Belgacom Belgium 4 
3 Onkyo Japan  5 
4 Sony  Japan  5 
5 ATTM  Spain  0 
6 Nokia Sweden  0 

Ich Fülle die C Säule unter Verwendung von die Formel:

=VLOOKUP($B2;countries!$A$1:$C$5;MATCH(companies!B$1;countries!$1:$1;0);FALSE) 

Was geht wron g ist: obwohl Spain keinen HOF_LTO-Wert in Ländern hat, setzt die Formel 0 als den entsprechenden Wert in Zelle companies!C5. Stattdessen sollte es die Zelle leer lassen und nur eine Null (0) eingeben, wenn es 0 in der Länder-Registerkarte sagt, wie es in Schweden der Fall ist.

Wie muss ich die Formel bearbeiten, damit die Zellen leer bleiben, wenn kein Länderwert zutrifft?

+1

Sie können 'IF()' Sie Ihre aktuelle Formel zu zweimal (je einer im Vergleich und einmal in dem wahren (oder falsch) gesetzt und die anderen zu "" zB: '= IF (SVERWEIS = 0," ", SVERWEIS)' (Teil der Frage verpasst, jetzt neu gelesen: D) – NickSlash

+0

Ich dachte daran, aber mein Excel ist langsam, weil es wegen der (Zehntausende von VLOOKUPs, wie es ist, ich hatte auf eine weniger ressourcenintensive Lösung gehofft :-) – Pr0no

+2

Gibt es einen Grund, warum Sie das nicht mit einer richtigen Datenbankanwendung machen?Wenn Sie viele Zehntausende von Aufzeichnungen haben, sehen Sie wahrscheinlich dieses Problem, als wäre es ein Nagel, weil Sie einen Hammer halten. Was Sie wirklich brauchen, ist ein Schraubenzieher (d. H. SQL Server, MS Access etc.) – JustinJDavies

Antwort

4

Wenn in Ihrem Land Blatt alle Länder sind nur vorhanden, wenn Sie die folgenden anstelle verwenden:

=IF(ISNUMBER(OFFSET(countries!$B$1;MATCH(B2;countries!A:A;0)-1;0)); 
    OFFSET(countries!$B$1;MATCH(B2;countries!A:A;0)-1;0); 
    "") 
+0

Beim ersten Versuch ist ein Fehler aufgetreten, bitte lesen Sie diese korrigierte Version! –

+0

Wenn das funktioniert, warum habe ich die ganze Zeit SVERWEIS verwendet? (aktuelle Frage!) – Pr0no

+0

Sie haben vlookup benutzt, weil das Nachschlagen normalerweise nicht die Unterscheidung erfordert, die Sie dieses Mal brauchen! Freut mich, Ihnen geholfen zu haben –

0

Alternativ kann, wenn es nur die Präsentation der Daten, die Sie steuern müssen, anpassen die Zellenformatierung, um 0 Werte als leer anstelle der Ziffer Null anzuzeigen.

+3

Es sieht so aus, als ob einige Länder 0 sein sollten, wie im Falle von 'Schweden'. – user2140261

-1

Einfache Lösung: Suchen und ersetzen Sie das gesamte Array Ihrer Länder Quellarbeitsmappe und ersetzen leere Zellen durch @. (Stellen Sie sicher, dass "Nur ganze Zellen finden" aktiviert ist, wenn Sie die Option "Alle ersetzen" verwenden.) Gehen Sie dann zurück und führen Sie Ihre vlookups aus. Kopieren und fügen Sie Werte ein, um die vlookups loszuwerden und nur die Ergebnisse zu behalten. Suchen und ersetzen Sie nun @ Symbole mit nichts in der Zieldatei. Voilà.

7
=CONCATENATE(VLOOKUP($B2;countries!$A$1:$C$5;MATCH(companies!B$1;countries!$1:$1;0);FALSE)) 

Verketten stellt sicher, dass die Daten wie eine Zeichenfolge statt einer Zahl behandelt werden. Wenn der Wert nur eine leere Zelle ist, erhalten Sie einfach eine leere Zelle.

+0

Ja, das gefällt mir sehr. Vielen Dank! – BoydDensmore

+1

Zumindest für geeignete Formate scheint dies der akzeptierten Antwort weit überlegen zu sein. Es funktioniert auch für Zahlen, da die tatsächlichen Nullen in der Quelle immer noch als Nullen dargestellt werden - obwohl die gesamte Spalte als Text ausgegeben wird, der bestimmte Formeln enthält (in diesem Fall aber nicht meine). –

+1

können Sie tun: = "" & SVERWEIS ($ B2; Länder! $ A $ 1: $ C $ 5 –

15

Dies sollte es lösen:

=VLOOKUP(...) & "" 

Diese Excel in die Herstellung dieser Zelle Referenz einen Textwert zwingen wird, so die Umwandlung von Rohlingen in Nullen zu verhindern.

Entnommen https://superuser.com/a/906954/222835

+0

Einfach und effektiv. Vielen Dank für das Teilen dieser Antwort. – w5m

+0

Ich wünschte, ich könnte das hundert Mal mehr upvote, so einfach und die anderen Lösungen sind wirklich chaotisch –

Verwandte Themen