在Excel中,通过应用表B中的%份额来生成表C中的所需输出,什么VBA代码将帮助我爆炸/丰富表A中的数据?并非所有公司都需要充实。
我设想了一些匹配公司名称的循环,然后通过插入必要的行来显示由团队产生的共享$来丰富表B.
答案 0 :(得分:0)
我为此使用Power Query,而不是VBA。将表A和表B加载到Power Query中。然后使用完全外部联接创建一个合并公司列上的两个表的查询。然后提取团队并共享列。创建一个用于计算$ value的新列,删除不需要的列并从Team列中删除空值。结果如下:
通过单击Power Query Editor中的按钮并手动输入一个IF语句生成的M代码如下所示:
let
Source = Table.NestedJoin(TableA,{"company"},TableB,{"company"},"NewColumn",JoinKind.FullOuter),
#"Expanded NewColumn" = Table.ExpandTableColumn(Source, "NewColumn", {"Team", "PercShare"}, {"Team", "PercShare"}),
#"Added Custom" = Table.AddColumn(#"Expanded NewColumn", "Dollars", each if [Team] = null then [dollar] else [dollar] *([PercShare]/100)),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"PercShare"}),
#"Replaced Value" = Table.ReplaceValue(#"Removed Columns",null,"",Replacer.ReplaceValue,{"Team"})
in
#"Replaced Value"