Формула Excel IF
имеет следующую конструкцию:
IF( <condition> , <value if condition true> , <value if condition false> )
Сразу ваша формула имеет две большие проблемы:
- Нет ложного предложения.
- Истинное предложение является условным, а не значением.
Вам нужен еще один столбец с оператором if, который говорит (в псевдо!):
IF (NEW!E2 equal OLD!H2) THEN (set this cell to OLD!A2)
ELSE (set this cell to NEW!B2)
Или в Excel:
IF( NEW!E2=OLD!H2 , OLD!A2 , NEW!B2 )
Очевидно, что в результате вы получите два столбца идентификатора на своем листе. Но, как только вы закончите, вы сможете скопировать / вставить специальные значения этого дополнительного столбца поверх реального.
Обновить
В зависимости от того, как структурированы ваши данные, это может быть бесполезно в любом случае.
Может быть лучше заменить условие if
какой-либо формой поиска, так что вы получите (в псевдо!):
IF( [NEW!E2] is in OLD list ) THEN (set this cell to ID of matching entry)
ELSE (set this cell to NEW!B2)
Или в Excel (разрывы строк так подходят!):
IF( VLOOKUP(NEW!E2,OLD!A1:G1000,1) = NEW!E2 ,
VLOOKUP(NEW!E2,OLD!A1:G1000,2) ,
NEW!B2)
Очевидно, я составил OLD!A1:G1000
, так что вы должны были бы предоставить свои реальные размеры таблицы, и вам нужно будет изменить номер соответствующего столбца (последнее значение в VLOOKUP
и убедитесь , что данные в OLD
отсортированы по адресу электронной почты, и реорганизовать OLD
таким образом, адрес электронной почты является первым столбцом (VLOOKUP
требует возрастания и ищет данные только в первом столбце, а затем возвращает данные из той же строки в запрошенном столбце).
Update2:
Я думаю, что немного неправильно прочитал ваш вопрос, потому что вы запрашиваете столбец только из совпадающих старых значений - в этом случае вам не нужно ложное предложение, потому что, когда нет совпадения, вы хотите "ничего". В этом случае вы можете просто использовать ""
в качестве ложного предложения "ничего не делать", чтобы получить пустые ячейки.