vba - Excel(或 VBA)条件转置行

标签 vba excel

我在下面有一个数据集,列标题中有月份,我想根据当前月份复制行。我遇到的一个问题是自动化,因为用户不断被添加/删除。

UserID  User State Jan($) Feb ($) Mar ($) .... Dec ($) 
111     AAA   CT    $55    $100   $125         $100       
112     BBB   NJ    $50    $34    $125         $125  
113     CCC   NV    $55    $100   $125         $155  
114     DDD   VT    $95    $108   $75          $199  
115     EEE   NJ    $20    $100   $125         $120  

样本输出:
UserID User State Month Spend
111    AAA   CT    Jan   $55
111    AAA   CT    Feb   $100
111    AAA   CT    Mar   $125
111    AAA   CT    Apr   $80
111    AAA   CT    May   $70
.
.
.
115    EEE   NJ    Nov  $50
115    EEE   NJ    DEC  $120

最佳答案

对于公式答案:

![enter image description here

对于前 3 列:

在您想要数据的第一列的第一个单元格中,我的是 A11:

=INDEX(A:A,QUOTIENT(ROW(1:1)-1,12)+2)

本月:

复制两列,然后向下复制。

在您想要数据的第四列的第一个单元格中,我的是 D11:
=CHOOSE(MOD(ROW(1:1)-1,12)+1,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

然后抄下来。

金额:

在您想要数据的第五列的第一个单元格中,我的是 E11:
=INDEX($A:$O,QUOTIENT(ROW(1:1)-1,12)+2,MOD(ROW(1:1)-1,12)+4)

然后抄下来。

关于vba - Excel(或 VBA)条件转置行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35365242/

相关文章:

vba - 在调用 .add() 之前添加项目的字典对象

excel - 将列表验证添加到除前两行之外的列

sql - VBA - 执行 ADODB.CommandText

ms-access - Access VBA 添加引用是重复的

vba - 使用 VBA 向单元格添加注释

excel - 使用 VBA 从 Excel 2007 自动化 Onenote 2010?

vba - 在 VBA 中比较字符串的最佳方法?

oracle - 通过 ADODB 将数据从 Oracle 加载到 Excel - 性能问题

excel - 将宏作为带有自定义功能区按钮的插件部署到整个办公室

excel - 声明变量工作簿/工作表 vba