I have a column with sample data(duplicate):
A10 B20 C30 A10 C30 C30 ...
I want to replace each value with ID hold in other columns:
A10 - ID1 B20 - ID2 C30 - ID3
I have to many id’s to do this with the ordinary replace. Is there a tricky way to do this or I should use other technique (like move the data in some program language and to do the replacement there).
Thank you in advance.
You can do it without any VBA, using
VLOOKUP. Put all your key/value pairs in a 2-column array, e.g., D1:E3. Assuming your column of data starts in A1, put this formula in column B1:
= VLOOKUP(A1, $D$1:$E$3, 2, FALSE)
then copy-paste down.
If not all your original values are mapped into a new ID, the VLOOKUP will return ‘#N/A’. If you want to keep the original values for these, your formula will be a bit more complex:
= IF(ISNA(VLOOKUP(A1, $D$1:$E$3, 2, FALSE), A1, VLOOKUP(A1, $D$1:$E$3, 2, FALSE)))
Here’s a macro for searching for a series of values/strings and replacing them with a new set of values/strings:
There’s a sample sheet there you can use to test it out, too.
To use the macro as is:
- create a new sheet called Categories
- put the values to find in column A
- put the replacement values in column B
- Bring up your main sheet onscreen (sample sheet it’s called Data)
- Run the macro