2017-06-09 2 views
0

ich für Excel konvertieren zum Beispiel beetween 2 Werte, die Hilfe benötigen:(Excel) konvertieren und zählen beetwean 2 Werte

Ich habe Wert Nummer "27-30" i 27,28,29 zu“konvertieren möchten, 30"

Und Wert char "S-XL" ich möchte konvertieren "S, M, L, XL"

+0

Was möchten Sie tun die Umwandlung aussehen mögen? Bitte geben Sie ein Beispiel für die Daten, die Sie haben, und die gewünschten Daten in einem Zellenformat –

+0

Beispiel Zelle A1: "27-30" und Zelle B1: "27,28,29,30" (Zelle B1 Wert, den ich konvertieren möchte) –

+0

@HengkyST gibt es nur 2 Konvertierungen? oder hast du mehr von dieser Art? –

Antwort

0

Die Zahlen 28,29 and so on leicht durchgeschleift werden können, aber für Größen wie S, M and L, benötigen Sie eine Lookup-Tabelle .

Column A enthält Ihre Größen und Column E, die Suche nach non-numeric Größen

enter image description here

Der Code ist hier das Ergebnis auf Column B,

Sub sizes() 
Dim i As Long, j As Long, str As String, rownum As Long 
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row 
    If IsNumeric(Left(Cells(i, 1), InStr(Cells(i, 1), "-") - 1)) Then 
     str = Left(Cells(i, 1), InStr(Cells(i, 1), "-") - 1) 
     For j = Left(Cells(i, 1), InStr(Cells(i, 1), "-") - 1) + 1 To _ 
       Mid(Cells(i, 1), InStr(Cells(i, 1), "-") + 1, 999) 
      str = str & " , " & j 
     Next j 
     Cells(i, 2) = str 
    Else 
     rownum = Application.WorksheetFunction.Match(Left(Cells(i, 1), InStr(Cells(i, 1), "-") - 1), Range("E:E"), 0) 
     str = Cells(rownum, 5) 
     rownum = rownum + 1 
     Do Until (Cells(rownum, 5) = Mid(Cells(i, 1), InStr(Cells(i, 1), "-") + 1, 999)) 
      str = str & " , " & Cells(rownum, 5) 
      rownum = rownum + 1 
     Loop 
     str = str & " , " & Cells(rownum, 5) 
     Cells(i, 2) = str 
    End If 
Next i 
End Sub 
+0

Danke Herr Ghowtam, seine Arbeit für mich –