宏的Excel VBA指示器功能

时间:2013-11-13 18:33:38

标签: excel-vba user-defined-functions vba excel

假设我有以下数据

Name   Date       Notional

Alice 10/1/2006&  1000  

Bob   12/5/2011  5000 

Dawn    1/1/2010   400

Alice   5/6/2009   500

Alice   7/13/2012   1500

Dawn    4/5/2012    100 

我想再添加两列,Total和Percentage。其中,每人的名义总和和百分比将给定的名义视为总数的百分比。

所以爱丽丝在三个日期有三个交易,其中三个概念分别为1000,500和1500.她的总数为3000,她的三个百分比为33%,16.6%和50%

所以我的最终结果是:

Name    Date       Notional    Total    Percentage

Alice   10/1/2006  1000        3000       33%

Bob     12/5/2011  5000        5000       100% 

Dawn    1/1/2010   400         500        80%        

Alice   5/6/2009   500         3000       16.67% 

Alice   7/13/2012   1500       3000       50%  

Dawn    4/5/2012    100        500        20%

我希望编写一个宏,在名称匹配的情况下为每个人添加一个概念和。

所以我的手机D2将是C2 *指标(A2,A2)+ C3 *指标(A3,A2)+ C4 *指标(A4,A2)+ C5 *指标(A5,A2)+ C6 *指标(A6 = A2)+ C7 *指标(A7 = A2)

其中指标(Ak,A2)是指标函数,当Range(" Ak")时取值1。值=范围(" A2")。否则为零值

有这样的功能吗?我想我可以自己创造一个。

Public Function Indicator(c1 As Range, c2 As Range)
       Dim out As Integer
       If Range(c1).Value = Range(c2).Value Then
          out = 1
          Else: out = 0
          End If


End Function

我试图让它在更大的代码中运行。但是现在我遇到了很多错误。如果我可以让它运行,我会更新。

1 个答案:

答案 0 :(得分:2)

我用:

构建了一个数据透视表

行:名称|日期

值:名义[SUM] |名义[父行总数的百分比]