首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Array转换为列表和复制位于同一行VBA上的行

将Array转换为列表和复制位于同一行VBA上的行
EN

Stack Overflow用户
提问于 2020-08-26 16:21:22
回答 1查看 449关注 0票数 0

我很难复制一个有两种不同格式的数组:一个是水平的,另一个是对角线的。我想把列c-f转换成列表格式,对于它在c中找到的每一个数字,我希望它在a中复制相应的值。它还复制c中值的每个标头,并将其放在新工作表的旁边,在其中转换/复制值。

请参阅以下照片:

这就是我所拥有的

您可以看到日期是水平的,但是在第8-11行中,它们是垂直的。

我希望将这些数据转换为复制和粘贴每个单元格值以及a中相应的记录。请看我想要创造什么:

请注意工作表2中不存在的新列标题。

所有的帮助都将不胜感激。我不知道怎么开始。我相信这些步骤是:

  1. 将a-f设置为工作表1
  2. 复制中的范围,并将a-b从第1页粘贴到第3行的第2页,
  3. 复制第3行c-f之间的每一行中的每个单元格,并对每个值
  4. 重复a-b,然后移动到下一行

H 111删除第4列中没有值的表2中的所有空白行。H 212G 213

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 18:27:00

Power Query作为MicrosoftExcel2010的免费外接程序提供.你所需要做的就是:

Data --> Get&Transform-->From Table/Range

  • In

  • 将光标放入表

  • 中,输入Power
  • ,不确定2010年的情况,但在2016+中,您将选择 2010,您必须首先下载并安装add/ in,然后按照PQ

的说明进行操作

在用户界面中,只需选择columns

  • Select和Food Unpivot Other Columns

  • Rename -> Date

  • Close和Load

-

由上述过程生成的M代码

代码语言:javascript
复制
let

//Change table name to reflect your reality
    Source = Excel.CurrentWorkbook(){[Name="Table18"]}[Content],
    
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Color", type text}, {"Food", type text}, {"1-Jan", Int64.Type}, {"1-Feb", Int64.Type}, {"1-Mar", Int64.Type}, {"1-Apr", Int64.Type}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Color", "Food"}, "Attribute", "Value"),
    #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Date"}})
in
    #"Renamed Columns"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63601754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档