如何使用VBA从寄存器中返回前5个风险

时间:2017-10-25 08:22:43

标签: excel vba excel-vba risk-management

我为我正在为之工作的公司创建了一个新的风险和机会注册。对于每日会议,我希望能够在单独的工作表中显示当前时间登记册中的前五大风险和机会,我无法弄清楚我需要返回的代码不仅包括排名中的分数,还包括风险描述等,请帮忙。

1 个答案:

答案 0 :(得分:0)

你不需要VBA这样做,有一种简单的方法来完成这项工作。

我做了一些假设,请相应地调整公式。

表格结构: 风险 - 效应 - 机会 - 分数 - 订购

命令使用Rank函数获得排名:= RANK.EQ(D2,$ D:$ D,0)

在下一个工作表中使用索引匹配来根据排序提取数据:= INDEX(A:A,MATCH($ G2,$ E:$ E,0))

下面我列出了非常详细的步骤,如果你需要的话。

步骤:  我们将使用分数

来订购风险
  1. 我们收到订单后,我们将使用订购和索引匹配来获取下一页中的所有详细信息
    1. 对于订购:= RANK.EQ(D2,$ D:$ D,0),这里D列包含 得分和我认为风险应该排在第1位, 否则你可以把1代替零。把这个公式放在所有的 行
    2. 在下一张表格中,左边还有一列,这是序列号,(这将帮助您获得前五大风险的排名) 表结构如下: 高级无风险 - 效应 - 机会 - 分数
    3. 使用1至5的数字手动填写sr 然后在风险列中:= INDEX(A:A,MATCH($ G2,$ E:$ E,0)),这里A列是上一页中的原始风险列,G2包含序列号,E包含排序

      同样填充所有单元格,您将拥有所需的一切。