
У меня есть строки в Excel, например AA
или XA
.
Мне нужно увеличить их следующим образом:
Для AA
ячейки A1 это будет AB
ячейка B1, AC
ячейка B2 и так далее.
Для XA
ячейки A1 это будет XB
ячейка B1, XC
ячейка B2 и так далее.
Я попробовал популярный код, =CHAR(CODE(A1)+1)
но он не работает после Z.
Любые подсказки приветствуются.
решение1
Попробуйте это: введите «AA» в ячейкуА1и введите следующую формулу в ячейкуВ1и перетащите через
=IF(RIGHT($A1,1)="Z", CHAR(CODE(LEFT(A1,1))+1),LEFT(A1,1))&CHAR(65+MOD(CODE(RIGHT(A1,1))+1-65,26))
Он будет увеличиваться следующим образом: AA, AB, AC,..., AZ, BA, BB, BC.... и т.д.
Вы можете адаптировать эту формулу под свою конкретную презентацию. Обратите внимание, что это не будет работать после "ZZ".
Обновление: исправлена ошибка
решение2
Мы можем использовать саму электронную таблицу Excel, чтобы помочь увеличить буквы — увеличение будет происходить от A
доXFC
Сначала создайте ссылку на ячейку: INDIRECT(A1&"1")
Затем найдите адрес следующего столбца: ADDRESS(1,COLUMN(INDIRECT(A10&"1"))+1)
Затем из $??$1 извлекаем буквы: 2 способами:
Найдите второй символ $ и вырежьте текст между ними.
=MID(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2,FIND("$",ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2)-2)
Замените 1 и $ ничем в строке
=SUBSTITUTE(SUBSTITUTE(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),"$",""),"1","")
Выберите тот, который подходит вам лучше всего
решение3
Другой пример: введите это в ячейку A1, затем скопируйте формулу в любую или все ячейки.
=СИМВОЛ(ОСТАТОК(СТРОКА(A1)-1;26)+65)&СИМВОЛ(ОСТАТОК(A1)-1;26)+65)
Приведено в качестве примера того, как можно думать об этой проблеме.
решение4
Другим решением этой проблемы с использованием ADDRESS()
является:
=MID(ADDRESS(1,26+ROW()),2,2)
Вышеуказанная формула вернет результат AA
в первой строке, AB
во второй строке и т.д.
Также с использованием математики формула выглядит так:
=CONCATENATE(CHAR(INT(ROW()/26)+65),CHAR(MOD(ROW()-1,26)+65))