使用 Excel - 查找函数或公式在图表上导出优雅或“漂亮”的轴值

使用 Excel - 查找函数或公式在图表上导出优雅或“漂亮”的轴值

我正在尝试自动计算一些条形图最优雅的 y 轴刻度(最大值和分度值)。我正在使用集成了仪表板工具(SAP Dashboards)的 Excel 并排显示两个图表,以便于比较。我需要这些图表具有相同的 y 轴刻度,以便于比较。

下面是一张图片来解释我的意思:两个图表显示不同的数据,但比例相同,以帮助比较:

在此处输入图片描述

显然,y 轴必须缩放以适应最大值,无论它是在左侧还是右侧。在本例中,最大值位于左侧图表上。我使用 excel MAX 函数来查找最大值 (4,668),然后应用一些逻辑来 a) 得出一个优雅的上限 (4,700) 和除法值 (1,200)。我使用 LEN 函数来评估数字有多少位数字,并使用 CEILING 函数将其四舍五入为最接近的“好”整数。

幸运的是,我的仪表板包允许我自定义 y 轴的最小值和最大值以及分度。我可以通过指向单元格来设置这些。

那么,我的问题是如何缩放这种“逻辑”以生成任何数据集的优雅最大值和除法值,无论数字是低还是高。 Excel 在自动缩放轴时会执行相同的操作。 我需要复制它,以便我可以在 Excel 中以编程方式执行此操作。

对于 0 到 10 的值,最大 y 轴可以是该值本身。

11 - 15: I'd set the max to 15, which looks elegant.
16 - 20: 20
21 - 25: 25
etc (going up in 5s)
101 - 110: 110
111 - 120: 120
etc...
1001 - 1100: 1100

如您所见,随着数据中的值(可能相差很大)的增加,我需要巧妙地选择一个在图表上看起来不错的较高 y 值。最好的方法是什么?

我还没有想出最好的方法来选择 4 或 5 个除法值,这些值必须是“好”的数字(例如,2、5、10、20 或 2000 的倍数)。

我的公式必须能够很好地缩放,就像 Excel 的自动缩放功能无论输入数据的数量级如何都能产生出色的结果一样。有人能建议如何最好地实现这一点吗?

答案1

经过深思熟虑,我相信我已经想出了一个解决轴缩放问题的方法。其他网站上有很多类似的帖子,但它们的数字缩放通常相当“跳跃”。我的解决方案是完全可定制的,我鼓励任何人使用它并根据自己的需求进行调整。

可以在可用的 Excel 工作簿中探索解决方案这里

该过程由一个简单的查找表驱动,该表将 1 到 10 之间的所有值划分为合适的“块”。我使用了 4、5、6 和 7 的倍数,但我注意到 Excel 也使用 9 的倍数。以下是查找表:

  MaxValues   Ticks   Step  
 ----------- ------- ------ 
  10          5       2     
  8           4       2     
  7           7       1     
  6           6       1     
  5           5       1     
  4           4       1     
  3.5         7       0.5   
  3           6       0.5   
  2.5         5       0.5   
  2           4       0.5   
  1.8         6       0.3   
  1.5         5       0.3   
  1.4         7       0.2   
  1.2         6       0.2   
  1           4       0.25  

对于任何值,找到最接近的“最大值”,这将告诉您在轴上绘制的最大值,以及刻度数和刻度大小。因此,例如,如果您数据中的最大值是 7.5,我的系统将返回 8 作为图表的最大值,分成 4 个 2 的刻度。

当然,它可以处理小于 1 和大于 10 的值,使用一些日志战俘功能。自己测试一下:打开电子表格,在黄色输入框中输入一个新值,并查看值如何更新。

您可以自定义断点列表以满足您的需求。我已将所有公式以及一些描述包含在电子表格中以提供帮助。

相关内容