需要 Excel VBA,那么我该如何通过 Google 来寻找答案?

需要 Excel VBA,那么我该如何通过 Google 来寻找答案?

我几乎是解决 Excel 中自己问题的高手,这在很大程度上要感谢像你们这样的人。我们公司正在迁移到新的度假租赁软件,我遇到了一些我从未遇到过的事情。我不知道如何通过 Google 搜索这个问题来找到我自己的答案。我使用的大多数搜索都指向 Microsoft Excel 信息,用于解决新手类型的问题。因此,每次在软件转换期间同步费率时,我都不得不手动执行此操作。

~~~~~~~~~~~~

有趣的附注:我使用 AutoHotkey 来编辑新软件,以每秒 4 次的速度进行了 18,000 次编辑,这让一些人大吃一惊……

~~~~~~~~~~

基本上,我不知道如何有效地提出问题,以便谷歌甚至给我提示。如果没有图片,我甚至无法向你们人类解释。

我不能使用“转置”,因为对于人们写博客介绍如何转置数据来说,这仅仅是“高中”水平。我知道如何转置。另外,我已经将这些数据转置为这种格式。

我需要循环遍历导出的顶行,其中包含数据而不是标题文本,然后抓取其下方的租金率并将其移动到一个巨大的列表中。

我该如何用 Google 搜索此内容?

原始数据:

原始数据

期望结果:

结果目标

答案1

如果您不想使用数据透视表/Power Query 路线(我甚至不确定是否可以通过这种方式进行操作,因为这不是简单的非数据透视),以下是一个仅有公式的解决方案。

假设您的原始数据在工作表中Sheet1,请像这样设置第二个工作表:

工作表截图

输入以下公式A2,然后按 Ctrl-Enter/复制-粘贴/向下填充到所需的列中:

=INDEX(Sheet1!$1:$1,INT((ROW()-2)/(COUNTA(Sheet1!$A:$A)-1))+3)

输入以下公式B2,然后按 Ctrl-Enter/复制-粘贴/填充-右&下到B:C所需的列中:

=INDEX(Sheet1!$A:$B,MOD(ROW()-2,COUNTA(Sheet1!$A:$A)-1)+2,COLUMN()-1)

输入以下公式D2,然后按 Ctrl-Enter/复制-粘贴/向下填充到所需的列中:

=INDEX(Sheet1!$A:$H,MOD(ROW()-2,COUNTA(Sheet1!$A:$A)-1)+2,INT((ROW()-2)/(COUNTA(Sheet1!$A:$A)-1))+3)

相关内容