您好想根据给定值对单元格进行逻辑计数。这意味着它将计算具有指定值的特定范围内的X数。请检查附件以了解更多信息。目前,我已经使用
实现了它=IF(F3="X",$D3,"")
但是它需要给计数指定一个特定的值。
如何为IF()
添加另一个条件,该条件将停止在单元格E3的小时值之后放置P1? (10个单元,因为这是一个半小时)。
答案 0 :(得分:0)
如果我正确理解了您的问题,则可以在K4中尝试使用此公式,然后将其左右移动。
该公式将检查上方单元格中是否存在X,然后连续查看是否少于10 X,并返回“ P1”。我添加了iferror是由于REF错误,如果您在左侧走得太多,将会得到该错误
=IF(K3="X",IFERROR(IF(COUNTIF(A3:J3,"X")<10,"P1",""),"P1"),"")
答案 1 :(得分:0)
我也对图片和评论感到困惑。您询问计数(使用COUNTIF或COUNTIFS可能会容易一些),但随后似乎想将值放在单元格中(并可能以黄色突出显示),除非它们超出分配给工作的小时数。
我仅对这一部分作出响应:“如何向IF()添加另一个条件,该条件将停止在Cell E3的小时值之后放置P1?(10个单元,因为这是半小时)。”
您只问您要添加什么:
=IF(F3="X",$D3,"")
这很难回答,因为我的答案是:
在第一个括号之后和F3 =“ X”之前添加AND(,然后将 COUNTIF($ F3:F3,“ X”)<= INT($ E3 * 2)),在原始公式中的第一个逗号之后和$ D3之前
这可能是我回答这个问题最无助的方法(老实说,我什至不确定我的措词是否正确)。
我希望改为提供:请将此公式放在单元格F4中:
=IF(AND(F3="X",COUNTIF($F3:F3,"X")<=INT($E3*2)),$D3,"")
然后将其复制到该单元格右侧的其余单元格中。即使请求特定于具有基于E3的信息的行,我仍使该公式有些通用,以便可以将其用于所有三行(以F4,F6和F8开头的行)。我使用INT函数是因为我不知道小时数对数据的限制是什么,并且想与整数进行比较。您可能想要消除这种情况,或者改用四舍五入函数。
我意识到您的图表尚在开发中,因此,当您添加行和列时,您需要调整此公式以适应这些更改,但这应该更简单一些。
我希望这会有所帮助。
我将根据收到的评论添加一些其他信息,并假设每个资源最多有三个额外的工作和时间,并在第一行带有“ X”的列之前最多添加6个额外的列。这样做会使公式复杂化。此公式适用于不超过9个字符的代码。 L4单元格(以前是F4)中的代码现在变为:
=IFERROR(IF(L3="X",TRIM(MID(REPT(LEFT($D3&REPT(" ",9),9),$E3*2)&REPT(LEFT($F3&REPT(" ",9),9),$G3*2)&REPT(LEFT($H3&REPT(" ",9),9),$I3*2)&REPT(LEFT($J3&REPT(" ",9),9),$K3*2),COUNTIF($L3:L3,"X")*9-8,9)),""),"")
这是根据工作和半小时创建一个字符串值,然后根据截至当前列的“ X”个计数从该列表中选择适当的代码。
顺便说一句,我将小时数乘以2得到半小时数,并且没有使用INT()或ROUND()或其他获取整数的方法,因为尚不清楚我们对分数使用什么规则一个小时的时间,而上载的原始电子表格不适合这种情况。如果一小时的最小时间是0.5,则此解决方案应该可以正常工作。但是,如果分数较小,则可能无法按预期运行,因为我使用的REPT函数将自动截断,这样,如果某人有5.49小时,将有10个条目,而如果某人有5.50小时,则有11个条目。