Замена букв с номерами в последовательности в формуле Excel - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу обновить столбец, основанный на другом столбце, в котором в списке последовательно указаны отверстия, обновление должно заменить символ в последовательности, например, A = 0, B = 1, C = 2 и т. Д.Есть ли способ сделать это без написания действительно большой формулы типа IF / Then?

Я пробовал формулу замены, но мне удалось обновить только одну букву за раз ..

В приведенном ниже примере;Hole_ID_2 (столбец R) - это желаемый вывод с использованием данных Hole_ID (столбец P).

enter image description here

Любая помощь приветствуется, ура

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Пока все идентификаторы для замены имеют одинаковую структуру (длина 10 символов и буква для замены в позиции 8), можно получить код буквы ANSI, используя CODE, и вычислить этот код кактогда соответствующее число.

Это позволит избежать многих вложенных SUBSTITUTE функций.

Ваш пример:

enter image description here

Формула в R3 вниз:

=LEFT(P3,7)&CODE(MID(P3,8,1))-65&RIGHT(P3,2)
0 голосов
/ 06 февраля 2019

Просто чтобы дать вам другой вариант:

=SUBSTITUTE(RIGHT(P3,LEN(P3)-1),MID(P3,MID(1,ISERROR(VALUE(MID(RIGHT(P3,LEN(P3)-1),ROW(INDIRECT("1:"&LEN(P3))),1)))*1,0)+1,1),CODE(MID(P3,MATCH(1,ISERROR(VALUE(MID(RIGHT(P3,LEN(P3)-1),ROW(INDIRECT("1:"&LEN(P3))),)))*1,0)+1,1))-65)

Это выглядит немного страшно, но он просто заменяет первый нечисловой символ, найденный в строке, без учета первого N.Это формула массива, поэтому ее следует вводить так!

Это будет более динамично, поскольку не имеет значения, где находится нечисловой символ.

0 голосов
/ 06 февраля 2019

Рассматривали ли вы функцию замены ()?

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3,"a",1),"b",2),"c",3)

, предполагая, что ваши данные начинаются в ячейке A3.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...