根据单元格中的值选择相邻数据

时间:2015-02-05 21:27:31

标签: excel if-statement integer excel-formula worksheet-function

我有一个包含时间列和数据列的巨型Excel文件。在两个新列中,我想基于时间列的值在新的秒开始时拉出时间和相应的数据(同一行)。每秒的行数不一致,所以我不能使用线性偏移。时间(A)和数据(B)列的格式如下:

Time        Data  
163010.3838 0.009332522  
163010.8468 0.009332853  
163011.3099 0.009332936  
163011.7749 0.00933318  
163012.2399 0.009334042  
163012.7049 0.00933733  
163013.168  0.009335146  
163013.633  0.009332692  
163014.098  0.009335718  
163014.5631 0.009334616  
163015.0271 0.009334818  
163015.4921 0.009336317   
163015.9571 0.009335719

时间的格式为hhmmss.decimal值。在相邻列(比如C和D)中,我希望每当达到新的秒时拉出每行的时间和数据值。所以它看起来像:

Time   Data  
163010 0.009332522   
163011 0.009332936      
163012 0.009334042

等等。

2 个答案:

答案 0 :(得分:0)

假设Time在A1中,请在C2中尝试:

=INT(A2)

在D2:

=B2  

和D3:

=IF(INT(A3)>INT(A2),B3,"")  

将上面的第一个和最后一个复制下来以适应。

答案 1 :(得分:0)

假设数据设置和所需的结果如下所示:

tigeravatar example for Hyung

在单元格D2中,向下复制的是以下公式:

=IFERROR(INDEX(INT($A$2:$A$14),MATCH(0,INDEX(COUNTIF(D$1:D1,INT($A$2:$A$14)),),0)),"")

在单元格E2中,向下复制的是这个公式:

=IF(D2="","",INDEX($B$2:$B$14,MATCH(D2,INDEX(INT($A$2:$A$14),),0)))