У меня есть книга Excel 2010, которая содержит несколько отдельных листов. Ячейки на одном из листов связаны с отдельными ячейками на двух других листах в той же книге. Я использую прямую ссылку на ячейку, которая по существу говорит, что любое значение, введенное в определенную ячейку на одном листе, также заполняет ячейки на двух других листах. Для этого я использовал функцию (=) со ссылкой на ячейку.
Проблема, с которой я сталкиваюсь, заключается в том, что даже когда основная ячейка оставлена пустой, ячейки, которые заполняются из этой основной ячейки, будут отображать 0, а не оставаться пустыми сами по себе.
Я хочу, чтобы подчиненные ячейки оставались пустыми, если основная ячейка, с которой они связаны, пуста.
Ответы:
Вам нужно заставить Excel обрабатывать содержимое ячейки как текстовое значение, а не число, что он делает автоматически с пустыми значениями.
Это заставит Excel сделать так, чтобы эта ячейка ссылалась на текстовое значение, тем самым предотвращая преобразование пробелов в нули.
источник
Вот три ответа:
1) Позволяя other.cell.reference представлять формулу ссылки, которая у вас есть после
=
(например,Sheet17!$H$42
), замените эту ссылку ссылкой на2) Установите формат «Число» ваших связанных ячеек «Custom»:
General;–General;
.3) В разделе «Параметры Excel», «Дополнительно», в разделе «Параметры отображения для этого листа» снимите флажок «Показывать ноль в ячейках с нулевым значением». Предупреждение: это приведет к исчезновению всех нулей на листе.
источник
Q1
содержит (очень длинную) формулу иA1
содержит=Q1
; мы хотим изменитьсяA1
на то=IF(Q1<>"", Q1, "")
, что вам больше никогда не придется менять. «Разве нет лучших вариантов?» Ну, этот вопрос бездействовал в течение девяти месяцев, и это все, что было опубликовано. Если эти ответы не достаточно хороши для вас, опубликуйте новый вопрос или назначьте вознаграждение за этот вопрос.Если ваши справочные данные имеют только числовой тип (не текстовый) или являются пустыми, и у вас может быть 0, то это мой предпочтительный подход, при котором формула вводится только один раз. По общему признанию, немного косвенный путь, но это лучше, я думаю, потому что:
Неполадка : если вам нужны возвращенные текстовые данные, это не будет работать. Для текстовых данных я предпочитаю использовать числовой формат, как указано в других ответах выше.
В этом случае A1 можно заменить любой ячейкой, включая другой лист, рабочую книгу или INDIRECT ().
Замечания о том, как это работает:
IFERROR () - для второго аргумента задана пустая строка, поэтому в случае ошибки мы получаем пустую строку. Таким образом, мы должны убедиться, что в исходной ячейке ничего не происходит, возникает ошибка.
Числовой метод . Укажите строковое значение источника, затем умножьте на 1. Литеральная строка emtpy * 1 = # ЗНАЧ. Строка с числовым значением автоматически преобразуется в числовое значение и ошибки не возникает.
источник
"" & A1 & ""
? Когда это дает разные результатыA1 & ""
или"" & A1
?Есть еще одна хитрость: установите пустую ячейку в формулу
=""
. Смотрите подробное описание здесь.источник
Я тоже не нашел лучшего решения, чем решение Скотта.
Но в сочетании с подходом отсюда это может быть почти терпимым, я думаю:
http://www.ozgrid.com/Excel/named-formulas.htm
Допустим, у меня есть такая формула
Эта формула считывает значение ячейки из таблицы данных с помощью условного выбора и представляет их на другом листе. У меня нет контроля над форматированием ячеек на листе данных.
Я иду, чтобы Вставить> Имя> Определить и в «Имена в книге» я создаю новое Имя «RC_P_B». Затем в поле «Относится к» я копирую свою формулу (без символов {} - это формула массива).
Затем вы можете использовать формулу Скотта без необходимости повторения всего текста формулы:
Я считаю, что это лучше, чем копировать всю формулу.
источник
Я просто не использую формулу, чтобы преодолеть эту проблему. Все, что я делаю, - это условно форматирую ячейки, чтобы цвет шрифта был белым, если значение ячейки равно 0.
источник
Если связанная ячейка не числовая, вы можете использовать оператор IF с ISTEXT:
источник
Sheet1!A2
указанная ячейка ( в вашем примере) содержит число, будет отображаться пустая строка.Я долго искал элегантное решение этой проблемы.
Я использовал формулу = if (a2 = "", "", a2) в течение многих лет, но я нахожу это немного громоздким.
Я попробовал выше предложение = a2 & "", и, хотя оно действительно работает, оно показывает число, которое на самом деле является текстом, поэтому форматирование чисел не может быть применено, и статистические операции не работают, такие как сумма, среднее, медиана и т. Д., Поэтому, если это выполнимо числа, которые вы ищете, не соответствуют требованиям.
Я экспериментировал с некоторыми другими функциями и нашел то, что я считаю самым элегантным решением на сегодняшний день. Продолжая приведенный выше пример:
= CELL ( "содержимое", А2)
возвращает числовое значение, которое может быть отформатировано как число, и возвращает пустое значение, когда указанная ячейка пуста. По некоторым причинам, это решение, кажется, не появляется ни в одном из онлайн-предложений, которые я нашел, но оно
источник
A2
пусто, это отображается0
. Вы уверены, что ничего не делаете с форматированием?Решение для Excel 2010:
источник
источник
Я использовал условное форматирование, чтобы отформатировать шрифт, чтобы он был того же цвета, что и фон ячейки, где значение ячейки было равно нулю.
источник
В Office 2013 у меня сработало:
Где на первом наборе цитат нет пробела, а на втором множестве пробел.
Надеюсь это поможет
источник
=IF(A2="", "", A2)
работает так же хорошо? Как это будет отличаться от=IF(A2<>"", A2, "")
? Тогда чем это отличается от ответа с наибольшим количеством голосов, который был дан более двух лет назад?У меня была похожая проблема, и я думаю, что нашел метод для вас. Это исправило мои проблемы.
Если вы хотите, чтобы столбец C ссылался на столбец A и записывал только формулу для ссылочной ячейки, вы должны использовать это и перетащить столбец вниз.
Однако в столбце A могут быть пустые исходные ячейки, которые должны оставаться пустыми в ссылочных ячейках столбца C, вы можете использовать это и перетащить вниз столбец.
Что касается форматирования ячеек, ссылка (columnn C) должна быть общей.
источник
Решение:
=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 wt bgn & end '! C2 - моя контрольная ячейка.
источник
=IF('Wk1 … bgn & end'!C2<>"", 'Wk1 … bgn & end'!C2, "")
, оно станет эквивалентным ответу, который был дан примерно четыре раза.Все эти решения слишком сложны для меня, и я понимаю, что это может быть неосуществимо для всех приложений, но я просто заполняю поле источника пустым и получаю пробел в поле назначения.
источник
У меня есть решение, работающее на меня:
Объяснение:
""
равно пустой или пустой ячейке. Теперь я только включаю, если вокруг. Если ячейка пуста, сделайте ее пустой, в противном случае используйте ссылку на ячейку.источник
Перейти к формату ячеек.
Затем выберите пользовательский формат и введите следующее:
0;-0;;@
источник
General;–General;
.»), А именно: (а) если значение является положительным числом, отобразить его целочисленное абсолютное значение; (b) если значение является отрицательным числом, отобразите его целочисленное абсолютное значение, которому предшествует-
; (c) если значение равно нулю, ничего не отображать ; и (d) если значение не является числом, отобразите его текстовое значение. … (Продолжение)General
дает вам формат по умолчанию для чисел, включая необходимые десятичные цифры (но не включая-
знак).) Кроме того, окончательный;@
вариант, по-видимому, не нужен (т. е. кажется, что он используется по умолчанию), поскольку мой ответ правильно отображает текстовые значения без изменений.