是否有办法在命名范围(表)中查找包含某些值的单元格的行?
我从C4到D10有一个名为“ Table1”的表。我想返回c列中包含值“ CCC”的单元格的行号。此值位于第三行(C6) ..因此,我希望代码返回数字“ 3”,这意味着表“ Table1”中的第三行,而不是数字“ 6”,这意味着它在单元格“ C6”中找到。
谢谢。
答案 0 :(得分:3)
我错过了有关“相对于桌子”的部分,但这更容易...
以下是可行的方法:
=MATCH("CCC",Table1,0)
或者,直接引用单元格范围而不是表格:
=MATCH("CCC",C4:C10,0)
如果您想知道列C 中第一个单元格的行号,该单元格包含 CCC
< / strong>,则可以在工作表公式或VBA中使用MATCH
函数。
在工作表上:
=MATCH("CCC",C:C,0)
或在VBA中:
WorksheetFunction.Match("CCC",Range("C:C"),0)
由于您已识别列,因此它在表中的事实无关紧要。
顺便说一句,我可以想到至少有六种其他方式来同样容易地获取相同数据。
以下是直接引用该表的地方:
=ROW(INDEX(Table1,MATCH("CCC",Table1,0)))
...和更多变化:
=MATCH("CCC",C4:C10,0)-1+ROW(C4)
或
=MATCH("CCC",Table1,0)-1+ROW(Table1)
请注意,
MATCH
和VLOOKUP
之间的最大区别是MATCH
返回了 range对象 ,而VLOOKUP
仅返回匹配单元格的 值 ,因此不适合此类任务。
MATCH
Function WorksheetFunction.Match
Method (Excel) INDEX
Function