1,247字
5–8 分钟
作者:小北童鞋
来源:芒种学院(ID:lazy_info)
在前面分享的三四百篇文章中,我们利用过图表、单元格、字体来制作各式各样的图表,万万没想到,利用函数也能制作出非常精致的商务图表。

看得出这是利用函数生成的呢?是不是整体也非常精致,跟普通的商务图表没有任何区别。那么像这一类图表究竟是如何实现的呢?
接下来小北就会给大家分享 3 种REPT函数作图的小技巧~
1 REPT实现条形/柱状图
首先是最简单的条形图,在Excel中,REPT函数能够按照定义的次数重复显示定义的内容。
比如:=REPT("1", 100),结果就是将1重复100次,配合一些特殊的字符,可以实现某种特殊的图表。
例如输入公式:=REPT("|",C4*10),轻松制作出条形图:

这里由于「豆瓣评分」带有小数点,我们将数据乘以10,另外一个需要处理的点就是字体。
由于默认的「微软雅黑」字体之间有间隙,这里我们需要将字体换成「Playbill」,现在竖线之间就没有任何间隙了。
除了「条形图」之外,还可以用函数来模拟「柱状图」,公式一模一样,只需要将文字旋转「90°」即可。
同时设置文本「居中下对齐」,如下:

是不是非常简单,利用这个技巧,在一些复杂的表格中,可以利用函数+单元格实现优雅作图,接下来看下更多的使用技巧。
2 带负数的条形图
如果数据中出现负值,并且想将负数使用其他颜色标记出来,单独使用REPT函数就会出错,例如下方的评分出现负数:

这个时候可以添加多一列,用于表示负数,一列用于表示正数,分别输入以下两个公式:
- 负数:
=IF(C4<0,REPT("|",-C4*10),""); - 正数:
=IF(C4>0,REPT("|",C4*10),"");
接着将负数的列「右对齐」,正数的列「左对齐」,就可以轻松实现带负数的条形图了。

如果数据只有一列,并且从大到小金进行排序,那么只需要将公式设置为「水平居中」即可实现「漏斗图」。
例如下图为产品转换漏斗图,由于数值比较大,我们将数值除以10来使用REPT函数,如下。

拆分成两列,还可以用于快速制作「数据旋风对比图」,跟带负数的条形图制作技巧一模一样。

另外将普通的竖线换成一些信息符号,例如“웃”,甚至可以用于快速模拟一些信息图表,如下:

是非常炫酷呢?REPT函数里可以传入任意的字符,如果能找到火箭、金币、高楼这些符号都可以快速填充。
3 双字符实现评分图
除了使用一种字符来重复之外,还可以使用两种字符进行搭配,例如最常见的「淘宝评分图」。
使用公式:=REPT("★",C4)&REPT("☆",(10-C4)),这里只需要最普通的「微软雅黑」字体就可以轻松实现了。

除了评分图之外,还有另外一种图表也可以使用REPT函数进行模拟,就是「甘特图」。
这里的话就给大家留下一个小小的问题,如果根据「开始时间」和「结束时间」利用REPT函数模拟出甘特图,有知道的小伙伴也可以在评论区留言,下期揭晓~
好了,那么今天的「函数作图」技巧就分享到这里了,如果你还有想学的 Excel 技巧,不妨在评论区留言哦~
© 版权声明
文章版权归作者所有,未经允许请勿转载。




我之前在公司报表里试过这种搞法,领导虽然觉得好看,但每次调整列宽都要重新对齐,折腾半天,最后还是换回了普通柱状图。
其实固定好列宽就没事了,或者用代码自动调也行
打印出来估计全乱套了,不是很实用
其实用条件格式的‘数据条’也能实现,而且不用写公式,更方便点。
太骚了这操作 hhh
感觉还行,简单数据能用。
要是数据是百分比,公式怎么改?
这不就是纯纯的视觉欺骗吗,数据量大就没法看。
之前试过用符号做进度条,结果单元格宽度没调好,整个表全乱了。
路过看看,感觉挺玄乎的。
那个Playbill字体在哪下载?
确实比原生图表灵活点。
所以最后甘特图到底咋弄,作者别卖关子啊!
看着挺花哨,实际打印出来估计全是乱码。
还能用火箭符号?在哪找这些特殊字符啊🤔。
之前搞过类似的,单元格多了真的会崩,别太依赖。
我就想知道动态更新的时候,这图会不会乱?
星星评分那个公式抄走了,做报表正好用。
数据要是几万行,这法子不得卡成 PPT?
字体换成 Playbill 确实没缝隙,不然丑死。
同意,Playbill换完确实干净不少
甘特图那个留白咋算?蹲个公式例子。
负数那列右对齐这招绝了,之前手动调半天。
挺实用的。
我上个月做月报,数据量大到上万行,用REPT做条形图差点把Excel卡死,后来改用真图表才顺畅,真是教训。
甘特图那块,开始结束时间的公式能具体写个例子吗?