2017-06-09 14 views
0
私は例えば、2つの値beetween変換するExcelのヘルプが必要

beetweanカウント:(エクセル)に変換し、2つの値

私は値番号が「27-30」私は27,28,29」に変換する必要があり、 30"

と値の文字 『S-XL S、M』私はに変換したい 『L、XL』

+0

あなたは変換が見て何をしたいですか好き?あなたが持っているデータの例とセルのフォーマットにしたいデータを提供してください –

+0

セルA1: "27-30"とセルB1: "27,28,29,30"(セルB1の値は変換したい) –

+0

@HengkySTには2回のコンバージョンしかありませんか?あなたはこの種のものがもっとありますか? –

答えて

0

番号28,29 and so onを簡単にループすることができますが、S, M and Lのような大きさのために、あなたがルックアップテーブルを必要とします。

Column AがあなたのサイズやColumn Eが含まれ、non-numericサイズのルックアップ、

enter image description here

コードはここにある、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

Ghowtamさん、ありがとうございました。 –

関連する問題