3

У меня есть книга Excel с 2 листами.

1-й лист: старые данные пользователя 2-й лист: новые данные пользователя

Я хочу добавить новый столбец на 2-й лист, который содержит старый идентификатор пользователя с 1-го листа. Чтобы получить это, я хочу сравнить адрес электронной почты между обоими листами.

Я думаю, что псевдо-то, что я хочу, заключается в следующем:

IF (NEW!E2 equal OLD!H2) THEN (NEW!B2 becomes OLD!A2)

Пока что в новом столбце на 2-м листе есть следующее:

=IF(NEW!E2=OLD!H2,NEW!B2=OLD!A2)

Кажется, что логика утверждения IF неверна.

1 ответ1

3

Формула 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:

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

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