2015-05-14 46 views
0

我试图将表1中的时间值与表2进行比较,并获得sheet1-B,C,D列中的接近匹配值。每当刷新小区A应该自动地更新B中的结果,C,C,d看到预期的结果excel将sheet1中的当前时间值与sheet2中的时间值范围进行比较

表1示出当前时间,即,单元格A1 “=现在()”

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 | 
--------------------------------------------------------- 

预期

Sheet 1中 - 如果当前时间是12点55分00秒上15/05/2015

----------------------------------------------------------------------------- 
| A   | B  | C   | D   |  E  | 
|-----------------------------------------------------------|---------------| 
| 12:55:00 | 7  | 12:19:00 | 13:06:10 | 15/05/2015 | 
----------------------------------------------------------------------------- 

工作表Sheet1 - 如果当前时间是3点55分00秒上16/05/2015

----------------------------------------------------------------------------- 
| 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

看起来像“时代”真的是在不同的日子,但你想把他们当作所有在同一天。也就是说,如果您将格式转换为完整日期,他们会在不同的日子? –

+0

你的编辑让我感到困惑。当同一天有3:57时,为什么第二个例子会跳到2:44?第一个人在12点19分的时候会有更接近的13点06分?或者你想要最近而不是过去?最后,如果你知道日期,只需将它添加到时间并使用你的正常公式。日期是数字;它会工作。如果你的时间已经有了日期并且只是按照时间格式化,那就更容易了。另外,如果你想在不超过的情况下最接近,你可以简单地使用'MATCH'。 –

回答

0

感谢拜伦,根据您的解决方案,有一个想法,并实现和获得所需的输出见下文

工作表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 | 
--------------------------------------------------------- 

现在Sheet 1中C1输入阵列forumla(一个或多个HIFT + CTRL + ENTER)

=INDEX(Sheet2!A12:A35,MATCH(MIN(ABS(Sheet2!D12:D35-Sheet1!B1)),ABS(Sheet2!D12:D35-Sheet1!B1),0)) 

Sheet 1中D1

=VLOOKUP(B3,Sheet2!A12:C35,2,FALSE) 

Sheet 1中E1

=VLOOKUP(B3,Sheet2!A12:C35,3,FALSE) 

输出在Sheet

------------------------------------------------------------------------------------ 
| A   | B    | C   | D   |  E  | 
|-------------------------------------------------------------------|---------------| 
| 07:36:58 | 7.615991667  | 1   | 07:36:00 | 08:23:10 | 
------------------------------------------------------------------------------------- 

谢谢

1

如果我们假设你的日期是从不同的日子进入了,但你要正确对待他们,虽然他们都在同一天,你只需要使用su在进行比较之前抽出一部分时间。

由于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部分被重新添加。

相关问题