gpt4 book ai didi

Excel - 转置列对

转载 作者:行者123 更新时间:2023-12-04 21:22:49 26 4
gpt4 key购买 nike

我正在尝试将成对的列转换为重复行(如果这是该术语的正确应用)。具体来说,我需要从这个出发:

Thing1     6    0.29    5   0.23    7   0.19    8   0.11

对此:
Thing1     6    0.29
Thing1 5 0.23
Thing1 7 0.19
Thing1 8 0.11

对于数百个“事物”,此操作将发生在至少 7 对列中。我不知道的部分是如何分组/锁定要作为一个单元处理的对。

在某些方面,我试图做与通常做的相反的事情。一个例子在这里: Transpose and group data但它不太合适,即使我试图向后看。

编辑:另一个类似的例子,但我需要做几乎相反的事情: How to transpose one or more column pairs to the matching record in Excel?

我的 VBA 功夫很弱,但我愿意尝试你的集体智慧。

欢迎提出想法,无论如何,感谢您的阅读。

最佳答案

这是Excel公式解决方案以防万一。如果源数据从 A1 开始,则第一个目标单元格中​​的公式将为 =$A$1右边的2个公式将是

= OFFSET( A$1, 0, ROW( A1 ) * 2 - 1 )


= OFFSET( A$1, 0, ROW( A1 ) * 2 )

复制 3 个公式单元格并粘贴到它们下方的范围内

更新

VBA 版本(将 r 设置为源范围,并将 c3 替换为目标范围中的第一个单元格)
Set r = [a1:i1]
set d = [c3].Resize(r.Count \ 2, 3)
d.Formula = "=index(" & r.Address & ",if(column(a1)=1,1,row(a1)*2-2+column(a1)))"

关于Excel - 转置列对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38910778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com