数据源
P → D → TYPE
25 → 150 → RF-RF
25 → 100 → RF-BLRF
25 → 65 → RF-RF
数据处理结果P → D → TYPE → RF数量 → BLRF数量
25 → 150 → RF → 2 →
25 → 100 → RF → 1 → 1
25 → 65 → RF → 3 → 1
25 → 100 → BLRF → → 1因为CSDN不能贴图,请见http://club.excelhome.net/viewthread.php?tid=637584&extra=&frombbs=1

解决方案 »

  1.   

    数据源
    P │ D │ TYPE
    25 │ 150 │ RF-RF
    25 │ 100 │ RF-BLRF
    25 │ 65 │ RF-RF
    数据分离规则P │ D │ TYPE RF数量1 │ RF数量2 │ BLRF数量
    25 │ 150 │ RF-RF 1 │ 1 │
    25 │ 100 │ RF-BLRF 1 │ │ 1
    25 │ 65 │ RF-RF 1 │ 1 │
    25 │ 65 │ RF-BLRF 1 │ │ 1
    分离结果
    P │ D │ TYPE RF数量 BLRF数量
    25 │ 150 │ RF │ 2 │
    25 │ 100 │ RF │ 1 │ 1
    25 │ 65 │ RF │ 3 │ 1
    25 │ 100 │ BLRF │ │ 1
    25 │ 65 BLRF 1CSDN不能贴图,也不能上传仰附件。不知道能否表述清楚。
      

  2.   

    P      D      TYPE
    25    150     RF-RF
    25    100     RF-BLRF
    现在解决方法是用SELECT方法。
    Sub lsfd()
      Dim Rst As ADODB.Recordset, Sql As String
      Sql = "Select P,D,left(Type,2),mid(type,4,10) From [sheet3$]"
      Set Rst = ConnectRst(Sql)
      With Rst
        .MoveFirst
        For ii = 0 To .RecordCount - 1
          Debug.Print ii;
          For jj = 0 To .Fields.Count - 1
            Debug.Print .Fields(jj) & ",  ";
          Next jj
          Debug.Print
          .MoveNext
        Next ii
      End With
    End Sub得出结果
    0 25,  150,  RF,  RF,  
    1 25,  100,  RF,  BLRF
    ---------------------------
    此结果不是目标需求,实际需求有以下几种组合
    P          D           TYPE
    25        100        BLRF-RF
    25        100        M-FM
    25        100        FM-M
    25        100        T-G用left是固定格式的字符串分离,不能实现目标需求。
    SQL能够解决动态格式的字符串分离吗?谢谢。