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

Отображать пустой при обращении к пустой ячейке в Excel 2010

У меня есть рабочая тетрадь Excel 2010, которая содержит ряд отдельных рабочих листов. Ячейки на одном из листов связаны с отдельными ячейками на двух других листах в той же рабочей книге. Я использую прямую ссылку на ячейку, которая, по сути, говорит о том, что любое значение, введенное в определенную ячейку на одном листе, также заполняет ячейки на двух других листах. Для этого я использовал функцию (=) со ссылкой на ячейку.

Проблема, с которой я сталкиваюсь, заключается в том, что даже если оставить основную ячейку пустой, ячейки, заполненные из этой основной ячейки, будут отображать 0, а не оставаться пустыми сами по себе.

Я хочу, чтобы подчиненные клетки оставались пустыми, если основная клетка, с которой они соединены, пуста.

Ответы (17)

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

Необходимо заставить Excel обрабатывать содержимое ячейки как текстовое значение, а не как число, что он делает автоматически с пустыми значениями.

=A2 & ""

Это заставит Excel сделать ссылку в ячейке на текстовое значение, что предотвратит преобразование пустых значений в нули.

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

Вот три ответа:

1) Пусть другой.cell.reference будет представлять формулу ссылки, которая у вас в настоящее время после = (например,, Sheet17!$H$42), замените эту ссылку на

=IF(другой.cell.reference<>"",другой.cell.reference, "")

2) Установите формат “Количество” для связанных ячеек на “Пользовательский”: General;–General;.

3) На странице “Параметры Excel”, “Дополнительно”, в разделе “Отображение опций для данного рабочего листа” снимите флажок “Показывать ноль в ячейках, которые имеют нулевое значение”.  Предупреждение: это приведет к исчезновению всех нулей в рабочем листе.

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

Если ваши справочные данные являются либо числовыми (нетекстовыми), либо пустыми, и у вас может быть 0, то это мой предпочтительный подход, с вводом формулы только один раз. Конечно, немного косвенный способ, но это лучше всего, я думаю, потому что:

  • вам не нужны дополнительные ячейки, чтобы поместить формулу, а затем сослаться на вторую ячейку
  • вам не нужно вводить формулу дважды
  • этот метод различает нулевое значение и пустую ячейку
  • не требует VBA
  • не требует именованного диапазона

Пустая : Если вам нужны возвращаемые текстовые данные, то это не сработает. Для текстовых данных я предпочитаю использовать формат чисел, как упоминалось в других ответах выше.

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

A1 в данном случае может быть заменен любой ячейкой, включая другой лист, рабочую книгу или INDIRECT().

Заметки о том, как это работает:
IFERROR() - второй аргумент установлен в пустую строку, поэтому при возникновении ошибки мы получаем пустую строку. Поэтому нам нужно убедиться, что если исходная ячейка пуста, то сработает ошибка.

Цифровой метод : Строка с исходным значением, затем умножаем на 1. Буквальная emtpy строка * 1 = #VALUE, Строка с числовым значением автоматически преобразуется в числовое и ошибки не возникает.

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

Есть еще один трюк: установите пустую ячейку сукре на формулу ="". Смотрите подробное описание здесь. .

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

Я тоже не нашел лучшего решения, чем у Скотта.

Но в сочетании с подходом отсюда это может быть почти терпимо, я думаю: http://www.ozgrid.com/Excel/named-formulas.htm

Скажем так, у меня есть такая формула

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

Эта формула считывает значение ячейки с листа данных, используя условный выбор, и представляет их на другом листе. Я не могу контролировать формирование ячеек на листе данных.

Я иду в “Вставить > Имя > Определите и в "Имена в рабочей книге” я создаю новое Имя “RC_P_B”. Затем в поле “Refers to” копирую свою формулу (без {} символов - это формула массива).

Тогда можно использовать формулу Скотта, без необходимости повторять весь текст формулы:

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

Я считаю, что это лучше, чем копировать всю формулу.

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

Я просто не использую формулу, чтобы преодолеть эту проблему. Все, что я делаю, это условно форматирую ячейки до белого цвета шрифта, если значение ячейки равно 0.

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

Я долго искал элегантное решение этого вопроса.

Я использовал формулу =if(a2=“,”,a2) в течение многих лет, но нахожу ее немного громоздкой.

Я попробовал выше предложение =a2&“, и хотя кажется, что оно работает, оно показывает число, которое на самом деле является текстом, поэтому форматирование чисел не может быть применено, и никакие статистические операции не работают, такие как сумма, средняя, медиана и т.д., так что если это работоспособные числа, которые вы ищете, то это не соответствует счету.

я экспериментировал с некоторыми другими функциями и нашел то, что я считаю самым элегантным решением на сегодняшний день. Продолжая приведенный выше пример:

=CELL("содержимое”,A2)

возвращает числовое значение, которое может быть отформатировано как число, и возвращает пустое, когда ячейка, на которую делается ссылка, пуста. По какой-то причине это решение, похоже, не появляется ни в одном из онлайн-предложений, которые я нашел, но оно

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

Решение для Excel 2010:

  1. Открыть “Файл”
  2. Нажмите “Опции”
  3. Нажмите “Дополнительно”
  4. В разделе “Опции отображения” для этого рабочего листа “BBBB”
  5. Снимите флажок “Показывать нулевое значение для ячеек, которые имеют нулевое значение”.
1
1
1
2012-12-06 21:30:05 +0000

Если связанная ячейка не является числовой, вы можете использовать оператор IF с ISTEXT:

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

Я использовал условное форматирование, чтобы отформатировать шрифт таким же цветом, как и фон ячейки, где значение ячейки равно нулю.

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

В Office 2013 у меня получилось:

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

Где на первом наборе котировок нет места, а на втором есть место.

Надеюсь, это поможет.

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

Все эти решения слишком сложны для меня, и я понимаю, что это возможно не для всех приложений, но я просто заполняю исходное поле пустым, и получаю пустое поле в поле назначения.

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

У меня была похожая проблема, и я думаю, что нашел метод для тебя. Он исправил мои проблемы.

Если вы хотите, чтобы столбец C был ссылочным столбцом A, и записывали формулу только для ссылочной ячейки, вы бы использовали это и перетащили столбец вниз.

=A1

Однако в столбце A могут быть пустые ячейки-источники, которые нужно оставить пустыми в ячейках-справочниках столбца C, это можно использовать и перетащить вниз столбец.

=T(A1)

Что касается форматирования ячеек, ссылка (столбец С) должна быть общей.

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

У меня есть решение, которое работает на меня:

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

Пояснения:

"" равно пустой или пустой ячейке. Теперь я поворачиваю только “если”. Если ячейка пустая, сделайте ее пустой, в противном случае используйте ссылку на ячейку.

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

Решение:
=IF('Wk1 Data-replace w dt bgn & end'!C2>0, 'Wk1 Data-replace w dt bgn & end'!C2, "")

Пояснение: Для решения этой проблемы я использовал два набора команд If.

Вторая часть команды: Я сказал ячейке, чтобы она отображала содержимое ячейки ссылок, если ячейка ссылок содержит данные (Excel интерпретирует это как ячейку, имеющую значение больше 0)

Вторая часть команды: Я сказал ей, как вести себя, если данных нет; “” означает оставить пустым

Примечание: Wk1 Data-replace w dt bgn & end’!C2 - это моя ячейка ссылок.

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

Иди в Format Cells.

Затем выберите пользовательский формат и введите следующее:0;-0;;@.

Похожие вопросы

6
13
9
10
5