Получение числового значения из смешанной строки - PullRequest
1 голос
/ 03 июля 2019

Я работаю над формулой для вычисления контрольной цифры по номеру VIN;17 буквенно-цифровых символов, каждый со своим значением (числа имеют свое значение, буквы обозначаются значением от 1 до 9).К сожалению, при извлечении символов по отдельности с использованием MID извлекаются числа в виде текста, что приводит к ошибке в VLOOKUP.

. Сначала я пытался просто использовать MID([@[VIN / Cargo ID]]; 1;1) (увеличивая начальное число для каждого символа встрока), которая работает нормально, если целевой символ представляет собой букву.Однако, если это число, оно извлекается в виде текста, что приводит к сбою при поиске.

Я попытался преобразовать их в числовые значения, используя комбинацию IF(ISNUMBER) ... NUMBERVALUE, и попытался сохранить совпадение.столбец в моей таблице поиска как текст, но безуспешно.

Моя текущая попытка основана на этом:

=IF(ISNUMBER(MID([@[VIN / Cargo ID]]; 1;1)); NUMBERVALUE(MID([@[VIN / Cargo ID]]; 1;1)); VLOOKUP(MID([@[VIN / Cargo ID]]; 1;1); VIN_charval; 2; FALSE))

Это тоже не работает, давая #N/A.У кого-нибудь есть идеи, которые могут помочь?

Для ясности, конкретная конструкция VIN не является проблемой;проблема заключается в извлечении чисел из любой буквенно-цифровой текстовой строки.

1 Ответ

1 голос
/ 03 июля 2019

Поскольку структура VIN фиксирована, то есть обычно 17 буквенно-цифровых символов, вы можете получить нужные символы по позиции с помощью MID (), см .:

enter image description here

Когда MID () выводит текст, вы заметите, что я умножил на 1, чтобы убедиться, что это число.

Я только что взял 2 символа, начиная с позиции 6, но вы можете изменить это ...

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