Использование содержимого ячейки для ссылки на таблицу

463
Bandersnatch

Я создал таблицы данных для каждой комбинации "Провинция", "Год", "Тип" и назвал каждую таблицу соответственно (например, AB2015P или NL2012B), и я пытаюсь найти соотношения на другом листе, используя данные в таблицах, и Я не хочу вручную вводить каждое имя таблицы.

В моих таблицах отношений есть Провинция в столбце A, Год в столбце B и Тип в столбце C. Я хочу сделать vlookup, который просматривает значение «работа» в соответствующей таблице по первым трем столбцам, я попытался объединить с поместив три столбца в четвертый столбец, D, но я не могу распознать его как таблицу. Я пробовал эти формулы:

=Vlookup("work", A2&B2&C2, 2, false)  =vlookup("work", D2, 2, false) =VLOOKUP("work","'"&A2&"'"&"'"&B2&"'"&"'"&C2&"'", 3, FALSE) 

или какую-либо добавку, о которой я мог подумать, но я не могу заставить Excel распознать его как имя таблицы.

0

2 ответа на вопрос

1
CharlieRB

Первым делом; Я делаю предположение, что вы используете VLOOKUPнеправильно. VLOOKUPищет самый левый столбец table_arrayдля lookup_value. В вашем случае его не найдут, "work"потому что я предполагаю, что он находится в 3-м столбце таблицы.

У вас есть два варианта.

  1. Переместить Typeколонку полностью влево
  2. Используйте MATCH/INDEXвместоVLOOKUP

Вторая вещь; во время ввода формулы, если вы начнете вводить имя таблицы, она должна появиться в контекстном меню для выбора. Это будет выглядеть так;

=VLOOKUP("work", AB2015P, 2,FALSE) 
Кстати, @Charlie, обида не имела в виду, но я не понял из его вопроса, что «работа» была в третьей колонке или где-то в этом отношении. Я просто предположил, что он знает, как использовать VLOOKUP, и у него проблемы с сборкой имен таблиц и получением Excel, чтобы знать, что он хочет делать. Постоянная борьба за всех нас. :-) Bandersnatch 6 лет назад 0
Было бы яснее, если бы он сказал это так: «Я хочу сделать vlookup, который ищет значение« работа »в * tablename *, соответствующем первым трем столбцам» ... таблицы отношений. Bandersnatch 6 лет назад 0
@Bandersnatch Спасибо за ваш вклад. Да, было бы неплохо знать наверняка, но мы не знаем. В результате дедукции слово «работа» вряд ли будет словом «провинция» и «год». Итак, я сделал предположение «работа» является «типом». Очевидно, что OP не знает, как использовать функцию `VLOOKUP` из-за неправильного синтаксиса. `VLOOKUP` не имеет возможности разбирать значения, которые были объединены в одно значение. `VLOOKUP` ищет диапазон ячеек. Если `lookup_value` не соответствует объединенным значениям, он не будет функционировать. CharlieRB 6 лет назад 0
Привет, Чарли, я вижу, откуда ты. Я предположил, что в одной таблице содержатся три части имен таблиц (таблица отношений), в которых также будут храниться вычисления с использованием vlookup и многие другие таблицы данных (именованные таблицы), которые будут использоваться в vlookup. Но, возможно, ты прав. В любом случае, было приятно поговорить с вами. Bandersnatch 6 лет назад 0
1
Bandersnatch

Используйте INDIRECT ()

=VLOOKUP("work",INDIRECT(A2&B2&C2),2,FALSE) 

Функция INDIRECT () преобразует текстовую строку в ссылку на ячейку или диапазон.

Я бы попытался объединить 3 части ссылки на таблицу, и, похоже, это должно было сработать, но в этом случае Excel интерпретирует его как текст, что недопустимо в этой позиции функции VLOOKUP (). То же самое произойдет, если вы введете фактическое имя таблицы в кавычках, то есть «AB2015P».

Таким образом, использование функции INDIRECT () здесь преобразует текстовую строку в фактическую ссылку на диапазон.

Вот некоторая дополнительная информация о INDIRECT (), и этот сайт также является ценным общим ресурсом для советов и методов Excel.

Вы можете добавить референта для его изучения, чтобы сделать этот ответ лучше, чтобы кто-то действительно мог что-то выучить. Pimp Juice IT 6 лет назад 1
К вашему сведению ... Я имел в виду ссылку и +1 для другого решения. Pimp Juice IT 6 лет назад 0

Похожие вопросы