2017-02-13 7 views
1

я следующая таблица в Excel:Условный сбор из строки в Excel

Col1 Col2 Col3 Col4 Col5 Col6 
43401 17 #N/A 17 #N/A 43401 
43480 17 #N/A 17 #N/A 43480 
44501 #N/A #N/A #N/A #N/A 
97590 #N/A #N/A #N/A #N/A 
00475 #N/A #N/A 8  #N/A 

формула должна проверить, если какой-либо из перевалы (1-5) не # N/A, то выборка соответствующее значение Col1, если не поставить пробел. Формула, которая в настоящее время используется, дает мне ошибку или строку 5, так как она имеет значение 8 и возвращает мне соответствующее значение Col1.

Эта формула, я в настоящее время с помощью:

=IFERROR(IF(G2<>"#N/A",F2,IF(H2<>"#N/A",F2,IF(I2<>"#N/A",F2,IF(J2<>"#N/A",F2,0)))),"") 

В этой формуле выше G2 является col2, row1 и F2 является col1, строка 2 ... и так далее.

Любая помощь в том, почему это происходит?

ответ

1

Попробуйте

=IF(COUNTIF(G2:J2,"#N/A")<4,F2,"") 

В текущей формуле # N/A приводит к ошибкам результатов в отчете IF, и ваша внешняя ЕСЛИОШИБКА просто возвращает пустую.

Ваша логика может быть выражена по-разному, считая значения NA. Если их меньше четырех, одно из них не может быть NA, поэтому возвращайте значение из столбца F.

+0

Хороший ответ, вы могли бы также пойти с ' = IF (COUNTIF (G2: J2, "<> # N/A"), F2, "") ', чтобы удалить необходимость жесткого кодирования' 4' – CallumDA

0

Это происходит из-за «# N/A».

Функция IFERROR ловушки и обрабатывает ошибки, создаваемые другими формулами или функциями, поэтому она специально проверяет наличие следующих ошибок: # N/A, #VALUE !, #REF !, # DIV/0 !, #NUM !, #NAME ?, или #NULL !.

Поэтому, когда ваши функции проверяют, что «# N/A» истинно, он выдает ошибку и печатает пробел.

Либо изменение "# N/A" до "N/A" или использовать формулу ниже

=IF(OR(NOT(ISNA(G2)),NOT(ISNA(H2)),NOT(ISNA(I2)),NOT(ISNA(J2))),F2,0) 

Это даст вам этот выход

Col1 Col2 Col3 Col4 Col5 Col6 
43401 17  #N/A 17  #N/A 43401 
43480 17  #N/A 17  #N/A 43480 
44501 #N/A #N/A #N/A #N/A 0 
97590 #N/A #N/A #N/A #N/A 0 
475  #N/A 8  #N/A #N/A 475