如何在Google Sheets中通过行号差值计算事件间隔时长
在Google Sheets中计算指定值首次与末次出现行号的差值
要实现你需要的计算,核心是先获取目标值首次和末次出现的行号,再做减法。你之前用的VLOOKUP返回的是匹配单元格的值,不是行号,所以需要替换成以下函数组合:
1. 获取首次出现的行号
使用MATCH函数,它会返回目标值在指定区域中第一个匹配项的位置:
=MATCH("brett", A:A, 0)
"brett"是你要查找的目标值A:A是目标列范围(如果是特定范围比如A2:A105,直接替换即可)0表示精确匹配
在你的例子中,这个公式会返回1,也就是brett首次出现的行号。
2. 获取末次出现的行号
使用LOOKUP结合ROW函数,定位到最后一个匹配项的行号:
=LOOKUP(2, 1/(A:A="brett"), ROW(A:A))
1/(A:A="brett")会生成一个数组,匹配"brett"的单元格对应值为1,不匹配的为错误值LOOKUP(2, ...)会忽略错误值,找到最后一个1对应的行号,也就是末次出现的行号(例子中返回4)
3. 计算行号差值
把两个公式相减,直接得到间隔:
=LOOKUP(2, 1/(A:A="brett"), ROW(A:A)) - MATCH("brett", A:A, 0)
你的例子中,这个公式会返回4-1=3,正是你需要的结果。
针对特定范围(如A2:A105)的调整
如果你的数据范围是A2:A105,注意MATCH返回的是相对位置(比如A2是第1位),需要转换成实际行号:
=LOOKUP(2, 1/(A2:A105="brett"), ROW(A2:A105)) - (MATCH("brett", A2:A105, 0) + ROW(A2)-1)
ROW(A2)-1是为了把相对位置转换成实际行号(A2的行号是2,所以加1)
内容的提问来源于stack exchange,提问作者Elba Keys
相关产品推荐
相关产品推荐

