Tag: 数据透视表

Excel数据透视表中的平均和

我正在测量数据转储中的机房利用率(可用时间/可用时间)。 每行包含当天的可用时间和特定情况下的时间。 图像是数据的简化版本。 如果你看了黄色和绿色的亮点(房间1): 在1号房间,2016年1月1日有200个可用分钟。 案例1花了60分钟,案例2花了50分钟。 在1/2/2016有500分钟可用,当天只有一个案件发生,用时350分钟。 Room 1 utilization = (60 + 50 + 350)/(200 + 500) 总结可用时间的问题是,它重复计算2016年1月1日的200分钟,给出: Utilization = (60+50+350)/(200+200+500) 在这个数据中有数百行(并且会有多个不同行数的数据转储),每天都会发生多个事件。 我正在尝试使用数据透视表,但无法获得特定房间的“平均值总和”(请参阅​​图像)。 我正在使用一个macros来将总数列中的数字拉出来。 这可能吗? 你看到另一种获得利用的方法吗? (注意:数据中还有很多其他列,如个案开始,个案结束,星期几等等,这些数据在这个计算中没有使用,但可用)

自动调整数据表的大小以适应数据透视表

设置一个数据表的最简单的方法是从数据透视表获取input,以自动resize以获得与数据透视表相同的行数? 我正在Excel 2010中工作,通过计算字段在数据透视表中执行计算的可能性是有限的。 因此,我在附近的数据表中用相同数量的行计算数据透视表行中的输出。 这工作正常! 但是我有许多表格和长表格,所以手工填写数据表格的行号很麻烦。 也许有一个altoghether应该用不同的方式来执行数据透视表结果计算? 数据表在添加新行时会自动resize。 我倾向于使用数据透视表,数据表和resize的方法来声明一个类,但是那么我可能会做得过分吗? 编辑:这表明它是如何只是其中一个枢轴数据表对

input不匹配错误,同时添加pivotcache

这返回types不匹配错误,我不知道为什么。 我问昨天同样的任务,我发现有一些合并的单元格,因此我今天删除了合并单元格,但仍然不起作用给出相同的错误 该代码与其他工作表数据正常工作,但它返回该特定工作表的错误。 我试过这个: Set wD = Sheets.Add ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=wS.UsedRange).CreatePivotTable _ TableDestination:=wD.Range("A3") 和这个 Set wD = Sheets.Add ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=wS.Range("A1").CurrentRegion).CreatePivotTable _ TableDestination:=wD.Name & "!R3C1" 这是源数据表的样子

为什么试图创build数据透视表(Excel Interop)失败?

根据我在这里find的代码,我试图创build一个像这样的数据透视表: var range = _xlSheet.Range[_xlSheet.Cells[6, 1], _xlSheet.Cells[6, _grandTotalsColumn]]; ListObject tbl = WriteToExcelTable(_xlSheet, "tbl", "A6"); var pch = _xlBook.PivotCaches(); pch.Add(XlPivotTableSourceType.xlDatabase, "Produce Usage by Month!A6:F94") .CreatePivotTable(tbl, "PivTab1", Type.Missing, Type.Missing); . . . public ListObject WriteToExcelTable(Worksheet WSheet, string TableName, string CellStr = "A1", bool ClearSheetContent = false) { Range range; if (ClearSheetContent) WSheet.Cells.ClearContents(); // clear sheet content // […]

Excel vbadynamicreplace数据透视表的R(数字)C(数字)

我很新vba。 因此,我一直在使用“录制macros…”function来启动我的脚本。 从这一点,我砍掉了。 我logging了一个macros来创build一个基于数据的数据透视表,这个数据表会随着时间的推移而dynamic变化(即每天或每个月)。 “My_Data”表包含故障单信息,例如故障单closures的年份和月份。 以下是录制的脚本的样子(尽pipe我通过添加简单的行来创build名为“Closed”的透视图的目标工作表,但入侵了一下): Sub CreateClosedPivot() Sheets("My_Data").Select Sheets.Add.Name = "Closed" ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "My_Data!R1C1:R210C23", Version:=xlPivotTableVersion15). _ CreatePivotTable TableDestination:="Closed!R1C1", TableName:="PivotTable8" _ , DefaultVersion:=xlPivotTableVersion15 Sheets("Closed").Select Cells(1, 1).Select With ActiveSheet.PivotTables("PivotTable8").PivotFields("Year Closed") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("PivotTable8").AddDataField ActiveSheet.PivotTables( _ "PivotTable8").PivotFields("Month Closed"), "Count of Month Closed", xlCount With ActiveSheet.PivotTables("PivotTable8").PivotFields("Month Closed") .Orientation = xlRowField .Position […]

Excel VBA读取数据透视表并显示msgbox

我有一个数据透视表和下面的第一行显示一个msgbox的VBA,但我需要它通过显示每个消息框的所有行字段,有人能指向我在正确的方向,我似乎无法弄清楚如何做到这一点 Sub Piv() Dim PvTable As PivotTable Dim PvField As PivotField Dim PvItem As PivotItem Set PvTable = ActiveSheet.PivotTables("RawDataTable") Set PvField = PvTable.RowFields(1) With ws For Each PvItem In PvField.PivotItems MsgBox PvItem Next End With End Sub 我也可以让它给我所有的字段标题,但不是数据 Sub Piv() Dim PvTable As PivotTable Dim PvField As PivotField Dim PvItem As PivotItem Set PvTable = […]

录制VBAmacros以在Excel上设置数据透视图系列

所以我有一堆我需要格式化的数据透视图。 我是VBA的新手,但是想logging一个macros,然后用它来表示每个图表。 在这个代码中,我想用活动图表replace“图表5”。 任何人都可以帮助我吗? 代码如下: Sub ChartUp() ' ChartUp Macro AddChartDetails Keyboard Shortcut: Ctrl+Shift+E ActiveSheet.ChartObjects("Chart 5").Activate ActiveSheet.ChartObjects("Chart 5").Activate ActiveChart.Axes(xlValue, xlSecondary).Select Selection.TickLabels.NumberFormat = "0.00%" Selection.TickLabels.NumberFormat = "0%" ActiveChart.Legend.Select ActiveChart.Legend.Select Selection.Position = xlBottom ActiveChart.ChartArea.Select ActiveSheet.Shapes("Chart 5").ScaleWidth 1.3668124563, msoFalse, _ msoScaleFromTopLeft ActiveSheet.Shapes("Chart 5").ScaleHeight 1.3356401384, msoFalse, _ msoScaleFromBottomRight End Sub

Excel VBA根据参考值更改数据源

我无法弄清楚如何用VBA来更改数据透视表的数据源。 我有Sheet 1中的数据源和Sheet 2中的数据透视表 Sheets("Sheet1").Select LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.count – 1, 0).End(xlUp).Row sNewSource = ActiveSheet.Name & "!" & Range("A19:X" & LastRow).Address(ReferenceStyle:=xlR1C1) ActiveSheet.PivotTables("PivotTable1").ChangePivotCache _ ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _ SourceData:=sNewSource, Version:=xlPivotTableVersion14) 此刻我收到错误消息:无法正确获取Worksheet类的数据透视表 我试着看其他的解决scheme,但我不知道它不工作。 有任何想法吗?

如何使用variables来设置数据透视表function参数与VBA?

我想使用variables来指定数据透视表的参数。 他们大多数工作正常,但其中2人不是。 “函数”参数“xli”和“ValueFilterQuant(pos)”没有提供任何值。 我试图写在引号和引号之间,但没有任何事情发生。 有什么方法来设置variables的函数参数? 这是代码片段: For pos = 1 To UBound(ValueQuant) If ValueQuant(pos) = "Work" Then xli = "xlSum" Label = "Sum of " Else xli = "xlCount" Label = "Count of " End If ActiveSheet.PivotTables("PivotTable1").CubeFields.GetMeasure "[database].[" & ValueQuant(pos) & "]" _ , xli, "" & Label & "" & ValueQuant(pos) & "" ActiveSheet.PivotTables("PivotTable1").AddDataField […]

EXCEL VBA:试图使用UsedRange时如何解决数据透视表错误?

我正在试图创build一个简单的数据透视表,Gas列,行号Dash和input的数量。 我一直在研究这个问题,并找不到解决scheme。 当我尝试运行我的代码时,我不断收到 错误1004:应用程序定义或对象定义的错误。 这是我的代码: Sub CreatePivotTable() Dim sheet As Worksheet Set sheet = Worksheets("mac3") Sheets.Add.Name = "Table" ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ sheet.UsedRange, Version:=xlPivotTableVersion14). _ CreatePivotTable TableDestination:="Table!R3C1", TableName:="Pvt" _ , DefaultVersion:=xlPivotTableVersion14 Sheets("Table").Select Cells(3, 1).Select With ActiveSheet.PivotTables("Pvt").PivotFields("Gas") .Orientation = xlColumnField .Position = 1 End With With ActiveSheet.PivotTables("Pvt").PivotFields("Dash") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("Pvt").AddDataField ActiveSheet.PivotTables( […]