从Excel

时间:2015-06-15 10:46:34

标签: excel

是否有可能如何根据两个标准将cca 100行的值排序到表中?比较名称和比较类别,还是不好的做法?

假设我有一份人员名单:

   Name     Category   Value
    Carl         A          10
    Carl         B          17
    John         A          11
    Jane         A           7
    John         B          22

人名可以排成行。 3还是不。 30或10。但是有3个类别A,B,C 我如何根据类别订购它们?

Name    A   B   C
Carl    10  17  
John    11  22  
Jane    7

先谢谢

2 个答案:

答案 0 :(得分:1)

从:

开始

enter image description here

运行这个小宏:

Sub TwoDee()
    Dim s1 As Worksheet, s2 As Worksheet
    Dim N As Long, i As Long, v1 As String, v2 As String, v3 As Long
    Dim iRow As Long, iCol As Long
    Set s1 = Sheets("Sheet1")
    Set s2 = Sheets("Sheet2")
    s2.Cells.Clear

    N = s1.Cells(Rows.Count, "A").End(xlUp).Row
    s1.Range("A1:B" & N).Copy s2.Range("A2")
    s2.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlNo
    s2.Range("B:B").RemoveDuplicates Columns:=1, Header:=xlNo
    s2.Range("B2:B" & N).Copy
    s2.Range("B1").PasteSpecial Transpose:=True
    s2.Range("B2:B" & N).Clear

    For i = 1 To N
        v1 = s1.Cells(i, 1).Value
        v2 = s1.Cells(i, 2).Value
        v3 = s1.Cells(i, 3).Value
        iRow = s2.Range("A:A").Find(What:=v1, After:=s2.Range("A1")).Row
        iCol = s2.Range("1:1").Find(What:=v2, After:=s2.Range("A1")).Column
        s2.Cells(iRow, iCol) = v3
    Next i
End Sub

将产生:

enter image description here

在第二个工作表中。

答案 1 :(得分:0)

你可以使用数据透视表做一些非常接近的事情:

enter image description here

布局与您的问题不完全相同,但它确实按类别排序。

要插入数据透视表,只需转到插入 - >数据透视表,选择表格所在的范围,然后将数据透视表助手窗格顶部的各种标题拖动到上面图像右下角的字段中。

相关问题