excel数据透视表数据字段怎么设置

excel数据透视表数据字段怎么设置,第1张

打开要统计的数据表格

选中数据表格中任意一个有数据的单元格,把软件的注意力引过来

→插入→数据透视表→确定(软件会默认框选整个表格的数据,默认数据透视表在新的工作表中显示)

序号列是文本格式,且不重复,可以用来计数(有多少个序号,就有多少行数据),现在统计下字段1中各种数值出现的情况:

用鼠标将“序号”拖拽至右下角计数框中

→将“字段1”拖拽至“行标签”中

→结果显示:字段1取值有3、5、6、7四种情况,出现频次分别为9、4、6、11,共30个取值:

再来看看字段2与字段1取值情况:

将字段2拖拽至“列标签”,结果显示:字段2取值仅1、2两种情况,且字段1取值为3时,字段2有7个数据取值为2,2个取值为1;字段1取值为5时,字段2只有取值为2一种情况,共4个……:

返回数据表,更新部分数据,字段2部分取值改为3,

回到透视表,发现统计结果没有变化,这是不能用的。如何更新?

鼠标右击统计结果表格→刷新 结果变化

你的意思是不是这样

1  A

2  TOP

3  B

4  TOP

5  C

6  TOP

以上有六行,你要在A、B、C前面都加上depth是不是,如果A、B、C都一样的话用查找/替换就可以了,如果不一样只能用宏来实现,如你现在数据是表1(Sheet1)且TOP所在为A列的话,按ALT+F11调出VBA,双击左边的Sheet1调出表1代码窗口,将下面代码复制到右边Sheet1窗口中。

Sub 填充()

fr = [A65536].End(xlUp).Row

For i = 2 To fr

If Cells(i, 1).Value = "TOP" Then  '这行和下行中像Cells(i, 1)的1代表A列,B列改为2,以此类推,条件为找到等于TOP的值

Cells(i - 1, 1).Value = "depth" & Cells(i - 1, 1).Value '改为depth加原来的值,按自己要求改,上一行CELL后面1有改的话这行也要跟着改

End If

Next i

End Sub

然后在表1中按ALT+F8,选“填充”后执行就可以了。

要插入depth也可以,按照我贴出图片的步骤 *** 作,在任何工作表(同一工作簿)都可以.代码如下,连代码中的解释都粘贴过去一样可以运行,没影响

Sub 填充()

With ActiveSheet   '关联当前工作表

fr = .[A65536].End(xlUp).Row     '定义最后行

For i = fr To 2 Step -1   '从最后行到第二行中逐行查找

If .Range("A" & i).Value = "TOP" Then  '当在A列找到TOP时,此行A和TOP可以按你的要求更改,如果这行A改为B(即TOP在B列)的话后面的A也要改为B

.Rows(i & ":" & i).Insert Shift:=xlDown '在找到的行前面插入一个新行

.Range("A" & i).Value = "depth"   '在新行的第一个单元格A单元格写入depth,depth也可以按你自己要求改

End If

Next i   '查找下一个

End With

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11816108.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存