Excel - 每行收集​​相邻列中的值

时间:2017-02-27 05:35:09

标签: excel excel-vba excel-formula vba

我的桌子看起来像这样:

+------------+-------+
|    Date    | Time  |
+------------+-------+
| 14/05/2014 | 17:40 |
| 14/05/2014 | 18:18 |
| 14/05/2014 | 19:05 |
| 24/05/2014 | 08:56 |
| 24/05/2014 | 09:52 |
+------------+-------+

我想找到一种方法来在相邻的列中收集值,如下例所示:

+------------+-------------+-------------+-------------+
|    Date    | Time Value1 | Time Value2 | Time Value3 |
+------------+-------------+-------------+-------------+
| 14/05/2014 | 17:40       | 18:18       | 19:05       |
| 24/05/2014 | 08:56       | 09:52       | Null        |
+------------+-------------+-------------+-------------+

我认为有一种方法可以不使用VBA,也许使用数组函数吗?

谢谢,

阿里克

1 个答案:

答案 0 :(得分:2)

根据您提供的数据并根据以下屏幕截图将以下公式放入E2单元格并按CTRL+SHIFT+ENTER,因为它是 数组 公式

=IFERROR(INDEX($B$2:$B$6,SMALL(IF($A$2:$A$6=$D2,ROW($B$2:$B$6)-ROW($B$1),""),COLUMN(A:A))),"Null")

CTRL + SHIFT + ENTER 来评估公式,因为它是一个数组公式。

  

重要说明: 放入公式后,您必须手动将时间格式应用为hh:mm或任何您想要的格式。

enter image description here