【问题标题】:Columns to multiple rows [duplicate]列到多行[重复]
【发布时间】:2016-09-13 07:48:11
【问题描述】:

我想要一个宏来转换以下内容

NAME COLOR1 COLOR2 COLOR3 COLOR4
jane   blue   pink    red   teal
john    red  black  green   gold     

到

NAME COLOR
jane blue
jane pink
jane red
jane teal
john red
john black
john green
john gold

我曾尝试使用内置转置工具,但这似乎不起作用。看来我需要一个自定义脚本...

【问题讨论】:

  • 就宏而言,您尝试过什么?给这只猫剥皮的方法有上千种,如果是帮助你的起点,那就太好了。
  • 这也可以用 INDEX() 和一些数学来完成。
  • 我个人将如何处理这将是使用嵌套在 for 循环中的 for 循环。一个循环遍历名称,嵌套循环遍历颜色。
  • 对于灵活的 VBA 解决方案,这是我对这个问题的旧答案:stackoverflow.com/a/10922351/293078

标签: vba excel


【解决方案1】:

2 和 3 行中的数据,选择一个单元格并输入:

=INDEX($A$2:$A$9999,ROUNDUP(ROWS($1:1)/4,0))

在它旁边输入:

=OFFSET($B$2,ROUNDUP(ROWS($1:1)/4,0)-1,MOD(ROWS($1:1)-1,4))

并将这些复制下来:

如果你真的喜欢宏,把宏存起来,复制公式。

【讨论】:

    猜你喜欢
    • 2019-09-05
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2015-10-02
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    相关资源
    最近更新 更多