Excel: если заявление с # N / A

27

У меня более 6000 записей, и половина из них - формулы, в которых отсутствует переменная, поэтому они приводят #N/Aк появлению в электронной таблице, и я хочу сделать так, чтобы ячейка #N/Aоставалась пустой, в противном случае выведите строку наподобие

=IF(AR6347="#N/A","","string in here")

Но это не работает ="#N/A", есть ли способ сделать это?


источник

Ответы:

33

Попробуйте использовать ISNA()функцию:

=IF(ISNA(AR6347),"","string in here")
RocketDonkey
источник
это будет делать это для отдельных ячеек, но это не позволит мне скопировать это на 6000 ячеек, выдает this operation requires the merged cells to be identically sized, есть ли способ сделать это, чтобы я мог скопировать это для всех ячеек?
Похоже, что некоторые ячейки в вашем целевом столбце объединены. Предполагая, что они вам нужны, чтобы оставаться объединенными, следуйте инструкциям saruman576 на полпути вниз mrexcel.com/forum/excel-questions/74144-find-merged-cells.html (используя Formatопцию, чтобы найти объединенные ячейки). Затем вы можете копировать формулу до каждой объединенной ячейки, а затем обрабатывать объединенную ячейку отдельно. Тем не менее, я бы посоветовал обратиться к Центру сквозного отбора, если это применимо ( thenewpaperclip.com/2008/04/15/… ). Надеюсь это поможет!
я смотрел на это, и ячейки не объединены (перешли в ячейки формата), так что это не так: /
В этой колонке нет ни одной объединенной ячейки? Звучит так, как будто это происходит, когда вы пытаетесь скопировать формулу вниз, она запускается в ячейку слияния, которая расширяет диапазон копирования по столбцам для включения всей этой ячейки (которая также будет собирать объединенные ячейки во втором столбце). а потом расширять их и т. д.). Если вам не требуются какие-либо объединенные ячейки, попробуйте выделить все и затем объедините ячейки (в Excel 2007, Домашняя страница -> Выравнивание -> Разбить все ячейки [в раскрывающемся списке Слияние и центр)).
Я сделал то, что вы предложили, и я все еще получаю ту же проблему: /
8

В Excel 2007 и более поздних версиях вы можете использовать:

= ЕСЛИОШИБКА (А1; "")

заменить = "# N / A" или любую другую ошибку с пустой строкой.

Kurp
источник
5

Используйте iserror()функцию. Например, если vlookup не находит значения в моей таблице, я хочу отобразить Not foundвместо #N/A, а затем ввести следующее:

=if(iserror(vlookup(A1,Sheet2!$A$1:$C$360,3,0)),'Not found',vlookup(A1,Sheet2!$A$1:$C$360,3,0))

Итак, эта формула просто говорит: если vlookupфункция извлекает ошибку, то возвращает строку 'Not found', в противном случае возвращает результат vlookupфункции.

Николас С.
источник
1

ПРОСТОЙ МЕТОД

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

=IFNA(formula,"text/value if formula result is #N/A")

Это поместит результат формулы в ячейку (если результата нет #N/A) и поместит текстовую строку (или любое другое значение, которое вы указали в качестве второго аргумента) в ячейку, если результат формулы равен #N/A.

Я использую это с VLOOKUPи INDEX-MATCHвсе время, когда я не хочу показывать # N / A. Я заменяю то, что будет результатом # N / A, на пустую ячейку ("") или ноль (0) или текст ("текстовая строка") по мере необходимости.

Джеффри Холл
источник
-1

Я использовал нечто подобное, чтобы определить, соответствует ли элемент в A элементу в D и не отображается # N / A. Используется для презентаций. = IF (IFERROR (MATCH (A4, $ D $ 2: $ D $ 11,0), 0)> 0, «текст для ИСТИНЫ», «текст для ЛОЖИ»)

боб
источник
6
Это нелепо запутанный ответ, когда в ответе Курпа уже описан соответствующий способ использования IFERROR.
fixer1234