You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用IF语句通过VBA设置Excel瀑布图坐标轴的最大最小值

动态设置Excel瀑布图坐标轴的最值(自动取两个单元格的大小值)

嗨,这个场景我太熟悉了——用户选完下拉菜单才知道两个对比值的大小,固定坐标轴范围确实很鸡肋。其实不用复杂操作,用Excel自带的函数+图表动态引用就能完美解决,步骤如下:

1. 先计算出动态的最大/最小值

首先找个空白单元格(比如C1)来存放自动判断后的最大值,用MAX函数比IF更简洁直接:

=MAX(单元格1, 单元格2)

如果你更倾向用IF语句(比如需要额外加判断逻辑),也可以这么写:

=IF(单元格1 > 单元格2, 单元格1, 单元格2)

同理,最小值可以在另一个单元格(比如D1)用MIN函数:

=MIN(单元格1, 单元格2)

小技巧:如果想让图表留一点缓冲空间,避免数据贴到坐标轴边缘,可以给结果乘个系数,比如=MAX(单元格1,单元格2)*1.1,这样最大值会比实际最大数多10%,视觉效果更好。

2. 把图表坐标轴链接到计算好的单元格

接下来让瀑布图的坐标轴动态跟着这个值变:

  • 选中瀑布图的纵坐标轴,右键点击选择「设置坐标轴格式」
  • 在右侧弹出的面板里,找到「坐标轴选项」,把「最大值」从默认的「自动」切换成「固定」
  • 点击最大值输入框旁边的折叠按钮(就是那个小箭头图标),然后选中我们刚才计算最大值的单元格(比如C1
  • 重复同样的操作,把最小值也链接到对应的计算单元格(比如D1

这样以后,不管用户从下拉菜单选什么项目,两个单元格的值怎么变,瀑布图的坐标轴都会自动取较大的那个当最大值、较小的当最小值,完全不用手动调整!

内容的提问来源于stack exchange,提问作者Remi

火山引擎 最新活动