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

Blanco weergeven bij verwijzing naar lege cel in Excel 2010

Ik heb een Excel 2010-werkmap die een aantal afzonderlijke werkbladen bevat. De cellen op een van de bladen zijn gekoppeld aan individuele cellen op twee andere werkbladen in dezelfde werkmap. Ik gebruik een directe celverwijzing die in wezen zegt dat elke waarde die wordt ingevoerd in een bepaalde cel op een blad ook cellen op twee andere bladen vult. Ik heb de functie (=) met de celverwijzing gebruikt om dit te bereiken.

Het probleem waar ik tegenaan loop is dat, zelfs als de primaire cel leeg gelaten wordt, de cellen die vanuit die primaire cel gevuld worden 0 zullen tonen, in plaats van zelf leeg te blijven.

Ik wil dat de ondergeschikte cellen leeg blijven als de primaire cel waaraan ze gekoppeld zijn leeg is.

Antwoorden (17)

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

U moet Excel dwingen de inhoud van de cel te behandelen als een tekstwaarde in plaats van een getal, wat het automatisch doet met blanco waarden.

=A2 & ""

Dit dwingt Excel om van die celverwijzing een tekstwaarde te maken, waardoor wordt voorkomen dat spaties worden omgezet in nullen.

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

Hier zijn drie antwoorden:

1) Als u other.cell.reference laat staan voor de referentieformule die u momenteel na de = hebt (bijv., Sheet17!$H$42), vervangt u die linkreferentie door

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

2) Stel het “Nummer”-formaat van uw gekoppelde cellen in op “Aangepast”: General;–General;.

3) Schakel in “Excel Opties”, “Geavanceerd” pagina, “Weergaveopties voor dit werkblad” sectie, het selectievakje “Een nul weergeven in cellen die een waarde van nul hebben” uit.  Waarschuwing: hierdoor zullen alle nullen in het werkblad verdwijnen.

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

ALS uw referentiegegevens alleen van het numerieke type zijn (niet van tekst) of leeg, en u kunt 0’s hebben, dan is dit mijn voorkeursaanpak, met slechts eenmaal de formule invoeren. Toegegeven, een ietwat indirecte manier, maar het is het beste denk ik omdat:

  • je geen extra cellen nodig hebt om de formule in te zetten en dan naar de tweede cellen te verwijzen
  • je de formule niet twee keer hoeft in te typen
  • deze methode onderscheid maakt tussen een nulwaarde en een lege cel
  • geen VBA nodig heeft
  • geen Named Ranges nodig heeft

Nadeel : Als je tekstgegevens nodig hebt, zal dit niet werken. Voor tekstgegevens is mijn voorkeursmethode het gebruik van getalnotatie zoals vermeld in andere antwoorden hierboven.

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

A1 kan in dit geval worden vervangen door elke cel, inclusief een ander blad, werkmap, of INDIRECT().

Opmerkingen over hoe dit werkt:
IFERROR() - tweede argument is ingesteld op lege string, dus als er een fout optreedt, krijgen we een lege string. Dus we moeten ervoor zorgen dat als de broncel leeg is, er een fout optreedt.

Numerieke methode : Stringify de bronwaarde, dan vermenigvuldigen met 1. Letterlijke emtpy string * 1 = #VALUE, String met numerieke waarde wordt automatisch geconverteerd naar numerieke waarde en er treedt geen fout op.

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

Er is nog een truc: stel de soucre lege cel in op formule ="". Zie de gedetailleerde beschrijving hier.

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

Ook ik heb geen betere oplossing gevonden dan die van Scott.

Maar in combinatie met de aanpak van hier zou het bijna draaglijk kunnen zijn, denk ik: http://www.ozgrid.com/Excel/named-formulas.htm

Stel ik heb een formule als deze

= 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);"")

Deze formule leest celwaarden uit een gegevensblad met behulp van voorwaardelijke selectie en presenteert ze op een ander blad. Ik heb geen controle over de celformattering op het gegevensblad.

Ik ga naar Invoegen > Naam > Definiëren en in de “Namen in werkmap” maak ik een nieuwe naam “RC_P_B”. Dan kopieer ik in het veld “Verwijst naar” mijn formule (zonder {} tekens - het is een matrixformule).

Dan kun je Scott’s formule gebruiken zonder de hele formule tekst te hoeven herhalen:

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

Ik denk dat dit beter is dan de hele formule te kopiëren.

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

Ik gebruik eenvoudig geen formule om dit probleem op te lossen. Het enige wat ik doe is cellen conditioneel opmaken naar letterkleur wit als celwaarde gelijk is aan 0.

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

Ik heb lang gezocht naar een elegante oplossing voor dit probleem.

Ik heb jarenlang de formule =if(a2=“”,“”,a2) gebruikt, maar ik vind het een beetje omslachtig.

Ik heb bovenstaande suggestie =a2&“” geprobeerd en hoewel het lijkt te werken, laat het een getal zien dat eigenlijk tekst is, zodat getalopmaak niet kan worden toegepast en er geen statistische bewerkingen werken, zoals som, gemiddelde, mediaan, etc., dus als het werkbare getallen zijn die je zoekt, is dit niet de juiste oplossing.

Ik experimenteerde met enkele van de andere functies en vond wat ik denk dat de meest elegante oplossing tot nu toe is. Voortbordurend op het bovenstaande voorbeeld:

=CELL(“contents”,A2)

retourneert een numerieke waarde die kan worden geformatteerd als een getal en het retourneert een blanco wanneer de cel waarnaar verwezen wordt leeg is. Om de een of andere reden lijkt deze oplossing niet voor te komen in de online suggesties die ik heb gevonden, maar het

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

Oplossing voor Excel 2010:

  1. Open “Bestand”
  2. Druk op “Opties”
  3. Klik op “Geavanceerd”
  4. Onder “Weergaveopties” voor dit werkblad “BBBB”
  5. Haal het vinkje weg uit het vakje “Een nulwaarde weergeven voor cellen die een nulwaarde hebben.”
1
1
1
2012-12-06 21:30:05 +0000

Als de gekoppelde cel niet-numeriek is, kunt u een IF-instructie gebruiken met ISTEXT:

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

Ik gebruikte voorwaardelijke opmaak om het lettertype dezelfde kleur te geven als de achtergrond van de cel waar de celwaarde gelijk was aan nul.

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

Wat bij mij in Office 2013 werkte was:

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

Waarbij op de eerste set aanhalingstekens geen spatie staat, en op de tweede set een spatie.

Hoop dat dit helpt

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

Al deze oplossingen zijn veel te ingewikkeld voor mij en ik realiseer me dat dit misschien niet haalbaar is voor alle toepassingen, maar ik vul gewoon het bronveld met een blanco en ik krijg een blanco in het bestemmingsveld.

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

Ik had een soortgelijk probleem, en ik denk dat ik een methode voor je heb gevonden. Het loste mijn problemen op.

Als je wilt dat kolom C verwijst naar kolom A, en alleen een formule schrijft voor de referentiecel, zou je dit gebruiken en de kolom naar beneden slepen.

=A1

Er kunnen echter broncellen in kolom A zijn die leeg zijn en leeg moeten blijven in de referentiecellen in kolom C, dan kun je dit gebruiken en de kolom naar beneden slepen.

=T(A1)

Wat de celopmaak betreft, zal de verwijzing (kolom C) algemeen moeten zijn.

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

Ik heb een oplossing die voor mij werkt:

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

Uitleg:

"" is gelijk aan lege of lege cel. Nu draai ik alleen de if om. Als cel leeg is, maak je hem leeg, anders gebruik je de celverwijzing.

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

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

Uitleg: Om dit probleem op te lossen gebruikte ik twee sets van If commando’s.

Deel één van commando: Ik vertelde de cel de inhoud van de referentiecel weer te geven als de referentiecel gegevens bevatte (Excel interpreteert dit als de cel die een waarde groter dan 0 heeft)

Deel twee van commando: Ik vertelde de cel hoe te handelen als er geen gegevens waren; “” betekent leeg laten

Opmerking: Wk1 Data-replace w dt bgn & end’!C2 is mijn referentiecel.

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

Ga naar Cellen opmaken.

Selecteer dan aangepaste opmaak, en voer het volgende in:0;-0;;@