Как удалить 0 между номером детали в Excel - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь удалить 0 между буквенно-цифровым «номером детали».

Номер детали Ожидаемый результат 0-1379095-2 1379095-2 0-0042899-3 42899-3 0-0185309-1 185309-1

enter image description here

Любая помощь высоко ценится.

Спасибо, Ганеш

Ответы [ 2 ]

0 голосов
/ 07 июня 2018
=IF(LEFT($A2,5)="0-000",REPLACE($A2,1,5,""),IF(LEFT($A2,4)="0-00",REPLACE($A2,1,4,""),IF(LEFT($A2,3)="0-0",REPLACE($A2,1,3,""),IF(LEFT($A2,2)="0-",REPLACE($A2,1,2,""),IF(LEFT($A2,1)="0",REPLACE($A2,1,1,""),IFERROR(IF(FIND("-0",$A2,1)=2,REPLACE($A2,FIND("0",$A2,1),1,""),$A2),A2))))))
0 голосов
/ 06 июня 2018

Попробуйте:

=SUBSTITUTE(I8,"-0","-")

РЕДАКТИРОВАТЬ:

Ваша правка задает совершенно другой вопрос.Предполагая, что шаблон, который вы показываете, является последовательным, вы можете использовать эту ужасающую формулу:

=CONCATENATE(VALUE(SUBSTITUTE(LEFT(I8,FIND("-",I8,FIND("-",I8)+1)-1),"-","")),RIGHT(I8,LEN(I8)-FIND("-",I8,FIND("-",I8)+1)+1))

Или вы можете использовать небольшой UDF:

Function GaneshFormat(ByVal sInput As String, ByVal sSeparator As String) As String
    Dim s() As String
    Dim i As Integer
    s = Split(sInput, sSeparator)
    For i = 1 To UBound(s)
        s(i - 1) = CLng(s(i))
    Next i
    ReDim Preserve s(UBound(s) - 1)
    GaneshFormat = Join(s, sSeparator)
End Function

Который вы можете использовать так:

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