将Morningstar Direct的数据解析为工作表

时间:2015-07-06 18:55:34

标签: excel vba excel-vba finance

我必须使用Morningstar Direct的数据每季度整理一份报告。我必须自动化整个过程,或至少部分过程。我们在过去两个季度将这份报告放在一起,每次都使用相同的格式。所以,我们已经有了报告的通用模板 - 现在我只是想找到一种从Morningstar提取数据并正确放入模板的方法。

有没有人知道我应该从哪里开始?

  A            B            C           D           E        F
Group         Name        Weight      Gross        Net     Contribution
Equity                      25%        10%          8%       .25
              IBM           5%         15%         12%    
              AAPL          7%         23%         18%
Fixed Income                25%        5%           4%       .17
            10 Yr Bond      10%        7%           5%
Emerging Mrkts            

它继续将事物分解为更多的群体,每个群体中还有更多的群体。

我想要它做的是搜索,直到它找到“Equity”,然后再过一行,抓住位置的名称,它的重量和净回报,然后为每个持有公平。它在固定收入中做同样的事情,并且一直在为每次持有选择名称,重量和网。然后将它们复制并粘贴到另一个工作簿中。

无论如何这是可能的?

1 个答案:

答案 0 :(得分:0)

听起来你需要解析你的信息。通过使用left(),right()和mid(),您可以选择好的数据并忽略多余的数据。您可以将一个单元格中的数据分成所需格式的多个单元格。

A                  B  
Name               Address  
John Q. Public     123 My Street, City, State, Zip

E (First Name)          F (Middle Initial) (extra work to program missing data)  
=LEFT(A2,FIND(" ",A2))  =MID(A2,LEN(E2)+1,FIND(" ",MID(A2,LEN(E2)-1,99)))

G (Last Name)                      H (City)  
=MID(A2,(LEN(E2)+LEN(F2)+2),99)    =MID(B2,LEN(H2)+2,FIND(",",MID(B2,LEN(H2)+2,99))-1)

I (State)  
=MID(B2,(LEN(I2)+LEN(H2)+4),FIND(",",MID(B2,(LEN(I2)+LEN(H2)+4),99))-1)

J (Zip Code)
=MID(B2,(LEN(H2)+LEN(I2)+LEN(J2)+6),99)

此代码将单元格A2中的名称和单元格B2中的地址解析为单独的字段。 类似的剪辑应该可以让你摆脱不需要的数据。

=============================================== ===================
2015年7月8日

您的数据似乎是您想要的输出。如果是,请提供经过消毒的输入数据以供比较。您可能需要循环输入以查找组。当小组改变时,准备摘要数字。