我正在尝试比较工作表1到工作表2的时间值,并获得工作表1 - B,C,D列中的紧密匹配值。每当我刷新单元格A时,它应该自动更新B,C,C,D中的结果,参见预期结果
表1显示当前时间,即单元格A1“= now()”
Sheet1
----------------------------------------------------
| A | B | C | D |
|---------------------------------------------------
| 12:55:00 | | | |
----------------------------------------------------
在表2中,数据有4列,如下所示
--------------------------------------------------------
| No | Start | End | Date |
|-------------------------------------------------------
| 1 | 07:36:00 | 08:23:10 | 15/05/2015 |
| 2 | 08:23:10 | 09:10:20 | 15/05/2015 |
| 3 | 09:10:20 | 09:57:30 | 15/05/2015 |
| 4 | 09:57:30 | 10:44:40 | 15/05/2015 |
| 5 | 10:44:40 | 11:31:50 | 15/05/2015 |
| 6 | 11:31:50 | 12:19:00 | 15/05/2015 |
| 7 | 12:19:00 | 13:06:10 | 15/05/2015 |
| 8 | 13:06:10 | 13:53:20 | 15/05/2015 |
| 9 | 13:53:20 | 14:40:30 | 15/05/2015 |
| 10 | 14:40:30 | 15:27:40 | 15/05/2015 |
| 11 | 15:27:40 | 16:14:50 | 15/05/2015 |
| 12 | 16:14:50 | 17:02:00 | 15/05/2015 |
| 13 | 17:02:00 | 18:14:50 | 15/05/2015 |
| 14 | 18:14:50 | 19:27:40 | 15/05/2015 |
| 15 | 19:27:40 | 20:40:30 | 15/05/2015 |
| 16 | 20:40:30 | 21:53:20 | 15/05/2015 |
| 17 | 21:53:20 | 23:06:10 | 15/05/2015 |
| 18 | 23:06:10 | 00:19:00 | 16/05/2015 |
| 19 | 00:19:00 | 01:31:50 | 16/05/2015 |
| 20 | 01:31:50 | 02:44:40 | 16/05/2015 |
| 21 | 02:44:40 | 03:57:30 | 16/05/2015 |
| 22 | 03:57:30 | 05:10:20 | 16/05/2015 |
| 23 | 05:10:20 | 06:23:10 | 16/05/2015 |
| 24 | 06:23:10 | 07:36:00 | 16/05/2015 |
---------------------------------------------------------
预期
Sheet1 - 如果当前时间是15/05/2015的12:55:00
-----------------------------------------------------------------------------
| A | B | C | D | E |
|-----------------------------------------------------------|---------------|
| 12:55:00 | 7 | 12:19:00 | 13:06:10 | 15/05/2015 |
-----------------------------------------------------------------------------
Sheet1 - 如果当前时间是2015年5月16日03:55:00
-----------------------------------------------------------------------------
| A | B | C | D | E |
|-----------------------------------------------------------|---------------|
| 12:55:00 | 21 | 02:44:40 | 03:57:30 | 16/05/2015 |
-----------------------------------------------------------------------------
对于数字我使用以下公式,但不确定如何在时间
时实现=INDEX(A1:A20,MATCH(MIN(ABS(A1:A20-D1)),ABS(A1:A20-D1),0))
由于
答案 0 :(得分:1)
如果我们假设您的日期是从不同日期输入的,但您希望将它们视为同一天,则只需要在进行比较之前减去日期部分。
由于Excel将日期存储为天数,小数表示小时/秒,您可以简单地减去该值的整数部分。
这是那个公式。这是一个数组公式,使用CTRL + SHIFT + ENTER输入。
=INDEX(A1:A20,MATCH(MIN(ABS(A1:A20-INT(A1:A20)-D1+INT(D1))),ABS(A1:A20-INT(A1:A20)-D1+INT(D1)),0))
对于A1:A20
,我们减去INT(A1:A20)
。 D1
除D1
之外已经减去相同的内容,因此INT
部分会被重新添加。
答案 1 :(得分:0)
感谢Byron,根据您的解决方案,获得了一个想法并实施并实现了所需的输出,请参阅下面的解决方案
Sheet1将单元格A1值转换为数字格式输入单元格B1
=(A1-INT(A1))*24
在Sheet2中将单元格B转换为数字格式 - >细胞D
----------------------------------------------------------
| A | B | C | D |
|---------------------------------------------------------
| 1 | 07:36:00 | 08:23:10 | 7.6 | forumla "=(B12-INT(B12))*24"
| 2 | 08:23:10 | 09:10:20 | 8.386111111 |
| 3 | 09:10:20 | 09:57:30 | 9.172222222 |
| 4 | 09:57:30 | 10:44:40 | 9.958333333 |
| 5 | 10:44:40 | 11:31:50 | 10.74444444 |
| 6 | 11:31:50 | 12:19:00 | 11.53055556 |
| 7 | 12:19:00 | 13:06:10 | 12.31666667 |
| 8 | 13:06:10 | 13:53:20 | 13.10277778 |
| 9 | 13:53:20 | 14:40:30 | 13.88888889 |
| 10 | 14:40:30 | 15:27:40 | 14.675 |
| 11 | 15:27:40 | 16:14:50 | 15.46111111 |
| 12 | 16:14:50 | 17:02:00 | 16.24722222 |
| 13 | 17:02:00 | 18:14:50 | 17.03333333 |
| 14 | 18:14:50 | 19:27:40 | 18.24722222 |
| 15 | 19:27:40 | 20:40:30 | 19.46111111 |
| 16 | 20:40:30 | 21:53:20 | 20.675 |
| 17 | 21:53:20 | 23:06:10 | 21.88888889 |
| 18 | 23:06:10 | 00:19:00 | 23.10277778 |
| 19 | 00:19:00 | 01:31:50 | 0.316666667 |
| 20 | 01:31:50 | 02:44:40 | 1.530555556 |
| 21 | 02:44:40 | 03:57:30 | 2.744444444 |
| 22 | 03:57:30 | 05:10:20 | 3.958333333 |
| 23 | 05:10:20 | 06:23:10 | 5.172222222 |
| 24 | 06:23:10 | 07:36:00 | 6.386111111 |
---------------------------------------------------------
现在 Sheet1 C1 进入数组论坛(shift + Ctrl + Enter)
=INDEX(Sheet2!A12:A35,MATCH(MIN(ABS(Sheet2!D12:D35-Sheet1!B1)),ABS(Sheet2!D12:D35-Sheet1!B1),0))
Sheet1 D1
=VLOOKUP(B3,Sheet2!A12:C35,2,FALSE)
Sheet1 E1
=VLOOKUP(B3,Sheet2!A12:C35,3,FALSE)
Sheet1中的输出
------------------------------------------------------------------------------------
| A | B | C | D | E |
|-------------------------------------------------------------------|---------------|
| 07:36:58 | 7.615991667 | 1 | 07:36:00 | 08:23:10 |
-------------------------------------------------------------------------------------
谢谢