MS Excel 2012 - заменить значение, если оно равно другому - PullRequest
1 голос
/ 18 февраля 2012

У меня есть столбец с образцами данных (дубликаты):

A10
B20
C30
A10
C30
C30
...

Я хочу заменить каждое значение идентификатором hold в других столбцах:

A10 - ID1
B20 - ID2
C30 - ID3

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

Заранее спасибо. Joro

Ответы [ 2 ]

2 голосов
/ 19 февраля 2012

Вы можете сделать это без VBA, используя VLOOKUP.Поместите все ваши пары ключ / значение в массив из 2 столбцов, например, D1: E3.Предполагая, что ваш столбец данных начинается с A1, поместите эту формулу в столбец B1:

= VLOOKUP(A1, $D$1:$E$3, 2, FALSE)

, затем скопируйте и вставьте вниз.

Если не все исходные значения сопоставлены с новым идентификаторомVLOOKUP вернет '# N / A'.Если вы хотите сохранить исходные значения для них, ваша формула будет немного более сложной:

= IF(ISNA(VLOOKUP(A1, $D$1:$E$3, 2, FALSE), A1, VLOOKUP(A1, $D$1:$E$3, 2, FALSE)))
1 голос
/ 18 февраля 2012

Вот макрос для поиска серии значений / строк и замены их новым набором значений / строк:


Массовая замена


Там есть образец листа, который вы также можете использовать для проверки.

Чтобы использовать макрос как есть:

  1. создать новый лист с именем Категории
  2. введите значения в столбце A
  3. поместить значения замены в столбец B
  4. Выведите на экран свой основной лист (образец листа называется Данные )
  5. Запустить макрос
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...