Office中国论坛/Access中国论坛

标题: 4X7矩阵如何建立数据透视表 [打印本页]

作者: sisusum    时间: 2017-8-3 11:22
标题: 4X7矩阵如何建立数据透视表

请问如何建立数据透视表?

本人上载了附件,请各位指教。这是一个4X7的矩阵。希望汇总后,能按Pattern去做查询。

例子如下:

这个表格里有几种pattern,例如312、536、124、324等等。

本人希望完成数据透视表后,假设按pattern324时,相应数据能显示出来。
例如
No.4可以显示出
4
A0100011
324
B1100000
C0100111
D0100001

No.5可以显示出
5
A1001001
324
B0001001
C0011110
D0000011

希望做到查询同一个pattern的4x7矩阵都能显示出来,本人尝试用这种数据去做数据透视表时,excel出现错误,不允许继续下一步,希望各位帮忙解决


作者: tmtony    时间: 2017-8-3 11:31
这种excel透视分析的估计只的小妖 和R大师了
作者: Henry D. Sy    时间: 2017-8-3 11:42
[attach]61826[/attach]
BTW
在excel中,如果想要对excel进一步处理数据,请尽量别用合并单元格.

作者: sisusum    时间: 2017-8-3 12:04
Henry D. Sy 发表于 2017-8-3 11:42
BTW
在excel中,如果想要对excel进一步处理数据,请尽量别用合并单元格.

Henry,可能我弄错了,我要的是这种。有个倒三角可以自己选择不同的pattern的,然后同一种pattern的全部显示出来这样子,你能帮我看看怎样弄吗?
作者: sisusum    时间: 2017-8-3 12:11
Henry,如何能做出来,能告诉我一下是怎样做吗?这表上的数据会一直增加,不可能每次都麻烦你帮我重新做一篇,谢谢你的帮忙
作者: Henry D. Sy    时间: 2017-8-3 12:33
这不就是普通的自动筛选吗

作者: Henry D. Sy    时间: 2017-8-3 12:41
1.把合并单元格去掉,填上数字
2.把标题补起来
3.选择标题的任一单元格个---开始---编辑---筛选
  或者选择表中任一单元格---插入-表格
[attach]61831[/attach]
[attach]61832[/attach]

作者: sisusum    时间: 2017-8-3 12:42
我知道自动筛选能做到,但我想看看能不能用数据透视表做出来,因为比较统一,能看到单一pattern的数量
作者: Henry D. Sy    时间: 2017-8-3 12:44
sisusum 发表于 2017-8-3 12:42
我知道自动筛选能做到,但我想看看能不能用数据透视表做出来,因为比较统一,能看到单一pattern的数量

三楼给你的就是透视表呀
[attach]61835[/attach]

作者: Henry D. Sy    时间: 2017-8-3 12:50
本帖最后由 Henry D. Sy 于 2017-8-3 12:52 编辑

你的要求,可以这样达到:
插入表格,
自动筛选
透视表也可以,但是比较麻烦,因为你的原表(初始数据源)是个二维表(相当于透视表,但实质不是透视表,只是看起来象透视表)
生成透视表前,需要转成一维表(也就是标准表)
附件是透视表的结果
(只是布局跟三楼的不一样而已)
[attach]61836[/attach]
[attach]61837[/attach]

作者: sisusum    时间: 2017-8-3 12:52
Henry D. Sy 发表于 2017-8-3 12:41
1.把合并单元格去掉,填上数字
2.把标题补起来
3.选择标题的任一单元格个---开始---编辑---筛选

#7  这个也是透视表吗?因为现在是用kingsoft的软件打开,看不到效果。

我要的是#7的效果,我回去做做看,先谢谢你。
作者: Henry D. Sy    时间: 2017-8-3 13:02
sisusum 发表于 2017-8-3 12:52
#7  这个也是透视表吗?因为现在是用kingsoft的软件打开,看不到效果。

我要的是#7的效果,我回去做做 ...

#7楼的不是透视表
#3,#10楼的是
作者: sisusum    时间: 2017-8-3 14:12
Henry D. Sy 发表于 2017-8-3 13:02
#7楼的不是透视表
#3,#10楼的是

好的,谢谢。
那我要做#3或是#10的透视表的话,都是按你那步骤吗?


1.把合并单元格去掉,填上数字
2.把标题补起来
3.选择标题的任一单元格个---开始---编辑---筛选
  或者选择表中任一单元格---插入-表格
作者: Henry D. Sy    时间: 2017-8-3 15:16
sisusum 发表于 2017-8-3 14:12
好的,谢谢。
那我要做#3或是#10的透视表的话,都是按你那步骤吗?

这个是自动筛选的
作者: sisusum    时间: 2017-8-4 22:55
Henry D. Sy 发表于 2017-8-3 15:16
这个是自动筛选的

Henry

我想问一下,有什麽方法可以拉下去的时候能按每四个储蓄格的值加1呢?

例如,A2到A5我要的数值是1,A6到A9要的是2,A10到A13是3,如此类推,要如何设置呢?


作者: Henry D. Sy    时间: 2017-8-5 12:55
A2到A5输入1,A6到A9输入2
然后选择这八个单元格,下拉
作者: sisusum    时间: 2017-8-7 19:32
Henry D. Sy 发表于 2017-8-5 12:55
A2到A5输入1,A6到A9输入2
然后选择这八个单元格,下拉

这个按钮不见了,要怎样弄出来?

作者: Henry D. Sy    时间: 2017-8-7 19:34
sisusum 发表于 2017-8-7 19:32
这个按钮不见了,要怎样弄出来?

就一个图,谁能明白怎么回事??
作者: sisusum    时间: 2017-8-7 19:37
不是,之前帮我写了一个汇结,按一下这个,A、B、C、D四个工作表会汇结到最后一个工作表上去,但现在这个按钮我不小心删了,我不知道怎样把它做出来。
作者: sisusum    时间: 2017-8-7 19:39
Henry D. Sy 发表于 2017-8-7 19:34
就一个图,谁能明白怎么回事??

有印像吗?我现在上载之前你帮我做的附件,就是这附件内的按钮不见了,要怎样做?

作者: sisusum    时间: 2017-8-7 19:45

我打开excel,程式码还在,还是按钮不见了,不知道怎样重做一个新按钮能运行这些代码?

Private Sub MergeTbl_Click()
    Dim arr(1 To 4) As String
    Dim tempArr()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim m As Integer
    Dim intRows As Long
    Dim strSheetName As String
'    Application.ScreenUpdating = False
    j = 1
    m = 1
    For i = 1 To ActiveWorkbook.Sheets.Count
        strSheetName = ActiveWorkbook.Sheets(i).Name
        Select Case strSheetName
        Case "A", "B", "C", "D"
            arr(j) = strSheetName
            j = j + 1
        End Select
    Next
    intRows = (Worksheets(arr(1)).Range("A" & 4 ^ 8).End(xlUp).Row - 2) * UBound(arr)
    Range(Cells(2, 1), Cells(intRows + 1, 9)).ClearContents
    ReDim tempArr(1 To intRows, 1 To 8)
    Range("A2") = m
    For i = 1 To intRows
        k = i Mod UBound(arr)
        If k = 0 Then
            k = UBound(arr)
        End If
        tempArr(i, 1) = arr(k)
        For j = 2 To 8
            tempArr(i, j) = Worksheets(arr(k)).Cells(m + 2, j - 1)
        Next
        If i Mod UBound(arr) = 0 Then
            m = m + 1
            If m <= intRows / UBound(arr) Then
                Range("A" & 2 + i) = m
            End If
        End If
    Next
    Range("B2").Resize(intRows, 8) = tempArr
'    Application.ScreenUpdating = True
End Sub

作者: Henry D. Sy    时间: 2017-8-8 14:47
那就重新建一个按钮呀
作者: sisusum    时间: 2017-8-10 12:50
谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3