Слияние 2 кодов Excel - PullRequest
       12

Слияние 2 кодов Excel

0 голосов
/ 12 сентября 2018

У меня есть два кода в двух разных столбцах, и я хотел объединить их вместе.

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

Например, первый код принимает значение от CELL C6 , а код

=AND(B3<=VLOOKUP(C6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(C6,Sheet3!A2:C35,2,FALSE))

И он должен возвращать либо TRUE , либо FALSE с ним все работает.

Второй код принимает значение от CELL D6 , а код

=AND(B3<=VLOOKUP(D6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(D6,Sheet3!A2:C35,2,FALSE))

И он должен возвращать либо TRUE или FALSE с ним все работает нормально.

Но когда я пытаюсь объединить их вместе с оператором OR, код не работает.

Объединенный код

=OR(AND(B3<=VLOOKUP(C6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(C6,Sheet3!A2:C35,2,FALSE)),AND(B3<=VLOOKUP(D6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(D6,Sheet3!A2:C35,2,FALSE)))

С объединенным кодом я хочу, чтобы он возвращал значение true, если ячейка C6 или ячейка D6 равна true , ноКод возвращает странный вывод, когда обе ячейки C6 и D6 имеют значение true, а это не то, что мне нужно.

Pпроблема в том, что выходные данные не будут извлекать ИСТИНА, если только ячейки с6 и d6 не будут истинными; в противном случае они даже не получат ложные значения, выходные данные будут просто N \ A

. Оценка комбинированного кода показана в этомФото ниже.

The combined code evaluation

Поможете ли вы мне, пожалуйста?.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Предоставьте экстремальные значения с IFERROR, которые никогда не будут истинными, чтобы охватить ситуации, когда совпадение не найдено.

=OR(AND(B3<=iferror(VLOOKUP(C6, Sheet3!A2:C35, 3, FALSE), -1e99), 
        B3>=iferror(VLOOKUP(C6, Sheet3!A2:C35, 2, FALSE), 1e99)),
    AND(B3<=iferror(VLOOKUP(D6, Sheet3!A2:C35, 3, FALSE), -1e99),
        B3>=iferror(VLOOKUP(D6, Sheet3!A2:C35, 2, FALSE), 1e99)))
0 голосов
/ 12 сентября 2018

Вы используете Vlookup с параметром False в качестве четвертого аргумента в обоих условиях.

Если VLookup не найдет точное совпадение, он вернет # N / A!

Вам нужно заключить каждый из ваших Vlookups в IFError, чтобы перевести эту ошибку в пустую строку, поэтому сравнение не возвращает ошибку, а вместо этого возвращает "false".

=OR(AND(B3<=iferror(VLOOKUP(C6,Sheet3!A2:C35,3,FALSE),""),B3>=iferror(VLOOKUP(C6,Sheet3!A2:C35,2,FALSE),""),AND(B3<=iferror(VLOOKUP(D6,Sheet3!A2:C35,3,FALSE),""),B3>=iferror(VLOOKUP(D6,Sheet3!A2:C35,2,FALSE),"")))

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

...