我有一个桌子,我必须使用,以分类不同的行为与牛的时间取决于他们花在某些活动。例如:如果一只动物在没有任何运动指标或步骤的情况下站立5分钟,我必须将这种行为归类为休息。如果这只动物站着超过30秒,我必须把它归类为站立那一分钟,和说谎一样。
通过分析5行(row=minutes),有什么功能可以分类吗?所以,如果一只动物在没有运动指数或步骤的情况下站立5分钟,我就把它归类为休息,有没有办法在excel上为它做一个函数呢?
我试过这个公式,但它将休息行为归类为站立行为。这是你们用公式检查excell文件的链接。
发布于 2020-09-16 00:56:50
数据似乎是每隔一分钟收集一次。因此,使用count或sum函数来计算最后5行的/sum数据以获得最后5分钟的结果是很容易的。运动索引的最后5行之和。最后5行步骤之和。如果这些值为零,则结果是“休息”。把它放到一个IF函数中。
从您的描述来看,确切的逻辑并不十分清楚,但是您需要在第6行中从下面的公式开始
=if(and(sum(C2:C6)=0,sum(f2:f6)=0),"Resting",if(D6 > time(0,0,30),"standing",if(E6 > time(0,0,30),"lying","something else")))
把公式抄下来。
在注释和评估样例文件中讨论后的编辑:
如果您想要向条件中添加一个分钟和,那么您需要知道一个5分钟时间值的总和并不等于整个数字5。在Excel中,1是一天的值,任何小于一天的时间值都小于1,即一个十进制值。
即使您不知道以小数表示的5分钟(为0.00347222222222222),也可以使用一个Excel函数将这五个单元格的和与Time(0,5,0)
进行比较,即0小时、5分零秒的时间值。
因此,您的公式应该从使用条件SUM(D3:D7)=5
更改为条件SUM(D3:D7)=TIME(0,5,0)
。
您还会得到错误的结果,因为公式将当前行下面的5个值和,而不是上面。如果你展望未来,你无法确定一头牛是否已经5分钟没动了。
这就是我在上面写的公式必须从第6行开始的原因,因为这是第一行,您有五个先前的条目来计算前五分钟。
长话短说:在单元格H6中启动公式并使用
=IF(AND(SUM(C2:C6)=0,SUM(F2:F6)=0,SUM(D2:D6)=TIME(0,5,0)),"Resting",IF(E6 > TIME(0,0,30),"lying",IF(D6 > TIME(0,0,30),"standing","Other")))
您将无法使用第6行以上的公式,因为对于这些行,您没有足够的数据来得出结果。
第二次编辑是在在注释中发布的改进逻辑规则之后进行的:调整后的公式不仅查看过去5分钟,而且根据逻辑计算休息期间的每分钟:
当动物连续站立5分钟没有动作或步骤,所有这5分钟必须被认为是休息,如果动物坚持不动站立或步骤,它继续被归类为休息。站立是按动物站立超过30秒的时间分类的。说谎是根据动物花30秒以上的时间来分类的。
仍然需要在第6行中开始,因此可以对前面的5行进行评估。
=IF(
OR(
AND(SUM(C2:C6)=0,SUM(F2:F6)=0,SUM(D2:D6)=TIME(0,5,0)),
AND(SUM(C6:C10)=0,SUM(F6:F10)=0,SUM(D6:D10)=TIME(0,5,0))),"Resting",
IF(E6 > TIME(0,0,30),"lying",
IF(D6 > TIME(0,0,30),"standing","Other")))
截图显示了谎言进入休息的一排样本。
https://stackoverflow.com/questions/63911334
复制相似问题