vba - получить номер строки ячейки с определенным значением в именованном диапазоне - PullRequest
0 голосов
/ 06 октября 2018

Есть ли способ найти строку ячейки, содержащей определенное значение в именованном диапазоне (таблица)?

У меня есть таблица с именем "Table1" от C4 до D10. Я хочу вернутьномер строки в столбце c, содержащей значение «CCC». Это значение находится в третьей строке (C6). Поэтому я хочу, чтобы код возвращал число «3», что означает третью строку в таблице.«Таблица1», а не число «6» означает, что он находится в ячейке «C6».

Заранее спасибо.

1 Ответ

0 голосов
/ 06 октября 2018

Редактировать:

Я пропустил часть о "относительно таблицы", но это еще проще ...

Вот то, что будет работать:

=MATCH("CCC",Table1,0)

или, ссылаясь непосредственно на диапазон ячеек вместо таблицы:

=MATCH("CCC",C4:C10,0)

Оригинальный ответ:

Если вы хотитезнать номер строки первой ячейки в столбце C , который содержит CCC, вы можете использовать функцию MATCH,либо в формуле листа, либо в VBA.

На листе:

=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 возвращает объект диапазона , тогда как VLOOKUP возвращает только значение соответствующей ячейки, и, следовательно, не подходит для такой задачи.


Дополнительная информация:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...