excel - SUM UNIQUE 除了...?
问题描述
好的,这可能会让人感到困惑,但我会尽力描述它。
我正在尝试计算完成任务所需的天数。所以我有一个电子表格,其中列出了任务、分配时间并分配一个人来完成该任务。
因此,假设任务 1 有 5 个子任务,每个子任务需要 8 小时。如果我将 Bill 分配给每个任务,Bill 将需要 5 天时间来完成任务 1。这很容易。
现在,如果 Bill 需要 5 天来完成任务 1,但最后期限是 4 天,我只需从 Bill 那里拿 1 个子任务分配给 Bob,和 viola……我们现在有 40 小时的工作时间4天内完成。
我所有这些都使用以下公式:
=MAX(SUMIFS('Task List'!Q:Q,'Task List'!T:T,UNIQUE('Task List'!T:T),'Task List'!D:D,"<>"&"*Summary"))
该公式向下查找列 T 并找到任何唯一名称。然后它基本上将这些时间与其他时间(从 Q 列)同时发生,因为 Bill 和 Bob 可以同时工作。另一种看待它的方式是:分配给他们任务最多的人正在控制结束日期,因为这是完成所有事情所需的“最长”时间。
现在问题...
每个项目结束时总会有一项任务,称为“烘焙”。“烘焙”将始终在 H 列中。烘焙将始终分配给不在项目中的 UNIQUE 人……因此 Bill 和 Bob 将成为团队的一部分,但 Baking 将始终是不同的 Unique 人。
所以发生的事情是上面的公式减去了烘焙线,因为它是一个唯一的名称。
但我不想那样。烘焙任务将始终在其他任务完成之后发生,并且在 Bill 和 Bob 正在执行他们的任务时无法完成。
所以,我需要公式说的是,“查看 T 列是否有任何唯一名称,并添加出现最多的人的小时数,但如果 G 列中有“烘焙”,则忽略这一点,并始终正常添加这些小时数。 "
如果有帮助,下面的第一张图片应该返回完整的“80”值,因为比尔正在完成所有任务,而贝克在比尔完成后正在烘烤,所以项目的总时间是 80 小时。但是,上面的公式返回“70”,因为“贝克”是唯一的。
这个应该返回 70,因为 Bob 从 Bill 的盘子上花了 10 个小时,但同样,Baker 发生在所有任务完成之后(Bill:40+10+10 + Baker 10):
解决方案
=SUMPRODUCT(--(E:E<>""),Q:Q)+MAX(SUMIFS(Q:Q,T:T,UNIQUE(T:T),F:F,"<>"&""))+SUMPRODUCT(--(G:G<>""),Q:Q)
这也可以解决问题。寻找收集原料的时间+独特员工的最大时间+烘烤的时间。
推荐阅读
- javascript - 以编程方式更改 react-select 组件的值
- php - Laravel Carbon 加或分钟一分钟用于比较时间
- javascript - 为什么 setDate() 在 nodejs 中以毫秒为单位给出最终日期?
- rust - BTreeMap 和 BTreeSet 的分支因子是什么?
- firebase - Firebase_auth 取决于 firebase_core 错误
- google-apps-script - 脚本在运行代码时出错
- python - 为什么-f标志在python的ffmpeg中不起作用
- php - 将创建日期时间戳添加到 WooCommerce 客户电子邮件
- sorbet - 在 Rails 初始化程序中使用创建自动加载类的实例时,Sorbet 失败
- c# - 尝试通过 POST 请求向第三方支付网关提交付款:S