【发布时间】:2017-12-21 06:21:41
【问题描述】:
我试图找出什么公式可以帮助我找到某个阈值百分比的人口获得的最大折扣。
例如,在下表中,我想知道至少 30% 的人口获得的最大折扣。
Population Discount
400 25%
3000 24%
2000 23%
1000 22%
850 20%
400 19%
350 18%
350 15%
1500 13%
450 12%
700 11%
3000 5%
7000 3%
6000 2%
如果数据按折扣金额降序排列,这很容易。这很简单,只需从顶部向下累积人口百分比,直到达到至少 30%,然后检查折扣百分比。
在上表中,第 8 行至少达到 30% 的人口(占总人口的 30.93%),因此至少 30% 的人口获得的最大折扣为 15%。
但是,如果数据不按该顺序怎么办?如果不能先按最高折扣排序,我怎么能从下表中得到相同的答案?
People Discount
700 11%
3000 24%
3000 5%
1000 22%
6000 2%
400 25%
350 18%
350 15%
1500 13%
450 12%
850 20%
400 19%
7000 3%
2000 23%
【问题讨论】:
-
我强烈建议对数据进行排序,这会让生活变得更轻松。如果保持当前顺序对您很重要,请添加一个带编号的辅助列,以便按该列排序会将您的数据恢复为原始格式。
-
谢谢,卢克拉格。我遇到的问题是实际源表比上面的示例更复杂,并且按另一列排序,这使得最终用户更容易使用数据。不幸的是,有几个这样的表,每次折扣和人口数量发生变化时,我都必须重做这项任务,首先按最高折扣更改排序顺序,然后找到 X% 人口的最大折扣。我希望找到一种方法来消除该任务的单调性。
-
如果您愿意为此编写 VBA 代码,那将是很有可能的。
-
Power Query 可能是排序的另一种选择。
标签: excel excel-formula