分配给列的分配公式

Zain
Zain
编辑04/15/22 公式与函数

@Genevieve P。

你能帮我想出一个IF公式,用在%分配列为我的表?

这就是我想要表达的:

如果Bob(来自“Assigned To”列)达到了大于100%的分配(来自多行的总和),使“Assigned To”单元格为Bob的名字填红色。下面的例子显示了101%的超额分配。如果你会推荐一个不同的旗帜,而不是突出所有鲍勃的名字在红色,请让我知道。目前还没有10000英尺/资源管理预算。

image.png

还有,如果一个牢房里有多人,你能提出另一个公式吗?%分配是如何工作的呢?

image.png


谢谢你的帮助!

Zain

最佳答案

  • Leibel博士Shuchat
    Leibel博士Shuchat ✭✭✭✭✭
    ✓回答

    @Zain

    从技术上讲,您可以硬编码每个可能的添加赋值给。下面的例子将检查每个单元格最多2个联系人。

    =IF(COUNTM([已分配]@行)= 1,IF(SUMIFS([%分配]:[%分配],[已分配]:[已分配]@行))> 1,1,""),IF(COUNTM([已分配]@行)= 2,IF(OR(SUMIFS([%分配]:[%分配],[已分配]:[已分配]@行)- 1))> 1,SUMIFS([%分配]:[%分配],[已分配]:[已分配],HAS(@cell, LEFT([已分配]@行)- 1))> 1,SUMIFS([%分配]:[%分配],[已分配]:[已分配],HAS(@cell, MID([已分配]@行,FIND(", ",[已分配]@行)+ 2,LEN([被]@row) -找到(“,”,[被]@row)))) > 1), 1 , ""), ""))


    但是,如果有另一个表,其中包含每个可能分配到的人的独立列表(每行一个人),并有一列查找这个特定员工的%分配,那么在这个表中,您可以查找这个人,看看他们是否被标记为过度分配并相应更改。

答案

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    第一个比特看起来像这样(把它放在一个单独的列中):

    =IF(SUMIFS([% Allocation]:[% Allocation], [Assigned To]:[Assigned To], @cell = [Assigned To]@row) > 1,1)


    然后,您可以使用基于这个新列的条件格式来突出显示Assigned to列,其中任何行在新列中包含“1”。


    至于第二点,我们只需要在上面做一些小的调整,但这些调整将取决于……

    具体分配给什么类型的列?允许多人联系?同时选中下拉?文本/号码吗?

    thinkspi.com

  • @Paul新来的

    第一个公式起作用了,谢谢!

    具体分配给什么类型的列?允许多人联系?同时选中下拉?文本/号码吗?

    “分配给”列是一个“联系人列表”列类型,在属性下选中“每个单元格允许多个联系人”框。

    我很好奇,如果一个单元格中分配了两个人,一个人超额分配,而另一个人没有超额分配,那么这个公式会是什么样子呢?

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    如果其中一个,另一个,或两者都超过100%,它就会变成红色,但这个公式看起来是这样的

    =IF(OR(SUMIFS([% Allocation]:[% Allocation], [Assigned To]:[Assigned To], HAS(@cell, [Assigned To]@row) > 1, SUMIFS([% Allocation]:[% Allocation], [Assigned To]:[Assigned To], HAS([Assigned To]@row, @cell) > 1), 1)

    thinkspi.com

  • Zain
    Zain
    编辑04/20/22

    @Paul新来的

    感谢您的回复!我插入了你刚刚给我的公式,我正在收到一个列错误:#错误参数集。

    “分配给”列是一个“联系人列表”列类型,在属性下选中“每个单元格允许多个联系人”框。

    “%分配”列是“文本/数字”列类型。

    你能帮我一下吗?

    此外,如果在一个单元中分配了5人或更多的人,并且5人中有2或3人的分配超过了100%,是否有一个公式或方法可以轻松地识别哪个人分配过多?因此,如果某个人有100个任务(5%,10%,6%等等),而其他4个人有相同数量(但不同)的任务和百分比,除了根据5个人的名字进行过滤并查看哪些行变红之外,是否有一种更快的方法来识别?

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    很抱歉。我漏了一个右括号。


    =IF(OR(SUMIFS([% Allocation]:[% Allocation], [Assigned To]:[Assigned To], HAS(@cell, [Assigned To]@row) > 1, SUMIFS([% Allocation]:[% Allocation], [Assigned To]:[Assigned To], HAS([Assigned To]@row, @cell)) > 1), 1)


    不过我得在第二个问题上再答复你。它可能需要单独的一张纸。

    thinkspi.com

  • Zain
    Zain
    编辑04/20/22

    @Paul新来的

    由于某种原因,我仍然得到#INCORRECT参数集错误。当我输入公式时,%分配和分配列突出显示,但在公式列中仍然收到相同的错误。

    谢谢你的帮助。

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    再次抱歉。出于某种原因,我真的很纠结于这个括号:


    =IF(OR(SUMIFS([% Allocation]:[% Allocation], [Assigned To]:[Assigned To], HAS(@cell, [Assigned To]@row)) > 1, SUMIFS([% Allocation]:[% Allocation], [Assigned To]:[Assigned To], HAS([Assigned To]@row, @cell)) > 1), 1)

    thinkspi.com

  • @Paul新来的

    谢谢你的错误消失了,但现在每当我分配任何两个利益相关者在'Assigned To'单元格,整个行变成红色,这是没有我调整%分配。我检查了两个人之间的分配百分比是否被加在一起,但即使加起来也少于100%。

  • @Paul新来的

    按照我之前写的。如果你能帮忙,请告诉我。

    谢谢你!

    Zain

  • @Genevieve P。@Paul新来的

    任何帮助都将不胜感激。

    谢谢你!

    Zain

  • 吉纳维芙P。
    吉纳维芙P。 员工管理

    @Zain

    目前还没有一种方法来解析多选择单元格并在列中分别搜索每个单独的值。第二个SUMIFS语句查看特定的名称组合是否出现不止一次(例如,“Bob”和“Riley”同时出现在一个单元格中)。

    我建议创建两个任务,每个任务分配给一个人,而不是一个任务分配给两个人。

    另一个选项是在单元格中搜索每个可能的选择,然后检查每个选项的% Allocation。

    如果行都选择了“Bob”而且如果所选Bob的SUMIFS大于100%,则返回1。

    例:

    =IF(AND(HAS([分配给]@row, "Bob", SUMIFS([%分配]:[%分配],[分配给]:[分配给],HAS(@cell, "Bob")) > 1), 1)

    然后你可以添加多个IF语句在一起,每个联系人一个:

    =IF(AND(HAS([分配给]@row, "Bob", SUMIFS([%分配]:[%分配],[分配给]:[分配给],HAS(@cell, "Bob")) > 1), 1)+如果((((分配)@row,“莱利”,SUMIFS([%分配]:[%分配],[分配给]:[分配给],(@cell。”莱利”))1), 1)


    将所有可能要搜索的人加在一起之后,就可以设置条件格式规则来查看公式列是否大于1。

    让我知道,如果这是有意义的,将为您工作!

    欢呼,

    吉纳维芙

  • Leibel博士Shuchat
    Leibel博士Shuchat ✭✭✭✭✭
    ✓回答

    @Zain

    从技术上讲,您可以硬编码每个可能的添加赋值给。下面的例子将检查每个单元格最多2个联系人。

    =IF(COUNTM([已分配]@行)= 1,IF(SUMIFS([%分配]:[%分配],[已分配]:[已分配]@行))> 1,1,""),IF(COUNTM([已分配]@行)= 2,IF(OR(SUMIFS([%分配]:[%分配],[已分配]:[已分配]@行)- 1))> 1,SUMIFS([%分配]:[%分配],[已分配]:[已分配],HAS(@cell, LEFT([已分配]@行)- 1))> 1,SUMIFS([%分配]:[%分配],[已分配]:[已分配],HAS(@cell, MID([已分配]@行,FIND(", ",[已分配]@行)+ 2,LEN([被]@row) -找到(“,”,[被]@row)))) > 1), 1 , ""), ""))


    但是,如果有另一个表,其中包含每个可能分配到的人的独立列表(每行一个人),并有一列查找这个特定员工的%分配,那么在这个表中,您可以查找这个人,看看他们是否被标记为过度分配并相应更改。

  • @Genevieve P。而且@Leibel Shuchat谢谢你的帮助!对于同样的任务或活动,有另一张表是有意义的,这样我就可以适当地分配每个人。