今天想跟大家分享的是如何做一个高(zhuang)阶(bi)的图表,让你的展示给人一种不明觉厉~
达到一个什么高阶效果呢?
当鼠标移动至图表下方的分类文字时,图表数据就会自动切换。是不是很高(zhuang)阶(bi)呢?
下面开始讲步骤:
第一步:准备源数据,Atman用rand()函数*100000产生了以下数据
第二步:随表找个空白的列,任意单元格(Atman选了H1单元格),输入源数据中的城市名字,在H1单元格输入“广州”,然后再H2单元格输入公式“=HLOOKUP($H$1,B$1:G2,ROW(),0)”,hlookup函数是vlookup的兄弟公式,vlookup是横向查找,hlookup是纵向查找,不懂的可以百度一下,公式里面的row()是指所在单元格的行数,写完H2单元格的公式后,直接拖动到H12(2020年对应的那行)。(当然,如果你想打横引用这些数据,譬如在第13行引用数据,也可以做成vlookup的公式引用,这一步目的只是引用源数据的数据)
第三步:制作图表。引用第二步H1-H12单元格的数据制作图表,根据自己的喜好和审美制作一个图表,Atman做的图如下
第四步:插入VBA代码(实现效果的一步)
按住Alt+F11,打开VB界面,插入-模块,然后把下面的代码粘贴进去
Function techart(rng As Range)
Sheet1.[H1] = rng.Value
End Function
sheet1是子表的名称,如果你的是sheet2就换成sheet2,H1是第二步中输入城市名字的那个单元格,我用的是H1单元格,你的是其他单元格,就更换。插入后右上角关闭VB界面即可。
第五步:在第三步图表的下方(你喜欢的话可以在上下左右都行)的单元格用公式输入我们的城市名字。在L18单元格输入公式“=IFERROR(HYPERLINK(techart(B1)),"◆"&B1&"◆")”,此公式的前半句是超链接引用(表达不出来,自己想象哈),后半句是让单元格显示“◆广州◆”这样的效果,然后往右拖动公式,依次出现“◆广州◆”、“◆肇庆◆”... 如下图
搞定,此时你可以试试把鼠标移动到图表下面的“◆广州◆”、“◆肇庆◆”等等这些文字了,当鼠标移动到这些文字时,图表的数据就会根据你鼠标移动到的城市而变化(注意:excel要开启自动计算的功能,如果是手动计算,则数据不会变化的)。这时候可以保存你的excel表格了,因为有插入vba代码,所以保存的时候建议存为xlsm格式,当然也可以存xlsx,最重要用的开心!