我无法弄清楚如何在一天(24h)内使用一组动态变化的数据来计算百分比,就像在SS上看到的那样,您有一天和不同的时间。但事实是,我可以使用=MOD (B3-B2,1)
计算时间之间的一般差异,然后将其转换为百分比(一天之内,我得到的只是很小的百分比)。但是,如果时间在23:59之后,问题仍然存在...
该“系统”列实际上是两个正在交替工作的进程,因此一个是OFF,另一个是ON,都得到了该日期/时间(工作时间)。
如何在一天之内计算一个系统的百分比-因此它的工作时间以每天的百分比表示(因此,对于10.01,11.01 ..)
类似这样的事情,然后假设一个系统的总和百分比为1天。许多示例(日期)给了我100%以上的收益。
我有一个不同的数据集(在其他示例中尝试过),但效果不佳:
SUMIFS($B$2:$B$1020;$A$2:$A$1020;$F3;$C$2:$C$1020;"<>"&G$1)-SUMIFS($B$2:$B$1020;$A$2:$A$1020;$F3;$C$2:$C$1020;G$1)+(INDEX($C$2:$C$1020;MATCH($F3;$A$2:$A$1020))=G$1)
也许是因为我从PowerQuery中编辑了数据然后输入到工作表中吗?还是其他?
答案 0 :(得分:2)
请记住,一天从t = 0开始到t = 1结束,其中t是以天为单位的时间,对于两个过程A和B,我们可以考虑以下四种情况:
Start with process A, end with process B
|___A1---B1___A2---B2___|
B1-A1+B2-A2
∑B - ∑A
Start with process A, end with process A
|___A1---B1___A2---B2___A3---|
B1-A1+B2-A2+1-A3
∑B - ∑A +1
Start with process B, end with process A
|---B1___A1---B2___A2---|
B1-0+B2-A1+1-A2
∑B - ∑A +1
Start with process B, finish with process B
|---B1___A1---B2___A2---B3___|
B1-0+B2-A1+B3-A2
∑B - ∑A
其中A1是进程A的第一个接通时间,A2是进程A的第一个接通时间,---表示进程A处于打开状态,___表示进程A关闭。
因此,我们可以从流程B的开始时间的总和中减去流程A的开始时间的总和,如果一天中的最后一个流程是流程A,则可以加1。
一整天的公式(例如19/1/19)
=SUMIFS($B$2:$B$23,$A$2:$A$23,$F3,$C$2:$C$23,"<>"&G$1)-SUMIFS($B$2:$B$23,$A$2:$A$23,$F3,$C$2:$C$23,G$1)+(INDEX($C$2:$C$23,MATCH($F3,$A$2:$A$23))=G$1)
第一天怎么样?第一天半点之前什么都没有?现在,假设流程A之前的任何内容都被流程B占用是错误的,反之亦然,因此如果第一个流程不是流程A则必须减去第一时间,并在计算中添加另一个项:
=SUMIFS($B$2:$B$23,$A$2:$A$23,$F2,$C$2:$C$23,"<>"&G$1)-SUMIFS($B$2:$B$23,$A$2:$A$23,$F2,$C$2:$C$23,G$1)+(INDEX($C$2:$C$23,MATCH($F2,$A$2:$A$23))=G$1)-(INDEX($C$2:$C$23,MATCH($F2,$A$2:$A$23,0))<>G$1)*$B2
因此,第一天的总时间不是24小时,而是大约10.5小时或一天的44%。