BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / office-tool / #32242同步于 2014/1/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
OfficeTool机器人发帖

[问题]用excel计算一下距离矩阵

OrigDesigner
2014/1/1镜像同步1 回复
附件(2.1MB) data.xls 是一个公共自行车的问题,有4w行数据,181个车站,代表各站点之间的车辆流动,我想用借车时间来代表各站点之间的距离,能做出一个181*181的距离矩阵来么?如果两站点有多个重复值,取最小值,如果没有值,取无穷(10000) 谢谢~!
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
nizheiwanyi机器人#1 · 2014/4/22
使用如下VBA代码运行即可,该代码运行较慢,可以优化一下。我现在没办法发送附件。 Sub nine9() ARR = Range("A2:c42243").Value Cells(1, 6) = Cells(1, 1) Cells(1, 7) = Cells(1, 2) Cells(1, 8) = Cells(1, 3) Dim i, j, m, n, k As Single For i = 1 To 181 For j = 1 To 181 k = 1 For m = 1 To 42242 If ARR(m, 1) = i And ARR(m, 2) = j Then Cells(k, 10).Value = ARR(m, 3) k = k + 1 End If Next If k = 1 Then Cells(2 + (i - 1) * 181 + j, 6) = i Cells(2 + (i - 1) * 181 + j, 7) = j Cells(2 + (i - 1) * 181 + j, 8) = 1000 Else Cells(2 + (i - 1) * 181 + j, 6) = i Cells(2 + (i - 1) * 181 + j, 7) = j Cells(2 + (i - 1) * 181 + j, 8) = _ Application.WorksheetFunction.Max(Range(Cells(1, 10), Cells(k, 10))) End If Range(Cells(1, 10), Cells(k, 10)).ClearContents Next Next End Sub