我将风险登记册显示为 Excel 表格。我想提取与特定 KRA 值对应的条目,并在图表上绘制其最大值。我需要该方法是自动化的,以便风险登记册中的任何添加都会导致图表更新。
例子:
对于显示的风险登记册,我将在雷达图上设置 3 个轴,分别标记为“技术”、“基础设施”和“灾难(海啸)”,每个轴的对应值分别为 16、8 和 5(每个 KRA 的最大总评级)。我该怎么做?
附言:我一直在尝试使用 Vlookup 公式(但出现单元格引用错误)和 match-index(不会自动更新),但我欢迎任何使用 VBA 的答案。
我的公式是(出现在另一张工作表中):
在单元格 A1 中:=VLOOKUP("Technology",tblRiskRegister[Key Risk Area (KRA)],tblRiskRegister[Total Rating])
即使我将其作为数组公式输入(Ctrl+Shift-Enter),也会出现单元格引用错误
答案1
我会使用数据透视图来做到这一点:将 KRA 放入“轴字段”,将总评分放入值(使用最大函数)。
为了方便更新图表,请先将数据范围转换为数据表,这样您在输入数据时就无需更改源数据范围。
您还可以将非常简单的代码添加到工作表模块,以便在数据发生变化时更新图表。(只需将“radar_sheet”更改为包含图表的工作表的名称)
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("radar_sheet").PivotTables(1).RefreshTable
End Sub