【问题标题】:Excel formula to calculate the time a device is on and offExcel公式计算设备开启和关闭的时间
【发布时间】:2021-06-05 16:34:45
【问题描述】:

我有一个可以打开和关闭的除湿机。我想知道它打开了多少分钟,然后又关闭了多少分钟。我有三个单元格:

A1 - Date 
B1 - Time 
C1 - Status (On or Off)

我需要一个在单元格 C1 中查找的公式,如果它包含“开”,则继续查看最后一个“开”的所有连续单元格,然后计算 B 列中的时间差并将此计算值放入 D 列. 下面我在找到状态的最后一行显示计算的分钟数,但它是值“On”的第一个实例还是最后一个实例都没有关系。我有计算时间差的困难部分。我需要帮助搜索连续的开和关并计算时间之间的差异的简单部分。我尝试过使用 vlookup、索引和匹配,但每次都是空的。下面是表格的图片。

提前感谢您的帮助。

【问题讨论】:

  • 什么版本的 Excel?
  • 每个单元格是否每次都增加 1 分钟?还是我们必须假设它可能不是那样设置的?
  • 另外,在 D29 单元格中,应该是 15 分钟,而不是 25 分钟。不是吗?
  • =IF(C2<>C3,$B2-INDEX($B:$B,LARGE(($C$1:$C2<>$C2)*(ROW($C$1:$C2)),1)+1),"") 也许这可以帮助您朝着正确的方向前进。它通过在C列中搜索上一个值(on/off)的结束时间的行并添加一行来查找开始时间。
  • 根据您对最终报告的要求,Power Query 解决方案可能是一个不错的方法。

标签: excel search indexing excel-formula vlookup


【解决方案1】:

在单元格 D2 中输入以下公式:

=IF(C2=C3,"",ROW(C2)-LARGE(IF($D$1:D1<>"",ROW($D$1:D1)),1)-1)

使用填充手柄向下拖动。

注意:此公式假定每一行代表 分钟,并据此计算。如果一行跳过一分钟,这将不起作用。

这会产生一个整数,表示经过了多少分钟。 如果您想要 0:05:00 格式,请使用以下公式:

=IF(C2=C3,"",(ROW(C2)-LARGE(IF($D$1:D1<>"",ROW($D$1:D1)),1)-1)*0.000694444444444444)

使用此格式格式化 D 列:

[h]:mm:ss

【讨论】:

  • 我尝试将此公式放入 D2 并填写: =IF(C2=C3,"",ROW(C2)-LARGE(IF($D$1:D1"",ROW ($D$1:D1)),1)-1) 我可以看到它标识了给定开或关的最后一行,但在 D 列单元格中它显示#VALUE!而不是微小的差异。我会处理这个,看看我能不能弄清楚。谢谢你给我一些光明。
  • 发生了什么?
猜你喜欢
  • 2022-06-12
  • 1970-01-01
  • 1970-01-01
  • 2013-05-20
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多