列到行的度量(以及从列到行的date)
目前,我有两个报告,他们是不同的格式,并希望使用macros或公式将其中一个报告转换为与另一个相同的格式,以便将两个报告合并在一起。
由于这两个报告提供了不同的指标,但基于相同的名称和date (分段)。 我想知道是否有办法做到这一点,而不是手动透视表每个date范围和手动转换的一切。
下面是这个例子,我想将第一个包含行列的食物A,B和C的报告转换成行,而在列中排列的date( 16-Sep-2016
25-Sep-2016
)如下表所示。
示例图片:
希望尽快收到任何人的来信!
谢谢 :)
这是远远不够的,只是一个快速的解决scheme,但它的工作。 它将图片上方的表格转换成另一张。 您的原始表格必须在第一张纸上,并且在运行macros之前您需要一个空的第二张纸张:
Sub TableChanger() Dim i As Integer, j As Integer, k As Integer Dim n As Integer Sheets(2).Cells.ClearContents Sheets(2).Cells(1, 1).Value = "Date" Sheets(2).Cells(1, 2).Value = "Name" i = 2 n = 2 While Sheets(1).Cells(i, 1).Value <> "" j = 3 While Sheets(1).Cells(i, 1).Value <> Sheets(2).Cells(1, j).Value And Sheets(2).Cells(1, j).Value <> "" j = j + 1 Wend If Sheets(2).Cells(1, j).Value = "" Then Sheets(2).Cells(1, j).Value = Sheets(1).Cells(i, 1).Value End If i = i + 1 Wend i = 3 While Sheets(1).Cells(1, i).Value <> "" j = 2 While Sheets(1).Cells(j, 1).Value <> "" k = 3 While Sheets(2).Cells(1, k).Value <> Sheets(1).Cells(j, 1).Value k = k + 1 Wend n = 2 While (Sheets(1).Cells(1, i).Value <> Sheets(2).Cells(n, 1).Value Or Sheets(1).Cells(j, 2).Value <> Sheets(2).Cells(n, 2).Value) And Sheets(2).Cells(n, 1) <> "" n = n + 1 Wend Sheets(2).Cells(j, 1).Value = Sheets(1).Cells(1, k).Value If Sheets(2).Cells(j, 1).Value <> "" Then Sheets(2).Cells(j, 2).Value = Sheets(1).Cells(j, 2).Value Sheets(2).Cells(n, k).Value = Sheets(1).Cells(j, i).Value j = j + 1 Wend i = i + 1 Wend End Sub
- 如何将报告从Microsoft.Reporting.WinForms.ReportViewer v11导出到.xls文件
- 使VSTO Excel 2016工作簿应用程序便携/无需安装?
- 使用Microsoft.Office.Interop.Excel从Excel中读取文本格式
- Excelmacros将CSV转换为XSLM,无date格式
- 如何打开用户界面打开文件
- 当使用for循环合并单元格时,出现错误“Excel在'file.xslx'中发现不可读的内容'”?
- 使用EPPlus或类似POI的或其他基于OpenXml的库来embedded文件(列/行锚定)的简单方法?
- pandas:写一个数据透视表的所有列擅长
- 将已发布Google电子表格中的数据导入Excel