#excel #vba
#excel #vba
Вопрос:
У меня есть 2 листа. Я хочу перебрать все строки и сравнить столбец A на листе 1 со столбцом A на листе 2.
Если есть совпадение, я хочу взять дату из столбца H листа 2 в каждой строке, где столбец A на 2 рабочих листах совпадает, и вставить его в соответствующую строку на листе 1 в столбце I.
Если между значениями в столбце A нет совпадения, я хочу оставить значение в столбце I листа 1 без изменений.
Можете ли вы помочь мне с ответом на это?
Комментарии:
1. Вставьте новый столбец I на листе 1 (это переместит значения столбца I в столбец J). Предполагая, что ваши данные имеют заголовки, затем в новой ячейке I2 (вновь вставленного пустого столбца) используйте формулу VLOOKUP и скопируйте вниз:
=IFERROR(VLOOKUP(A2,'worksheet 2'!A:H,8,FALSE),J2)
а затем скройте столбец J. Или вы можете скопировать столбец I -> вставить специальные -> значения, а затем удалить столбец J, если это предпочтительнее.
Ответ №1:
Это работает в книге, которую я создал с двумя листами.
Вам нужно добавить это в ячейку, в которую вы хотите поместить информацию, в вашем случае дату, в столбце I таблицы 1.
Вам нужно будет заменить названия листов и ячеек в формуле, чтобы она работала в вашей книге.
В моем примере листы называются Лист1 и Лист2. Сравниваемые ячейки — это I2 на листе 1 и I2 на листе 2, а значение, которое я копирую с листа 2, равно A2, если есть совпадение, если совпадения нет, я передаю пустую строку «».
=ЕСЛИ(Лист1!I2= Лист2!I2, Лист2!A2,»»)
ЕСЛИ (Ячейка I2 листа 1 равна ячейке I2 листа 2, скопируйте значение ячейки A2 листа 2, если оно не равно, ничего не копируйте.
Если вы видите ошибку, пожалуйста, не стесняйтесь исправлять ее, поскольку я учусь сам.
Я надеюсь, что это поможет, удачи