При использовании формул поиска в Excel (таких как VLOOKUP, XLOOKUP или INDEX / MATCH) цель состоит в том, чтобы найти совпадающее значение и получить это значение (или соответствующее значение в той же строке / столбце) в качестве результата.

Но в некоторых случаях вместо получения значения может потребоваться, чтобы формула возвращала адрес ячейки значения.

Это может быть особенно полезно, если у вас большой набор данных и вы хотите узнать точное положение результата формулы поиска. В Excel есть несколько функций, которые предназначены именно для этого.

В этом руководстве я покажу вам, как найти и вернуть адрес ячейки вместо значения в Excel с помощью простых формул.

Поиск и возврат адреса ячейки с помощью функции ADDRESS

Функция ADDRESS в MS Excel предназначена именно для этого. Она берет строку и номер столбца и дает вам адрес ячейки этой конкретной ячейки.

Ниже приведен синтаксис функции ADDRESS:

=ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

где:

  • row_num: номер строки ячейки, для которой вы хотите получить адрес ячейки
  • column_num: номер столбца ячейки, для которой вы хотите адрес
  • [abs_num]: необязательный аргумент, в котором вы можете указать, хотите ли вы, чтобы ссылка на ячейку была абсолютной, относительной или смешанной.
  • [a1]: необязательный аргумент, в котором вы можете указать, хотите ли вы использовать ссылку в стиле R1C1 или в стиле A1.
  • [sheet_text]: необязательный аргумент, в котором вы можете указать, хотите ли вы добавить имя листа вместе с адресом ячейки или нет.

Теперь давайте возьмем пример и посмотрим, как это работает.

Предположим, что есть набор данных, как показано ниже, где у меня есть идентификатор сотрудника, его имя и его отдел, и я хочу быстро узнать адрес ячейки, в которой находится отдел для идентификатора сотрудника KR256.

Ниже приведена формула, которая сделает это:

=ADDRESS(MATCH("KR256",A1:A20,0),3)

В приведенной выше формуле я использовал функцию MATCH, чтобы узнать номер строки, содержащей данный идентификатор сотрудника. И поскольку отдел находится в столбце C, я использовал 3 в качестве второго аргумента.

Эта формула отлично работает, но у нее есть один недостаток — она ​​не будет работать, если вы добавите строку над набором данных или столбец слева от набора данных.

Это потому, что, когда я указываю второй аргумент (номер столбца) как 3, он жестко запрограммирован и не изменится.

Если я добавлю какой-либо столбец слева от набора данных, формула будет считать 3 столбца с начала рабочего листа, а не с начала набора данных.

Итак, если у вас есть фиксированный набор данных и вам нужна простая формула, это сработает.

Но если вам нужно, чтобы это было более надежным, используйте тот, который описан в следующем разделе.

Поиск и возврат адреса ячейки с помощью функции CELL

Хотя функция ADDRESS была создана специально для предоставления вам ссылки на ячейку с указанным номером строки и столбца, есть еще одна функция, которая также делает это.

Это называется функцией CELL (и она может дать вам гораздо больше информации о ячейке, чем функция ADDRESS).

Ниже приведен синтаксис функции CELL:

=CELL(info_type, [reference])

где:

  • info_type : информация о нужной ячейке. Это может быть адрес, номер столбца, имя файла и т. Д.
  • [reference] : необязательный аргумент, в котором вы можете указать ссылку на ячейку, для которой вам нужна информация о ячейке.

Теперь давайте посмотрим на пример, в котором вы можете использовать эту функцию для поиска и получения ссылки на ячейку.

Предположим, у вас есть набор данных, показанный ниже, и вы хотите быстро узнать адрес ячейки, в которой находится отдел для идентификатора сотрудника KR256.

Ниже приведена формула, которая сделает это:

=CELL("address", INDEX($A$1:$D$20,MATCH("KR256",$A$1:$A$20,0),3))

Приведенная выше формула довольно проста.

Я использовал формулу INDEX в качестве второго аргумента, чтобы получить отдел для идентификатора сотрудника KR256.

А затем просто обернул его в функцию CELL и попросил вернуть адрес ячейки с этим значением, которое я получаю из формулы INDEX.

Вот секрет того, почему это работает: формула INDEX возвращает значение подстановки, когда вы даете ей все необходимые аргументы. Но в то же время он также вернет ссылку на эту результирующую ячейку.

В нашем примере формула INDEX возвращает «Продажи» в качестве результирующего значения, но в то же время вы также можете использовать ее, чтобы дать вам ссылку на ячейку этого значения вместо самого значения.

Обычно, когда вы вводите формулу INDEX в ячейку, она возвращает значение, потому что это именно то, что от нее ожидается. Но в сценариях, где требуется ссылка на ячейку, формула INDEX даст вам ссылку на ячейку.

В этом примере это именно то, что он делает.

И самое лучшее в использовании этой формулы — это то, что она не привязана к первой ячейке на листе. Это означает, что вы можете выбрать любой набор данных (который может быть где угодно на листе), использовать формулу INDEX для регулярного поиска, и он все равно даст вам правильный адрес.

А если вы вставите дополнительную строку или столбец, формула изменится соответствующим образом, чтобы дать вам правильный адрес ячейки.

Итак, это две простые формулы, которые вы можете использовать для поиска и возврата адреса ячейки вместо значения в Excel .

Надеюсь, вы нашли этот урок полезным.

Как вернуть адрес ячейки вместо значения в Excel (простая формула)