1

Пример. Предположим, номер телефона устройства 847-630-4459 .

  • Шаг 1: Мы добавляем «1» в начале числа, получая: 1-847-630-4459
  • Шаг 2: Для первых 7 цифр (1-847-630) мы вычитаем каждую из 10. Например. 10-1 = 9, 10-8 = 2 и т.д.
  • Шаг 3: Новая метка создается как «серийный номер». Конечный результат будет выглядеть так:

    S/N 92634704459

Мне нужно сделать это для 465 телефонных линий - есть ли способ создать формулу, чтобы сделать это автоматически?

2 ответа2

1

Предполагая, что все ваши числа имеют 10 цифр, затем с номером в A1 попробуйте эту формулу в B1 для преобразования по мере необходимости

="S/N 9"&SUMPRODUCT(MOD(-MID(SUBSTITUTE(A1,"-",""),{1,2,3,4,5,6},1),10),10^{5,4,3,2,1,0})&RIGHT(A1,4)

Вы можете скопировать формулу вниз по столбцу, чтобы преобразовать ваш полный набор чисел

0

Вот более математически ориентированный подход:

="S/N 9"&(1111110-INT(SUBSTITUTE(A1,"-","")/10000))*10000+MOD(SUBSTITUTE(A1,"-",""),10000)

К сожалению, он не выполняет ваши инструкции точно - он отключается на единицу в предыдущей цифре, когда входной номер телефона содержит 0 (ноль).  Но это удовлетворяет ваше подразумеваемое требование, а именно, что разные телефонные номера всегда должны давать разные серийные номера.

И, конечно, вы можете немного сократить эту формулу, используя вспомогательный столбец.  Если вы установите для B1 значение =SUBSTITUTE(A1, "-", "") , то серийный номер может быть выражен как

="S/N 9" & (1111110-INT(B1/10000))*10000 + MOD(B1, 10000)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .