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

Wyświetlanie pustej komórki podczas odwoływania się do pustej komórki w Excelu 2010

Mam skoroszyt programu Excel 2010, który zawiera kilka pojedynczych arkuszy. Komórki na jednym z arkuszy są powiązane z poszczególnymi komórkami na dwóch innych arkuszach w tym samym skoroszycie. Używam bezpośredniego odniesienia do komórki, które zasadniczo mówi, że jakakolwiek wartość jest wprowadzana do określonej komórki na jednym arkuszu, również wypełnia komórki na dwóch innych arkuszach. Użyłem funkcji (=) z odniesieniem do komórki, aby to osiągnąć.

Problem, który napotykam, polega na tym, że nawet jeśli główna komórka jest pusta, komórki, które są wypełniane z tej głównej komórki, wyświetlają 0, zamiast pozostać puste.

Chcę, aby komórki podrzędne pozostały puste, jeśli komórka główna, z którą są powiązane, jest pusta.

Odpowiedzi (17)

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

Musisz zmusić Excela do traktowania zawartości komórki jako wartości tekstowej zamiast liczby, co robi automatycznie w przypadku wartości pustych.

=A2 & ""

Wymusi to na Excelu, aby odwołanie do tej komórki stało się wartością tekstową, co zapobiegnie zamianie pustych miejsc na zera.

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

Oto trzy odpowiedzi:

1) Pozwalając other.cell.reference reprezentować formułę referencyjną, którą obecnie masz po = (np., Sheet17!$H$42), zastąp to odniesienie łącza z

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

2) Ustaw format “Liczba” swoich połączonych komórek na “Niestandardowy”: General;–General;.

3) W “Opcjach programu Excel”, na stronie “Zaawansowane”, w sekcji “Opcje wyświetlania dla tego arkusza” usuń zaznaczenie pola wyboru “Pokaż zero w komórkach, które mają wartość zerową”. Ostrzeżenie: spowoduje to zniknięcie wszystkich zer w arkuszu.

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

JEŚLI twoje dane referencyjne są tylko typu numerycznego (nietekstowe) lub puste, i możesz mieć 0’s, to jest to moje preferowane podejście, z tylko wprowadzaniem formuły raz. Co prawda, jest to nieco pośredni sposób, ale jest to najlepsze rozwiązanie, jak sądzę, ponieważ:

  • nie potrzebujesz dodatkowych komórek, aby umieścić w nich formułę, a następnie odwoływać się do drugich komórek
  • nie musisz wpisywać formuły dwa razy
  • ta metoda rozróżnia wartość zerową od pustej komórki
  • nie wymaga VBA
  • nie wymaga Named Ranges

Downfall : Jeśli potrzebujesz danych tekstowych zwróconych to ten sposób nie będzie działał. W przypadku danych tekstowych preferowaną przeze mnie metodą jest użycie formatu liczbowego, jak wspomniano w innych odpowiedziach powyżej.

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

A1 w tym przypadku może być zastąpione przez dowolną komórkę, w tym inny arkusz, skoroszyt lub INDIRECT().

Uwagi na temat tego, jak to działa:
IFERROR() - drugi argument jest ustawiony na pusty ciąg znaków, więc w przypadku wystąpienia błędu otrzymujemy pusty ciąg znaków. Musimy się więc upewnić, że jeśli komórka źródłowa jest pusta, to zostanie wywołany błąd.

Metoda numeryczna : Stringify wartość źródłową, następnie pomnożyć przez 1. Dosłowny emtpy string * 1 = #VALUE, String z numerycznym jest automatycznie konwertowany na numeryczny i nie występuje błąd.

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

Jest jeszcze jedna sztuczka: ustaw pustą komórkę na formułę ="". Zobacz szczegółowy opis tutaj .

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

Ja również nie znalazłem lepszego rozwiązania niż to, które podał Scott.

Ale w połączeniu z podejściem stąd może to być prawie znośne, myślę, że: http://www.ozgrid.com/Excel/named-formulas.htm

Powiedzmy, że mam formułę taką jak ta

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

Ta formuła odczytuje wartości komórek z arkusza danych przy użyciu wyboru warunkowego i przedstawia je w innym arkuszu. Nie mam żadnej kontroli nad formatowaniem komórek w arkuszu danych.

Idę do Wstaw ™> Nazwa ™> Definiuj i w “Nazwy w skoroszycie” tworzę nową nazwę “RC\_B”. Następnie do pola “Odnosi się do” kopiuję moją formułę (bez znaków {} - jest to formuła tablicowa).

Następnie możesz użyć formuły Scotta bez konieczności powtarzania całego tekstu formuły:

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

Uważam, że jest to lepsze rozwiązanie niż kopiowanie całej formuły.

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

Po prostu nie używam formuły, aby przezwyciężyć ten problem. Wszystko, co robię, to warunkowe formatowanie komórek do koloru białej czcionki, jeśli wartość komórki jest równa 0.

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

Długo szukałem eleganckiego rozwiązania tego problemu.

Od lat używam formuły =if(a2=“”,“”,a2), ale uważam ją za nieco kłopotliwą.

Próbowałem powyższej sugestii =a2&“” i chociaż wydaje się, że działa, pokazuje liczbę, która jest w rzeczywistości tekstem, więc formatowanie liczb nie może być zastosowane i nie działają żadne operacje statystyczne, takie jak suma, średnia, mediana itp.

Eksperymentowałem z kilkoma innymi funkcjami i znalazłem to, co uważam za najbardziej eleganckie rozwiązanie do tej pory. Kontynuując powyższy przykład:

=CELL(“content”,A2)

zwraca wartość liczbową, która może być sformatowana jako liczba i zwraca pustą komórkę, gdy komórka, do której się odwołuje, jest pusta. Z jakiegoś powodu to rozwiązanie nie wydaje się pojawiać w żadnej z sugestii online, które znalazłem, ale to

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

Rozwiązanie dla Excel 2010:

  1. Otwórz “Plik”
  2. Naciśnij “Opcje”
  3. Kliknij “Zaawansowane”
  4. W zakładce “Opcje wyświetlania” dla tego arkusza “BBBB”
  5. Wyłącz zaznaczenie pola “Pokaż wartość zerową dla komórek, które mają wartość zerową.”
1
1
1
2012-12-06 21:30:05 +0000

Jeśli linkowana komórka jest nienumeryczna, można użyć instrukcji IF z ISTEXT:

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

Użyłem formatowania warunkowego, aby sformatować czcionkę, aby była tego samego koloru co tło komórki, w której wartość komórki była równa zero.

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

To, co działało dla mnie w Office 2013 to:

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

Gdzie na pierwszym zestawie cytatów nie ma spacji, a na drugim jest spacja.

Mam nadzieję, że to pomoże.

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

Wszystkie te rozwiązania są zbyt skomplikowane dla mnie i zdaję sobie sprawę, że może to nie być wykonalne dla wszystkich aplikacji, ale po prostu wypełniam pole źródłowe pustką i dostaję pustkę w polu docelowym.

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

Miałem podobny problem i myślę, że znalazłem metodę dla Ciebie. To naprawiło moje problemy.

Jeśli chcesz, aby kolumna C odnosiła się do kolumny A, a tylko napiszesz formułę dla komórki odniesienia, użyłbyś tego i przeciągnąłbyś w dół kolumny.

=A1

Jednak mogą istnieć komórki źródłowe w kolumnie A, które są puste i muszą pozostać puste w komórkach odniesienia w kolumnie C, możesz użyć tego i przeciągnąć w dół kolumny.

=T(A1)

Jeśli chodzi o formatowanie komórek, odniesienie (kolumna C) będzie musiało być ogólne.

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

Mam rozwiązanie, które działa dla mnie:

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

Objaśnienie:

"" jest równe pustej lub pustej komórce. Teraz tylko odwracam if. Jeśli komórka jest pusta, uczyń ją pustą, w przeciwnym razie użyj odniesienia do komórki.

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

Rozwiązanie:
=IF('Wk1 Data-replace w dt bgn & end'!C2>0, 'Wk1 Data-replace w dt bgn & end'!C2, "") Wyjaśnienie: Do rozwiązania tego problemu użyłem dwóch zestawów poleceń If.

Część pierwsza polecenia: Powiedziałem komórce, aby wyświetliła zawartość komórki odniesienia, jeśli komórka odniesienia zawierała dane (Excel interpretuje to jako komórkę mającą wartość większą niż 0)

Część druga polecenia: Powiedziałem jej, jak ma się zachować, jeśli nie ma danych; “” oznacza pozostawienie pustego miejsca

Uwaga: Wk1 Data-replace w dt bgn & end’!C2 jest moją komórką odniesienia.

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

Przejdź do Formatuj komórki.

Następnie wybierz format niestandardowy i wprowadź następujące dane:0;-0;;@