2012-12-06 21:09:17 +0000 2012-12-06 21:09:17 +0000
27
27

Leer anzeigen, wenn Sie eine leere Zelle in Excel 2010 referenzieren

Ich habe eine Excel 2010-Arbeitsmappe, die eine Reihe von einzelnen Arbeitsblättern enthält. Die Zellen auf einem der Blätter sind mit einzelnen Zellen auf zwei anderen Arbeitsblättern in derselben Arbeitsmappe verknüpft. Ich verwende einen direkten Zellverweis, der im Wesentlichen besagt, dass jeder Wert, der in eine bestimmte Zelle auf einem Blatt eingegeben wird, auch die Zellen auf zwei anderen Blättern ausfüllt. Ich habe die (=)-Funktion mit dem Zellbezug verwendet, um dies zu erreichen.

Das Problem, auf das ich stoße, ist, dass, selbst wenn die primäre Zelle leer gelassen wird, die Zellen, die von dieser primären Zelle aufgefüllt werden, 0 anzeigen, anstatt selbst leer zu bleiben.

Ich möchte, dass die untergeordneten Zellen leer bleiben, wenn die primäre Zelle, mit der sie verknüpft sind, leer ist.

Antworten (17)

51
51
51
2015-04-28 04:56:10 +0000

Sie müssen Excel dazu zwingen, den Inhalt der Zelle als Textwert und nicht als Zahl zu behandeln, was es bei leeren Werten automatisch tut.

=A2 & ""

Dies zwingt Excel dazu, den Zellbezug als Textwert zu behandeln und verhindert so die Umwandlung von Leerzeichen in Nullen.

18
18
18
2012-12-06 21:30:16 +0000

Hier sind drei Antworten:

1) Lassen Sie ander.cell.reference die Referenzformel repräsentieren, die Sie derzeit nach dem = haben (z.B., Sheet17!$H$42), und ersetzen Sie diese Verknüpfungsreferenz durch

=IF(other.cell.reference<>"",other.cell.reference, "")

2) Setzen Sie das Format “Zahl” Ihrer verknüpften Zellen auf “Benutzerdefiniert”: General;–General;.

3) Deaktivieren Sie in den “Excel-Optionen” auf der Seite “Erweitert” im Abschnitt “Anzeigeoptionen für dieses Arbeitsblatt” das Kontrollkästchen “In Zellen, die einen Nullwert haben, eine Null anzeigen”.  Achtung: Dadurch verschwinden alle Nullen im Arbeitsblatt.

4
4
4
2015-04-28 04:19:06 +0000

WENN Ihre Referenzdaten nur entweder ein numerischer Typ (Nicht-Text) oder leer sind, und Sie möglicherweise 0’s haben, dann ist dies mein bevorzugter Ansatz, mit nur einmaliger Eingabe der Formel. Zugegeben, ein etwas indirekter Weg, aber ich denke, es ist der beste, weil:

  • Sie brauchen keine zusätzlichen Zellen, um die Formel einzugeben und dann die zweiten Zellen zu referenzieren
  • Sie müssen die Formel nicht zweimal eingeben
  • diese Methode unterscheidet zwischen einem Nullwert und einer leeren Zelle
  • benötigt kein VBA
  • benötigt keine benannten Bereiche

Downfall : Wenn Sie Textdaten zurückgeben müssen, wird dies nicht funktionieren. Für Textdaten bevorzuge ich die Verwendung des Zahlenformats, wie in anderen Antworten oben erwähnt.

=IFERROR((A1 & "") * 1,"")

A1 kann in diesem Fall durch eine beliebige Zelle ersetzt werden, einschließlich eines anderen Blattes, einer Arbeitsmappe oder INDIRECT().

Hinweise, wie das funktioniert:
IFERROR() - das zweite Argument ist auf eine leere Zeichenkette gesetzt, so dass wir bei einem Fehler eine leere Zeichenkette erhalten. Wir müssen also sicherstellen, dass, wenn die Quellzelle leer ist, ein Fehler ausgelöst wird.

Numerische Methode : Stringify den Quellwert, dann multiplizieren mit 1. Literal emtpy string * 1 = #VALUE, String mit numerisch wird automatisch in numerisch konvertiert und kein Fehler tritt auf.

4
4
4
2015-06-08 10:22:15 +0000

Es gibt noch einen weiteren Trick: Setzen Sie die letzte leere Zelle auf die Formel ="". Siehe die detaillierte Beschreibung hier.

2
2
2
2014-07-25 12:35:30 +0000

Auch ich habe keine bessere Lösung als die von Scott gefunden.

Aber kombiniert mit dem Ansatz von hier könnte es fast erträglich sein, denke ich: http://www.ozgrid.com/Excel/named-formulas.htm

Sagen wir, ich habe eine Formel wie diese

= IFERROR( INDEX(INDIRECT("EsZkouska");
  SMALL(IF((INDEX(INDIRECT("EsZkouska");;1‌​;1)="ČSN721180")*(INDEX(INDIRECT("EsZkouska");;9;1)="RC_P_B");
  ROW(INDIRECT"EsZkouska"))-MIN(ROW(INDIRECT("EsZkouska")))+1;"");1);17;1);"")

Diese Formel liest Zellwerte aus einem Datenblatt mit bedingter Auswahl und stellt sie auf einem anderen Blatt dar. Ich habe keine Kontrolle über die Zellformatierung auf dem Datenblatt.

Ich gehe auf Einfügen > Name > Definieren und in den “Namen in Arbeitsmappe” lege ich einen neuen Namen “RC_P_B” an. Dann kopiere ich in das Feld “Bezieht sich auf” meine Formel (ohne {}-Zeichen - es ist eine Array-Formel).

Dann kann man die Formel von Scott verwenden, ohne den ganzen Formeltext wiederholen zu müssen:

{=IF(RC_P_B<>""; RC_P_B;"---")}

Ich glaube, das ist besser, als die ganze Formel zu kopieren.

2
2
2
2014-11-09 06:28:11 +0000

Ich verwende einfach keine Formel, um dieses Problem zu lösen. Alles, was ich tue, ist, Zellen bedingt auf die Schriftfarbe Weiß zu formatieren, wenn der Zellwert gleich 0 ist.

1
1
1
2015-06-11 03:35:03 +0000

Ich habe lange nach einer eleganten Lösung für dieses Problem gesucht.

Ich habe jahrelang die Formel =if(a2=“”,“”,a2) verwendet, aber ich finde sie ein bisschen umständlich.

Ich habe den obigen Vorschlag =a2&“” ausprobiert, und obwohl es zu funktionieren scheint, zeigt es eine Zahl an, die eigentlich Text ist, so dass keine Zahlenformatierung angewendet werden kann und keine statistischen Operationen funktionieren, wie z. B. Summe, Durchschnitt, Median usw., wenn Sie also brauchbare Zahlen suchen, ist dies nicht die richtige Lösung.

Ich habe mit einigen der anderen Funktionen experimentiert und die meiner Meinung nach bisher eleganteste Lösung gefunden. Das obige Beispiel fortsetzend:

=ZELLE(“Inhalt”,A2)

gibt einen numerischen Wert zurück, der als Zahl formatiert werden kann, und es gibt ein Leerzeichen zurück, wenn die referenzierte Zelle leer ist. Aus irgendeinem Grund scheint diese Lösung in keinem der Online-Vorschläge aufzutauchen, die ich gefunden habe, aber sie

1
1
1
2017-06-22 12:20:12 +0000

Lösung für Excel 2010:

  1. Öffnen Sie “Datei”
  2. Drücken Sie “Optionen”
  3. Klicken Sie auf “Erweitert”
  4. Unter “Anzeigeoptionen” für dieses Arbeitsblatt “BBBB”
  5. Deaktivieren Sie das Kontrollkästchen “Einen Nullwert für Zellen anzeigen, die einen Nullwert haben”.
1
1
1
2012-12-06 21:30:05 +0000

Wenn die verknüpfte Zelle nicht nummerisch ist, können Sie eine IF-Anweisung mit ISTEXT verwenden:

=IF(ISTEXT(Sheet1!A2), Sheet1!A2, "")
0
0
0
2018-04-22 16:42:25 +0000

Ich habe die bedingte Formatierung verwendet, um die Schrift so zu formatieren, dass sie dieselbe Farbe wie der Zellhintergrund hat, wenn der Zellwert gleich Null war.

0
0
0
2016-01-08 17:33:14 +0000
Public Function FuncDisplayStringNoValue(MyCell As Variant) As String

Dim Result As Variant

If IsEmpty(MyCell) Then

   FuncDisplayStringNoValue = "No Value"

Else
   Result = CDec(MyCell)

   Result = Round(Result, 2)

   FuncDisplayStringNoValue = "" & Result

   End If

End Function
-1
-1
-1
2015-03-17 20:24:48 +0000

Was bei mir in Office 2013 funktioniert hat, war:

=IF(A2=""," ",A2)

Wobei in der ersten Gruppe von Anführungszeichen kein Leerzeichen ist und in der zweiten Gruppe ein Leerzeichen.

Hoffentlich hilft das

-1
-1
-1
2016-08-13 21:40:08 +0000

All diese Lösungen sind viel zu kompliziert für mich und ich weiß, dass dies vielleicht nicht für alle Anwendungen machbar ist, aber ich fülle einfach das Quellfeld mit einem Leerzeichen und erhalte ein Leerzeichen im Zielfeld.

-1
-1
-1
2015-07-15 15:20:22 +0000

Ich hatte ein ähnliches Problem und ich glaube, ich habe eine Methode für Sie gefunden. Sie hat meine Probleme behoben.

Wenn Sie wollen, dass Spalte C auf Spalte A verweist, und nur eine Formel für die Referenzzelle schreiben, würden Sie dies verwenden und die Spalte nach unten ziehen.

=A1

Es kann jedoch sein, dass es Quellzellen in Spalte A gibt, die leer sind und in den Referenzzellen in Spalte C leer bleiben müssen, dann können Sie dies verwenden und die Spalte nach unten ziehen.

=T(A1)

Was die Zellformatierung angeht, muss die Referenz (Spalte C) allgemein sein.

-1
-1
-1
2018-01-29 12:01:59 +0000

Ich habe eine Lösung, die bei mir funktioniert:

IF(cell reference="","",cell reference)

Erläuterung:

"" ist gleich leer oder leere Zelle. Jetzt drehe ich nur noch das Wenn um. Wenn die Zelle leer ist, mache ich sie leer, ansonsten verwende ich den Zellbezug.

-1
-1
-1
2015-11-30 05:58:52 +0000

Lösung:
=IF('Wk1 Data-replace w dt bgn & end'!C2>0, 'Wk1 Data-replace w dt bgn & end'!C2, "")

Erläuterung: Um dieses Problem zu lösen, habe ich zwei Sätze von If-Befehlen verwendet.

Teil 1 des Befehls: Ich habe der Zelle gesagt, dass sie den Inhalt der Referenzzelle anzeigen soll, wenn die Referenzzelle Daten enthält (Excel interpretiert dies so, dass die Zelle einen Wert größer als 0 hat)

Teil 2 des Befehls: Ich habe der Zelle gesagt, wie sie sich verhalten soll, wenn keine Daten vorhanden sind; “” bedeutet leer lassen

Hinweis: Wk1 Data-replace w dt bgn & end’!C2 ist meine Referenzzelle.

-2
-2
-2
2015-09-25 19:33:35 +0000

Gehen Sie zu Zellen formatieren.

Wählen Sie dann benutzerdefiniertes Format und geben Sie Folgendes ein:0;-0;;@