前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel图表学习76:Excel中使用超链接的交互式仪表图

Excel图表学习76:Excel中使用超链接的交互式仪表图

作者头像
fanjy
发布2021-08-31 17:35:26
2.4K0
发布2021-08-31 17:35:26
举报
文章被收录于专栏:完美Excel完美Excel

引言:今天制作的图表来源于chandoo.org,很cool!

本文展示一份基于超链接的交互式仪表图,如下图1所示:

图1

怎么样?是不是让你印象深刻?

要创造这样一份图表,只需要一堆数据、一张图表、一行VBA代码和一些小技巧。

1.示例数据

仔细观察图1,会发现我们只有一个图表,并且根据用户选择的选项来更改图表的源数据。因此,假设有4个系列的数据——销售额、成本、利润和顾客数量,我们将添加第五个系列。这将始终显示用户选择的系列的数据,如下图2所示。

图2

让我们将第五列中的系列名称称为“valSelOption”。

注意:使用这个系列名称,可以使用MATCH公式从4个系列中获取该系列的位置,知道位置后,就可以使用INDEX公式获取相应的值。

2.创建图表

只需根据上图2第5列中的数据创建图表,可以根据需要对其进行格式化。

3.创建仪表区域

有点棘手,但也很容易。只需设置4列区域(因为有4个图表),这样就可以放置图表和鼠标悬停单元格以供选择,如下图3所示。

图3

4.创建翻转效果

需要一个简单的宏或UDF(用户自定义函数)来根据用户鼠标指向的位置来更改系列。然而,如何在鼠标悬停时激活该UDF?这就是我们可以使用超链接的地方。

你知道可以使用UDF作为超链接的来源吗?就像:

=HYPERLINK(“http://test.com”,”点击这里”)

也可以这样:

=HYPERLINK(自定义的函数名,”点击这里”)

此时,当你点击这个链接时,Excel将运行你的函数。

但是,还不止如此。当你将鼠标放在链接上时,Excel也会运行该函数。无需点击!

我们知道,Excel不允许函数更改其他单元格中的值或者对其格式化。然而,如果从超链接来使用函数,则该限制不适用!!!

因此,我们编写了仅一行代码的自定义函数:highlightSeries:

Public Function highlightSeries(seriesName AsRange)

Range("valSelOption") = seriesName.Value

End Function

此函数将系列名称作为变量并将其赋值给命名区域valSelOption。随着valSelOption的变化,图表的数据也会发生变化,得到新的图表。

假设系列名称在单元格区域B3:E3,我们在所有4个单元格中输入超链接公式。例如,在单元格B6中,输入公式:

=IFERROR(HYPERLINK(highlightSeries(B3)),"6")

注意,虽然在HYPERLINK函数中使用UDF可以解决问题,但Excel也会抛出错误#VALUE!错误,我们使用IFERROR函数来修复。使用webdings字体,数字6显示为向下箭头符号。

注意,对超链接单元格进行自动换行,以便在鼠标悬停在单元格上的任意位置时链接有效,而不仅仅是向下箭头符号。

5.添加条件格式

为了使仪表图看起来更具交互性,可以添加条件格式来对鼠标悬停的单元格应用相应的格式,如下图4所示。

图4

至此,大功告成!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档