Return 索引中满足指定值的行号 (Excel)

Return the Row Number in an Index that meets a Specified Value (Excel)

我对 excel 中的索引有疑问。有没有办法,如果我定义一个范围(在这种情况下它将是 G2:G19),我可以 return 出现指定值的行(在这种情况下 = 100)吗?这是我的例子:

价值

G2 = 0

G3 = 0

G4 = 0

G5 = 100

G6 = 100

G7 = 100

在这个原因中我想 return “4” 因为这是第一行 100?这能做到吗?

谢谢!

假设您已经声明并打开了 Excel 对象并且您想要遍历 G 列。

startrow= 2
endrow = 19
counts = 0
Do While startrow <> endrow
 val = objWorkbook.Sheets("nameofsheet_or_index").Cells.Item(startrow, "G").Value
  If val = "100" Then
    counts = counts + 1
    Exit Do
  End If
 counts = counts + 1
 startrow = startrow + 1
Loop

就像评论中提到的 Doug 一样,最简单的方法是使用 match 函数。 More info

=MATCH(100,G2:G7,0)

它 returns 是一个相对参考,因此您最终会得到 4。

第三个数字决定要查找的匹配类型。如果您在第一部分输入一个整数,那么第三个数字应该是 1 以查找小于该值的值,0 以查找完全匹配的值,-1 以查找大于该值的值。