2017-10-19 119 views
0

我有一個Excel電子表格,其中包含時間和溫度兩欄中的數據。時間列有值,如下所示,其中也有一些跳過秒:如何在Excel中的列中添加缺失時間以進行插值

2017-10-17 14:18:15  
2017-10-17 14:18:17  
2017-10-17 14:18:18  
2017-10-17 14:18:19  
2017-10-17 14:18:21  
2017-10-17 14:18:22 

是否有可能讓Excel在那些缺少時間與對應的空白行添加(這樣的話,我可以對這些空白點做插值?)

+0

如果你使用數據透視表,則很可能通過秒集團獲得丟失的日期http://www.contextures.com/xlPivot07.html – Slai

回答

1

我不知道你的數據看起來怎麼樣,但是這是你可以做什麼,如果你不希望使用VBA。

使用來自cell B2這個公式,並拖累:

=IF(B1="","",IF(N(B1),IF(ROW(A2)-ROW($A$1)-1<SECOND(MAX($A$2:$A$7)-MIN($A$2:$A$7))+1,B1+TIME(0,0,1),""),A2)) 

這裏做的事情是確定最大值和最小值之間多少秒,然後用行作爲參考(您可以根據改變這部分內容數據結構)。試試看看它是否適合你。

0

試試這個!它假定你的時間是在列A,一個頭在單元格A1

Sub AddRows() 

'Finds out what row to go up to 
Dim lRow As Long 
lRow = Cells(Rows.Count, 1).End(xlUp).Row 

For i = 2 To lRow + 1 

'If the difference between the cell below is more than a second, then add a 
row above and skip the next i 
If Cells(i + 1, 1) - Cells(i, 1) > 0.000011575 Then 
    Cells(i + 1, 1).Select 
    Selection.EntireRow.Select 
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
    lRow = lRow + 1 
    Cells(i + 1, 1).Select 
    Cells(i + 1, 1).Value = Cells(i, 1).Value + 0.000011575 
    i = i + 1 

Else 

End If 

Next i 

End Sub 
相關問題