【问题标题】:Subtract 2 rows based on last previous encountered instance and column match根据上次遇到的实例和列匹配减去 2 行
【发布时间】:2013-02-06 22:41:44
【问题描述】:

我有一个非常大的数据集(下面的示例),我需要将(B 列主机,D 列游戏)与上次遇到相同列对值(B 列主机,D 列游戏)进行比较并减去日期列。

请注意,这对会有多个实例,但我需要相对于当前行的最后一个匹配实例,因为我已经按时间对数据进行了排序。

我想我需要一个宏/数组来循环并找到要减去的最后一个匹配项。有什么想法吗?

由于缺少积分,我无法上传图片来显示我的栏目,因此将数据粘贴到此处。

Date        Host                            Process        Game                Status   Delay

14:22:23    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d042.sim.df    DOWN    
14:22:54    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d045.sim.df    UP  
14:22:59    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d023.sim.df    DOWN    
14:23:04    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d111.sim.df    DOWN    
14:23:08    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d024.sim.df    DOWN    
14:23:16    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d122.sim.df    DOWN    
14:23:17    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d071.sim.df    DOWN    
14:23:17    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d118.sim.df    DOWN    
14:23:20    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d196.sim.df    DOWN    
14:23:21    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d045.sim.df    DOWN    
14:23:23    ns-mtc-gameserver-b-2.lb.df.com 172.29.101.10   game-d042.sim.df    DOWN    

执行单元格 A12 -A1

【问题讨论】:

    标签: excel excel-formula vba


    【解决方案1】:

    您可以将其作为数组公式输入,使用 Ctrl Shift Enter,我相信它可以满足您的需求:

    =$A2-(INDEX($A3:$A$12,MATCH(1,(($B3:$B$12=B2)*($D3:$D$12=D2)),0)))
    

    编辑:

    为了使其格式为秒,您需要切换减法的顺序,以便获得肯定的结果。 Excel 不会格式化负秒数:

    =(INDEX($A3:$A$12,MATCH(1,(($B3:$B$12=B2)*($D3:$D$12=D2)),0)))-$A2
    

    【讨论】:

    • @PeterL.,我不确定你在问什么。
    • 我的意思是,如果数据数组有 许多 个服务器的记录 - 您的解决方案会按原样工作吗?
    • @Doug,感谢您的回复。我用你的公式对一个样本进行了快速测试,它似乎有效。一旦我测试了工作表,将更新此线程。另外,有没有办法将输出格式化为秒?我试过 Text($A2-(INDEX($A3:$A$12,MATCH(1,(($B3:$B$12=B2)*($D3:$D$12=D2)),0))), “ss”)但它不起作用。有任何想法吗?再次感谢。
    • @PeterL.,似乎在我有限的测试中。匹配基于列 B 和 D - 主机和游戏。
    • @Doug 是的,没错!您“硬编码”了匹配的值,但是..请参阅我之前的评论)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    相关资源
    最近更新 更多