Я новичок в функциях Excel и программирования на VBA, поэтому эта проблема стала для меня настоящим испытанием. У меня есть электронная таблица, которая отслеживает состояние приложений в 64-битном тестировании, в которые я хотел бы добавить некоторые дополнительные функции.

Для этого мне нужна функция:

Если для приложения выбрано "Да" (Adobe 1.0), оно возьмет значение, указанное в поле Retire Into UID (20), и выполнит поиск на листе приложения, для которого в поле UID указано "20" (Adobe 2.0). ). Когда он совпадает с этим UID, если Retire for Adobe 2.0 - "Нет", а Win7 x64 "Полностью протестирован" - "Пропущен", я хочу взять имя группы AD из этой строки (Adobe 2.0) и заполнить его в столбце "Альтернатива" для Adobe 1,0. Я также хочу пометить ячейку Can Migrate в 64-битную ячейку как "Да". Если для Win7 x64 Fully Tested for Adobe 2.0 выбрано значение "Fail", функция все равно будет заполнять имя группы AD в поле "Альтернатива" для Adobe 1.0, но «Мигрировать на 64-битную версию» будет "Нет" для Adobe 1.0.

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

Вот снимок экрана примера данных с исходными данными в верхней таблице и как будет выглядеть результат функции в нижней таблице. Надеюсь, мое объяснение имеет смысл. Любая помощь или совет будет принята с благодарностью. Спасибо!

пример данных

1 ответ1

0

Если я что-то не упустил, это, кажется, довольно легко сделать с IF() и VLOOKUP(). Вы пробовали это? Я дам вам подсказку для первой части, а затем вы сможете использовать эту информацию для обработки второй части.

Введите это в H2:

= ЕСЛИ (F2 = "Да", ВПР (G2, А $ 2:$ B пп, 2, FALSE), "")

Здесь "nn" - последний ряд ваших столбцов A и B. Вы можете заполнить эту формулу вниз, выбрав H2, нажав SHIFT на последнюю ячейку в столбце H и выбрав «Fill> Down» в меню "Правка".

Вот как это работает: IF() сначала проверяет, есть ли "Да" в F2. Если есть, он возвращает результат VLOOKUP(). Если нет, то возвращается пустое (""). Часть VLOOKUP() ищет G2 (в нашем случае 20) в столбце 1 диапазона A $ 2: B $ nn и возвращает соответствующее значение в столбце 2 этого диапазона (Adobe 2.0). Предпоследнее "2" указывает столбец для получения результата, а FALSE указывает точное совпадение.

Более подробную информацию о VLOOKUP() можно найти на этой странице поддержки.

Более подробную информацию о IF() можно найти на этой странице поддержки

Теперь вы сможете написать формулу для ячейки I2, которая проверит, является ли F2 "Да", а затем вернет "Да" или "Нет" в зависимости от того, содержит ли L3 (Подсказка: строка 10 диапазона поиска) "Пропуск".

Попробуйте решить вторую часть, и проверьте здесь с вопросами, если у вас возникнут проблемы. Удачи.

PS. Здесь есть морщина, потому что в вашем столбце I есть некоторые значения, которые вы не хотите перезаписывать при заполнении формулы. Это простое исправление, если верно, что везде столбец L имеет "Пропуск", а столбец I - "Да". Подробнее об этом позже, но попробуйте создать формулу для этого и опубликовать ее в комментарии или редактировать свой вопрос.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .