高阶图表,这样做

Excel之家ExcelHome Excel之家ExcelHome 2020-06-22

今天分享一个图表技巧,先看效果:

只要光标滑过不同的商品名称,图表就会自动变化,是不是很炫酷啊。


步骤一:准备数据源


步骤二:输入代码

Alt+F11 打开VBE窗口,【插入】→【模块】

复制如下代码到模块中,退出VBE窗口:

Function techart(rng As Range)

    Sheet1.[g1] = rng.Value

End Function


步骤三:输入公式

在G1单元格中输入任意一个商品名称,如牛仔裤。

G2输入公式,下拉至G13:

=HLOOKUP(G$1,B$1:E2,ROW(),)


选中G1:G13,【插入】→【折线图】


步骤四:美化图表

设置折线图为无线条。

设置数据点样式,添加垂直线。

此处省略具体步骤,大家可以根据需要和喜好,设置出不同样式不同风格的图表样式。

最终效果如下:

步骤五:输入公式

在图表上方,输入模拟图表标题的公式。

=G1&"2015年销售趋势"

在图表下方,输入模拟坐标轴的公式。

本例以J15:K16单元格区域为例,依次输入以下公式:

=IFERROR(HYPERLINK(techart(B1)),"◆"&B1;&"◆"&REPT;(" ",99))

=IFERROR(HYPERLINK(techart(C1)),"◆"&C1;&"◆"&REPT;(" ",99))

=IFERROR(HYPERLINK(techart(D1)),"◆"&D1;&"◆"&REPT;(" ",99))

=IFERROR(HYPERLINK(techart(E1)),"◆"&E1;&"◆"&REPT;(" ",99))


输入公式后的效果如下:


公式后面为什么要连接REPT("",99)呢?

如果只是单独显示分类的话,鼠标需要停到文字上才会变化,所以使用99个空格占位,鼠标只要停在当前分类单元格任意一个地方,都可以触发代码运行。

将文件保存成启用宏的文件(xls、xlsm),OK!


作者:提线木偶

ExcelHome学院讲师

    本文由自媒体作者Excel之家ExcelHome投稿,版权归原作者所有
    如若侵权,请联系本站删除