Что вы подразумеваете под «изменением»? Достаточно ли хорошо, чтобы создать новый столбец, содержащий манипулируемые значения? Если это так, настройте таблицу поиска, как описано в TheCompWiz, установите для C1 значение
=LEFT(A1, LEN(A1)-3) & VLOOKUP(B1, Sheet2!A$1:B$9999, 2)
и перетащите / заполните.
LEFT( X , LEN( X ) - 3) - это все X кроме 3 крайних правых символов, и & - это конкатенация строк.
Вопрос говорит,
Правило: 1 = AAA, 2 = AAB, 3 = AAC, 4 = AAD и т.д.
Это похоже на обозначение base-26.
Я думаю, 26 = AAZ, 27 = ABA, 260 = AJZ, 261 = AKA, 676 (26 × 26) = AZZ, 677 = BAA и т.д. По совпадению, это очень похоже на то, как Excel помечает столбцы.
Если у вас достаточно актуальная версия Excel (2007? 2010?) Вы можете получить это с формулой
LEFT(ADDRESS(1, 26*26 + 26 + n , 4), 3)
где ADDRESS - это функция для преобразования координат в адрес ячейки.
Например, ADDRESS(4, 2, …) возвращает B4 , а ADDRESS(4, 27, …) возвращает AA4 .
Третий параметр указывает, использовать ли абсолютную или относительную адресацию; 4 означает, что строка и столбец являются относительными. Таким образом, ADDRESS(1, 26*26 + 26 + 1, 4) - это AAA1 , а LEFT( string , 3) возвращает первые (самые левые) три символа string .
Очевидно, вы бы подключить B1 для n .
PS Вам нужна текущая версия Excel, потому что в Excel 2003 и более ранних версиях (и я не уверен насчет 2007 года) рабочий лист может содержать не более 256 столбцов, и функция ADDRESS не оставляет вас генерирующим имя ячейки, которая не может существовать (то есть тот, для которого номер столбца> 256).