Что вы подразумеваете под «изменением»? Достаточно ли хорошо, чтобы создать новый столбец, содержащий манипулируемые значения? Если это так, настройте таблицу поиска, как описано в 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).