实话实说,这个函数的神奇功能,连VBA都羡慕!

职场   2024-10-21 11:57   福建  

HI,大家好,我是星光。


之前有篇推文推文给大家介绍了HYPERLINK函数的语法和用法,末尾留了个小尾巴


……HYPERLINK是工作表函数中唯一的触摸屏函数;当我们将鼠标放在它所返回的字符串上时,它就已经处于半运行状态了。虽然不会立刻跳转到指定地址,但会自动更新地址参数。利用这个特点,我们可以制作触摸屏性质的交互图表。


这期就给大家分享一下如何制作这种触摸屏性质的交互图表,当鼠标滑过产品名称,即可使图表动态更新。

  准备一份数据源


严肃脸声明一下,在下祖上三代都在祖国北方种植粮食产物,从不搞军火生意,以上是某玩具厂的虚拟销售数据,Thanks♪(・ω・)ノ

 计算展示数据

在G1单元格输入任意产品的名字,比如飞机。

在G2单元格输入以下公式,并向下复制填充:

=HLOOKUP($G$1,$A$1:$E$23,ROW(A2),0)

公式的作用是根据G1的产品名称查询各个月份的销售数据。


 创建图表

选中G2:G10区域,创建柱形图,调整纵横坐标,制作动态标题,依照个人品味稍加美化。


 让图表动起来

打开VBE编辑器,新建一个模块,复制粘贴以下代码:

Function abc(rng As Range)
    Range("g1").Value = rng.Value
End Function


这是一个自定义函数,只有一个参数,它可以将在G1单元格返回指定参数的值。

在I16单元格输入函数公式如下:

=IFERROR(HYPERLINK(abc(B1)),B1&REPT(" ",99))

HYPERLINK(ABC(B1))部分,会返回一个错误值;但它返回啥并不重要。我们只是借助HYPERLINK触摸屏运算的机制,当鼠标滑过它时,自动运算第一参数,也就是abc(B1)。abc是我们前面设置的自定义函数,它会将B1的值写入G1单元格,也就是将G1的值修改为飞机。

B1&REPT(" ",99)部分,借助IFERROR函数容错的特性,返回B1单元格的值+99个空格。数量如此众多的空格,是为了在凌晨就将单元格孤寂的欲望填满,当鼠标滑过单元格,即可触发HYPERLINK运算。

以同样的方式设置I17/I18/I19单元格,相关公式如下:

=IFERROR(HYPERLINK(abc(C1)),C1&REPT(" ",99))
=IFERROR(HYPERLINK(abc(D1)),E1&REPT(" ",99))
=IFERROR(HYPERLINK(abc(E1)),E1&REPT(" ",99))

如此一个简单的触摸屏交互图表就制作完成了。


只看不练假把式,文末下载案例文件动手试一下吧。照例啥问题可在VIP会员群中提问交流。右下角点个赞,左上角点关注,咱们明天再见。

案例文件下载百度网盘:
https://pan.baidu.com/s/17HVRtBHliQZLKBtuKO5e-A 
提取码: e6vh


需要系统学习Excel却找不到优质教程?学习Excel的过程中遇到疑难问题,却找不到人及时作出解答?


加入我的付费社群,学习+训练+答疑,与6000+在线会员一起,同微软最有价值专家MVP同行,全面精进Excel之道


🚂>>~

加入我的付费会员,全面学习Excel

透视表 函数 图表 VBA PQ想学啥学啥

👀


本文由公众号“Excel星球”首发。

点击阅读原文系统学习Excel!

Excel星球
微软全球最有价值专家(Excel MVP),上千篇原创图文和视频教程随学随用,随用随查,建议常用Excel的职场人关注。
 最新文章