Формула Excel, найти максимум и проверить несколько условий

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

Предположим, у меня есть следующая таблица:

введите здесь описание изображения

Мне нужна формула, которая дает мне последнюю дату с процентным изменением больше нуля, а «оранжевый» не упоминается в столбце «Комментарии». Только 1 из процентных изменений (столбец Pct1 до Pct 5) должен быть >0. Таким образом, формула выведет 20.11.2012, так как ее % изменения больше 0%, и она не является оранжевой.

Я пробовал match, offset, max, но это не дало мне правильного результата. Я надеюсь ввести это как формулу в VBA, потому что у меня есть в общей сложности 20 файлов excel, которые мне нужны для проверки макроса. Помогите пожалуйста мне! Спасибо!!


person Futochan    schedule 29.04.2013    source источник
comment
перед публикацией ознакомьтесь с часто задаваемыми вопросами с инструкциями stackoverflow.com/questions/how-to-ask и личным фаворитом мой: mattgemmell.com/2008/12/08/what-have- ты пытался   -  person K_B    schedule 29.04.2013
comment
Прошу прощения, если я недостаточно конкретен. Пожалуйста, дайте мне знать, если вы не понимаете мой вопрос. Спасибо   -  person Futochan    schedule 29.04.2013
comment
В заголовке вашего вопроса требуется формула, но в вашем вопросе вы запрашиваете код VBA...   -  person user2140261    schedule 29.04.2013
comment
Прошу прощения, что не упомянул в содержании. Я также открыт для VBA, если это единственный способ сделать это.   -  person Futochan    schedule 29.04.2013


Ответы (1)


{=MAX((B2:F6>0)*(ISERR(FIND("ORANGE",UPPER(G2:G6))))*(A2:A6))}

Введите с помощью Ctrl+Shift+Enter, а не просто Enter. Не вводите фигурные скобки, Excel вставит их, если вы введете формулу массива.

Первый раздел возвращает матрицу значений ИСТИНА и ЛОЖЬ в зависимости от того, больше ли проценты нуля.

Второй раздел возвращает TRUE и FALSE в зависимости от того, вызывает ли FINDing "Orange" ошибку.

Последний раздел возвращает массив дат.

Когда вы умножаете массивы/матрицы, ИСТИНА равна 1, ЛОЖЬ равна 0, и вы получаете массив дат, где все условия ИСТИННЫ. Наконец, MAX выбирает самый большой.

person Dick Kusleika    schedule 29.04.2013
comment
Идеальный! Спасибо. Последний вопрос: предположим, я также хочу исключить ананас. Я изменил формулу на следующую. Однако это не дало мне правильного результата. Я изменил Find(orange,upper(G2:G6)) на Find(or(Orange,Pineapple), upper(G2:G6)). Что я сделал не так? Спасибо - person Futochan; 29.04.2013
comment
Чтобы исключить Orange и Pineapple, попробуйте эту версию =MAX((B2:F6>0)*ISERR(SEARCH("Orange",G2:G6))*ISERR(SEARCH("Pineapple",G2:G6))*A2:A6) — вы можете добавить больше с тем же шаблоном, но если нужно исключить несколько значений, другой подход может работать лучше. - person barry houdini; 29.04.2013
comment
@Siddharth Rout: Спасибо за помощь на прошлой неделе :) - person Futochan; 30.04.2013