google-sheets - 生成具有最大值的组合
问题描述
背景:试图找出我们菜单的哪些价格上涨最有意义。我们的客人每晚平均饮用12欧元。我们的酒吧提供的每种饮品都有一套价格菜单。
饮料 | 价格 |
---|---|
啤酒 | 1,50 |
混合 | 3,50 |
苏打 | 0,50 |
葡萄酒 | 2,00 |
镜头 | 3,00 |
现在,我想为人们平均花费 12 欧元的菜单生成所有可能的组合。这在 Google 表格中是否可行,我将如何处理?
当我生成组合时,我想看看价格上涨对一个人一晚的总支出有什么影响,以及它会对我们的收入产生什么影响。
我们是一家由志愿者经营的酒吧,所有花在我们这里的钱都用来买第二天晚上的钱,剩下的钱都捐给我们的基金,在那里我们支持需要我们经济帮助的项目。
解决方案
我认为你可以使用混合基数来做到这一点,如下所示:
=ArrayFormula(filter(mod(quotient(sequence(A4,1,0),B4:F4),A3:E3),
mmult(mod(quotient(sequence(A4,1,0),B4:F4),A3:E3),transpose(A2:E2))<=G2))
左边的前几行包含饮料、它们的价格、可以以 12 美元购买的每种饮料的最大数量(加上一个精确金额),以及上一行从右到左的累积产品.
在 F3 和 F4 中为 1 时,A3 中的公式为
=quotient($G$2,A2)+(mod($G$2,A2)=0)
A4中的公式是
=product(A3:$F3)
拉过去。
也可以设置下限:
=ArrayFormula(filter(mod(rounddown(sequence(A4,1,0)/B4:F4),A3:E3),
(mmult(mod(rounddown(sequence(A4,1,0)/B4:F4),A3:E3),transpose(A2:E2))<=G2)*
(mmult(mod(rounddown(sequence(A4,1,0)/B4:F4),A3:E3),transpose(A2:E2))>G4)))
其中 G4 包含最小值。
推荐阅读
- python - Cant connect from python client to meteor server using python-ddp
- azure - How to skip the login screen if user is not pre logged in but authorized the azure app in past
- hibernate - 在运行时创建 Pojo 并在将 pojo 保存到磁盘后在类修剪时抛出错误?
- python - After a desire ouput Not able to print date from both date/time
- java - Swipe left to show view at top of cardview in recycler view item
- java - 如何在android中的触摸缩放动画上应用imageView?
- vue.js - How to specify "key" as a required prop?
- docker - Hugo color theme not changing [params.palette]
- android - 在recyclerview中动态添加数据
- excel - how to select a cell after a block of non-contiguous data?