Съдържание
Ако търсите начини да използвате комбинация от ИНДИРЕКТНО и Функции VLOOKUP в Excel , тогава тази статия ще ви бъде полезна. Функцията INDIRECT в Excel помага на потребителите да заключват определената клетка във формула. Следователно, без да променяме самата формула, можем да променяме препратките към клетките във формулата. Понякога, докато работим с множество бази данни, се налага да извършваме динамичен VLOOKUP в тези бази данни за стойности. Можем да направим това лесно с комбинацията от ИНДИРЕКТЕН и Функция VLOOKUP . В тази статия ще научим как да извършим НЕПРЯКО ПРЕГЛЕЖДАНЕ формула.
Бърз преглед
Нека направим кратък преглед на днешната ни задача.
Изтегляне на работна тетрадка за практика
Комбинация от INDIRECT и VLOOKUP.xlsx2020.xlsx
2021.xlsx
3 примера за използване на функцията VLOOKUP с функцията INDIRECT в Excel
Тук имаме няколко списъка с модели на различни мобилни компании за 2017 , 2018 , 2019 , 2020 , и 2021 в различни листове. Използвайки комбинация от тези функции, ще извлечем желаните от нас стойности от тези листове в нов лист.
За създаването на тази статия използвахме Microsoft Excel 365 версия . Въпреки това можете да използвате всяка друга версия по ваше желание.
Пример-1: Извличане на стойности от различни листове с помощта на функциите INDIRECT и VLOOKUP
Ето един сценарий за използване на комбинацията от тези функции. Представете си, че имате задание, в което са ви дадени имената на някои мобилни телефони и данните за техния модел от 2017-2021 . Сега трябва да съберете тези имена и техния модел систематично в нов работен лист. INDIRECT VLOOKUP Формулата може лесно да се справи с това. Нека се научим!
Създадохме таблица в нов работен лист. Тази таблица съдържа "Мобилно име" колона и съответната година "2017 г.", "2018 г.", "2019 г.", "2020 г." и "2021 г." Трябва да извлечем модела от тези години от съответните им листове за дадената "Мобилно име" .
Стъпки :
- Сега ще приложим "ИНДИРЕКТНО ПРЕГЛЕЖДАНЕ" формула.
Общата формула е,
=VLOOKUP(lookup_value, INDIRECT("Table_Array"), col_index,0)
- Сега вмъкнете стойностите във формулата в клетката C5 и крайната формула е
=VLOOKUP($B5,INDIRECT("'"&C$4&"'!"& "B5:C9"),2,FALSE)
Разбивка на формулата
- Lookup_value е $B4
- Таблица_масив се създава с помощта на тази функция INDIRECT("'"&C$3&"'!"& "B4:C8"). Смесената референция C$3 се отнася до заглавието на колоната (2017) която съвпада с имената на работните листове. "Оператор за конкатенация (&)" се използва за присъединяване на символа за единична кавичка( "&C$3&") За да създадете конкретна препратка към работен лист, въведете "Възклицателен знак (!)" се присъединява от дясната страна на формулата. Резултатът от това обединяване е "Текст", който ще се използва в "INDIRECT" функция като препратка.
- Column_index_number е "2".
- Искаме Точно съвпадение (FALSE) .
- Натиснете ВЪВЕДЕТЕ и плъзнете надолу и надясно Дръжка за пълнене инструмент.
По този начин ще можете да извлечете всички модели на различните мобилни компании според годините им.
Пример-2: Получаване на стойности от различни листове с помощта на функциите INDIRECT, VLOOKUP, LEFT и RIGHT
В този раздел имаме различни имена на мобилни компании, обединени заедно с техните години. Нашата задача е да потърсим съответното име на модела на тази мобилна компания за конкретната година. За да направим това, ще използваме комбинация от LEFT , ПРАВИЛНО , НАМЕРЕТЕ , ИНДИРЕКТНО , и Функции VLOOKUP .
Стъпки :
- Приложете следната формула в клетка C5 .
=VLOOKUP(LEFT(B5, FIND(" ", B5)-1), INDIRECT("'"&RIGHT(B5,4)&"'!"& "B5:C9"),2, FALSE)
Разбивка на формулата
- FIND(" ", B5) → става
- FIND(" ", "iPhone 2017") → намира позицията на интервала в този текстов низ
- Изход → 7
- FIND(" ", "iPhone 2017") → намира позицията на интервала в този текстов низ
- НАМЕРИ(" ", B5)-1 → става
- 7-1 → 6
- LEFT(B5, FIND(" ", B5)-1) → става
- LEFT("iPhone 2017",6) → извлича първия 6 символи от този текстов низ
- Изход → "iPhone"
- LEFT("iPhone 2017",6) → извлича първия 6 символи от този текстов низ
- ПРАВИЛНО(B5,4) → става
- RIGHT("iPhone 2017",4) → извлича последния 4 символи от дясната страна на този текстов низ.
- Изход → 2017
- RIGHT("iPhone 2017",4) → извлича последния 4 символи от дясната страна на този текстов низ.
- INDIRECT("'"&RIGHT(B5,4)&"'!"& "B5:C9") → става
- INDIRECT("'"& "2017"&"'!"& "B5:C9")
- Изход → '2017'!B5:C9
- INDIRECT("'"& "2017"&"'!"& "B5:C9")
- VLOOKUP(LEFT(B5,FIND(" ",B5)-1),INDIRECT("'"&RIGHT(B5,4)&"'!"& "B5:C9"),2,FALSE) → става
- VLOOKUP("iPhone", '2017'!B5:C9,2, FALSE) → извлича името на модела за 2017 на тази компания
- Изход → iPhone X
- VLOOKUP("iPhone", '2017'!B5:C9,2, FALSE) → извлича името на модела за 2017 на тази компания
- Плъзнете надолу и надясно Дръжка за пълнене .
В крайна сметка ще имате следните модели в Модел колона.
Пример-3: Комбинация от функциите INDIRECT, VLOOKUP и TEXT
Тук разполагаме със следните два набора от данни за мобилни модели за 2020 , и 2021 И името на тези листове е... 012020 , и 012021 , представляващи януари месец от тези години.
В нов лист създадохме следната таблица. В Сериен номер в колоната имаме някои числа, въз основа на които ще търсим стойностите в други листове. А в другите колони има дати като техни заглавия, с помощта на които ще открием нашите листове.
Стъпки :
- Приложете следната формула в клетка C5 .
=VLOOKUP($B5, INDIRECT(TEXT(C$4, "MMYYYY")&"!B5:D9"),3,0)
Разбивка на формулата
- TEXT(C$4, "MMYYYY") → става
- TEXT(43831, "MMYYYY") → Функцията TEXT ще форматира стойността на датата като ММГГГГ .
- Изход → 012020
- TEXT(43831, "MMYYYY") → Функцията TEXT ще форматира стойността на датата като ММГГГГ .
- INDIRECT(TEXT(C$4, "MMYYYY")&"!B5:D9″) → става
- INDIRECT(“012020″&”!B5:D9″)
- Изход → '012020'!B5:D9
- INDIRECT(“012020″&”!B5:D9″)
- VLOOKUP($B5, INDIRECT(TEXT(C$4, "MMYYYY")&"!B5:D9″),3,0) → става
- VLOOKUP(1, '012020'!B5:D9,3,0)
- Изход → iPhone 12
- VLOOKUP(1, '012020'!B5:D9,3,0)
- Плъзнете надолу и надясно Дръжка за пълнене .
В крайна сметка ще получите следните резултати.
Как да използвате функциите INDIRECT и VLOOKUP за различни работни книги в Excel
На следващите фигури са показани 2 отделни работни книги; 2020.xlsx , и 2021.xlsx , с техните работни листове; 2020 , и 2021 . От тези работни книги ще извлечем необходимите ни стойности в нова работна книга.
За да извлечем имената на моделите, създадохме следния набор от данни в нова работна книга.
Стъпки :
- Въведете следната формула в клетка C5 .
=VLOOKUP($B5,INDIRECT("'["&C$4&".xlsx"&"]"&C$4&"'!"&"$B$5:$D$9"), 3,FALSE)
Разбивка на формулата
- "'["&C$4&".xlsx"&"]" → става
- "'["&2020&".xlsx"&"]" → Операторът амперсанд ще съедини тези низове
- Изход → "'[2020.xlsx]"
- "'["&2020&".xlsx"&"]" → Операторът амперсанд ще съедини тези низове
- INDIRECT("'["&C$4&".xlsx"&"]"&C$4&"'!"&"$B$5:$D$9″) → става
- INDIRECT("'[2020.xlsx]"&2020&"'!"&"$B$5:$D$9")
- Изход → '2020.xlsx'!$B$5:$D$9
- INDIRECT("'[2020.xlsx]"&2020&"'!"&"$B$5:$D$9")
- VLOOKUP($B5,INDIRECT("'["&C$4&".xlsx"&"]"&C$4&"'!"&"$B$5:$D$9″), 3,FALSE) → става
- VLOOKUP(1,'2020.xlsx'!$B$5:$D$9, 3,FALSE)
- Изход → iPhone 12
- VLOOKUP(1,'2020.xlsx'!$B$5:$D$9, 3,FALSE)
- Плъзнете надолу и надясно Дръжка за пълнене .
В крайна сметка извлекохме следните мобилни модели от различни работни книги.
Забележка: За да работите с тази формула, трябва да отворите всички работни книги, в противен случай може да се появи грешка.Практически раздел
За да практикувате самостоятелно, създадохме Практика в дясната страна на всеки лист.
Прочетете още: Пример за VLOOKUP между два листа в Excel
Нещата, които трябва да запомните
⏩За функцията INDIRECT , ако ref_text не е валидна препратка към клетка, функцията ще върне #REF! стойност за грешка.
⏩ Функцията VLOOKUP винаги търси стойности за търсене от най-лявата горна колона надясно. Тази функция "Никога" търси данните вляво.
⏩Когато изберете вашия "Lookup_value" трябва да използвате абсолютните препратки към клетките ($) за да блокирате масива.
Заключение
Мощната комбинация "ИНДИРЕКТНО ПРЕГЛЕЖДАНЕ" Надяваме се, че тази статия ще ви бъде полезна. Ако имате някакви мисли относно тази статия, моля, споделете ги в нашия раздел за коментари.