Excel: изменить буквенно-цифровые значения

Я ищу формулу, которая внесет следующие изменения в буквенно-цифровые ячейки переменной длины:

  • Измените буквы алфавита на Z.
  • Измените числа, увеличивая 1 (9 становится 0)
До После АВС123 ZZZ234 1A2B3C 2Z3Z4Z 1А 2З 99F 00Z

К сожалению, я не могу использовать VBA в этом приложении.

Я пробовал комбинации ЗАМЕНИТЬ и ЗАМЕНИТЬ, но безуспешно. Заранее благодарим, если у вас есть какие-либо предложения или дайте мне знать, если это невозможно.

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
0
68
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если я правильно понял, то в данных условиях должна работать следующая формула:


=LET(
     α, --MID(A2,SEQUENCE(LEN(A2)),1),
     CONCAT(IF(ISERR(--α), "Z", XLOOKUP(α, SEQUENCE(9)-1, SEQUENCE(9,,0)+1,0))))

  • α разделить строку с помощью функции MID().
  • --α проверьте, число это или текст, поэтому для числа он вернет FALSE, а для текста — TRUE
  • используйте IF(), чтобы полностью изменить любой буквенный символ на Z, в то время как для чисел используйте XLOOKUP(), чтобы вернуть увеличивающееся число, а для ошибки 9 он возвращает 0
  • Наконец, используйте CONCAT(), чтобы объединить все в одно целое.

На самом деле это так, но использование LET() облегчает чтение и понимание:

=CONCAT(IFERROR(XLOOKUP(--MID(A2,SEQUENCE(LEN(A2)),1),SEQUENCE(9)-1,SEQUENCE(9,,0)+1,0),"Z"))

Или формула единого динамического массива для раздачи:

=BYROW(A2:A5,LAMBDA(α, CONCAT(IFERROR(
  XLOOKUP(--MID(α,SEQUENCE(LEN(α)),1),SEQUENCE(9)-1,SEQUENCE(9,,0)+1,0),"Z"))))

Думаю короче:

=LET(α,--MID(A2,SEQUENCE(LEN(A2)),1),CONCAT(IFERROR(IF(α=9,0,α+1),"Z")))

это фантастика и успех. Спасибо! Решено.

lyall 26.02.2024 19:43

@lyall, если это сработало, обязательно примите ответ, отметив галочку рядом с ним, чтобы это помогло кому-то в будущем искать решение, подобное вашему, и мы могли использовать его, чтобы пометить его как дубликат.

Mayukh Bhattacharya 26.02.2024 19:45

Другие вопросы по теме