Col A Col J Col K Col L
8/1/2015 0:58 10 4:31
8/1/2015 0:19 1 3:56
我可以自动执行一项功能或一组功能,根据A列中的日期从该数据集中查找信息吗?我现在正在手工做这件事:
=((L24+L25)-(J24+J25))/(K24+K25)
我想知道是否有什么可以让这更容易。我已经尝试了sumif的,sumproducts,嵌套的if / index-match语句,但是已经用完了想法,或者我只是没有正确编写函数。
答案 0 :(得分:0)
此公式应该会找到您要查找的结果。
=(SUMIF($A$24:$A$100,G16, $L$24:$L$100)-SUMIF($A$24:$A$100,G16, $J$24:$J$100))/SUMIF($A$24:$A$100, G16, $K$24:$K$100)
另一个问题是,时间实际上是文本看起来像时间。对此的第一个迹象是它们在细胞中的左对齐。快速浏览文本到列,固定宽度,完成将每列恢复到实际时间,但每列需要单独运行它。
以下是一个例程,可以快速浏览每个工作表并对每列执行操作。
Sub fix_text_times()
Dim w As Long, c As Long, fndMrg As Range
On Error Resume Next
Application.FindFormat.MergeCells = True
For w = 1 To Worksheets.Count
With Worksheets(w)
With .UsedRange.Cells
Set fndMrg = .Cells.Find(What:=vbNullString, SearchFormat:=True)
Do While Not fndMrg Is Nothing
fndMrg.MergeCells = False
Set fndMrg = .Cells.Find(What:=vbNullString, SearchFormat:=True)
Loop
For c = 1 To .Columns.Count
.Columns(c).TextToColumns Destination:=.Cells(1, c), _
DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
Next c
End With
End With
Next w
Application.FindFormat.MergeCells = False
End Sub
Range.TextToColumns method对合并的单元格效果不佳,所以我已经找不到任何我能找到的东西了。我对主输入1中找到的所有多个Areas property进行了平衡,并认为如果你绝对想要它们,你可以把它们放回去。