Змест
Падручнік тлумачыць вектарныя і масіўныя формы функцыі LOOKUP Excel і дэманструе тыповае і нетрывіяльнае выкарыстанне LOOKUP у Excel з прыкладамі формул.
Адно з найбольш частых пытанняў кожны карыстальнік Excel час ад часу пытаецца: « Як мне знайсці значэнне на адным аркушы і перанесці адпаведнае значэнне на іншы? ». Вядома, можа быць шмат варыяцый асноўнага сцэнарыя: вы можаце шукаць найбольш блізкае супадзенне, а не дакладнае супадзенне, вы можаце шукаць вертыкальна ў слупку або гарызантальна ў радку, ацэньваць адзін або некалькі крытэраў і г.д. Аднак , сутнасць тая ж - вам трэба ведаць, як шукаць у Excel.
Microsoft Excel забяспечвае некалькі розных спосабаў пошуку. Для пачатку давайце вывучым функцыю, прызначаную для апрацоўкі найпростых выпадкаў вертыкальнага і гарызантальнага пошуку. Як вы можаце лёгка здагадацца, я кажу пра функцыю LOOKUP.
Функцыя LOOKUP Excel - сінтаксіс і выкарыстанне
На самым базавым узроўні функцыя LOOKUP у Excel шукае значэнне ў адным слупку або радку і вяртае адпаведнае значэнне з той жа пазіцыі ў іншым слупку або радку.
У Excel ёсць дзве формы LOOKUP: Вектар і Масіў . Кожная форма тлумачыцца ніжэй.
Функцыя Excel LOOKUP - вектарная форма
У гэтым кантэксце вектар адносіцца да дыяпазону з адным слупком або адным радком.формула робіць сваю працу:
=LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c";"d";"t"}, {"Completed";"Development";"Testing"})
Як паказана на скрыншоце ніжэй, формула атрымлівае статус праекта з табліцы пошуку і замяняе абрэвіятуру адпаведным словам:
Парада. Калі вы выкарыстоўваеце Excel 2016 як частку падпіскі на Office 365, вы можаце выкарыстоўваць функцыю SWITCH для падобных мэтаў.
Я спадзяюся, што гэтыя прыклады пралілі святло на тое, як працуе функцыя LOOKUP. Каб лепш зразумець формулы, вы можаце спампаваць гэтыя прыклады Excel Lookup. У наступным уроку мы абмяркуем некалькі іншых спосабаў выканання пошуку ў Excel і растлумачым, якую формулу пошуку лепш за ўсё выкарыстоўваць у якой сітуацыі. Я дзякую вам за чытанне і спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!
Такім чынам, вы выкарыстоўваеце вектарную форму LOOKUP для пошуку ў адным радку або адным слупку даных для пэўнага значэння і выцягвання значэння з той жа пазіцыі ў іншым радку або слупку.Сінтаксіс вектарнага пошуку такі наступным чынам:
LOOKUP(lookup_value, lookup_vector, [result_vector])Дзе:
- Lookup_value (абавязкова) - значэнне для пошуку. Гэта можа быць лік, тэкст, лагічнае значэнне TRUE або FALSE або спасылка на ячэйку, якая змяшчае значэнне пошуку.
- Вектар_прагляду (абавязкова) - адзін радок або адзін слупок дыяпазон для пошуку. Ён павінен быць адсартаваны ў парадку ўзрастання .
- Вектар_вынікаў (неабавязкова) - дыяпазон з адным радком або адным слупком, з якога вы хочаце вярнуць вынік - значэнне у той жа пазіцыі, што і значэнне пошуку. Вектар_вынікаў павінен быць таго ж памеру , што і дыяпазон_прагляду . Калі апусціць, вынік вяртаецца з lookup_vector .
Наступныя прыклады дэманструюць дзве простыя формулы пошуку ў дзеянні.
Формула вертыкальнага пошуку - пошук у адным- дыяпазон слупкоў
Дапусцім, у вас ёсць спіс прадаўцоў у слупку D (D2:D5) і прадукты, якія яны прадалі, у слупку E (E2:E5). Вы ствараеце прыборную панэль, дзе вашы карыстальнікі будуць уводзіць імя прадаўца ў B2, і вам патрэбна формула, якая выцягне адпаведны прадукт у B3. Задача можа быць лёгка выканана з дапамогай гэтай формулы:
=LOOKUP(B2,D2:D5,E2:E5)
Каб лепш зразумецьаргументы, калі ласка, паглядзіце на гэты скрыншот:
Формула гарызантальнага пошуку - пошук у дыяпазоне аднаго радка
Калі вашы зыходныя даныя маюць гарызантальны макет, г. зн. запісы знаходзяцца ў радках, а не ў слупках, а затым падайце дыяпазон у адзін радок у аргументах lookup_vector і result_vector , як гэта:
=LOOKUP(B2,E1:H1,E2:H2)
У другой частцы гэтага падручніка вы знойдзеце яшчэ некалькі прыкладаў Excel Lookup, якія вырашаюць больш складаныя задачы. Тым часам запомніце наступныя простыя факты, якія дапамогуць вам абыйсці магчымыя падводныя камяні і прадухіліць распаўсюджаныя памылкі.
5 рэчаў, якія вы павінны ведаць пра вектарную форму Excel LOOKUP
- Значэнні ў lookup_vector павінен быць адсартаваны ў парадку ўзрастання , г.зн. ад найменшага да найбольшага або ад А да Я, у адваротным выпадку ваша формула пошуку ў Excel можа вярнуць памылку або няправільны вынік. Калі вам трэба выканаць пошук па несартаваных дадзеных , выкарыстоўвайце альбо INDEX MATCH, альбо OFFSET MATCH.
- Lookup_vector і result_vector павінны быць адзін радок або адзін слупок дыяпазон аднолькавага памеру.
- Функцыя LOOKUP у Excel неадчувальная да рэгістра , яна не адрознівае верхні і малы тэкст.
- Прагляд у Excel працуе на аснове прыблізнага супадзення . Дакладней, формула пошуку спачатку шукае дакладнае супадзенне. Калі ён не можа знайсці дакладнае значэнне пошуку, ён шукае наступнае найменшаезначэнне , гэта значыць самае вялікае значэнне ў lookup_vector , якое меншае або роўнае lookup_value .
Напрыклад, калі ваша значэнне пошуку роўна "5", формула будзе шукаць яго першым. Калі "5" не знойдзены, ён будзе шукаць "4". Калі "4" не знойдзена, ён будзе шукаць "3" і гэтак далей.
- Калі lookup_value меншае за найменшае значэнне ў lookup_vector , Excel LOOKUP вяртае памылку #N/A.
Функцыя Excel LOOKUP - форма масіва
Форма масіва функцыі LOOKUP шукае зададзенае значэнне ў першы слупок або радок масіва і здабывае значэнне з той жа пазіцыі ў апошнім слупку або радку масіва.
Пошук масіва мае 2 аргументы, абодва з якіх абавязковыя:
LOOKUP( lookup_value, array)Дзе:
- Lookup_value - значэнне для пошуку ў масіве.
- Масіў - a дыяпазон ячэек, у якіх вы хочаце шукаць пошукавае значэнне. Значэнні ў першым слупку або радку масіва (у залежнасці ад таго, робіце вы V-пошук або H-пошук) павінны быць адсартаваны ў парадку ўзрастання. Вялікія і малыя літары лічацца эквівалентнымі.
Напрыклад, з імёнамі прадаўцоў у першым слупку масіва (слупок A) і датамі замовы ў апошнім слупку масіва (слупок C) , вы можаце выкарыстоўваць наступную формулу для пошуку па імені і атрымання адпаведнай даты:
=LOOKUP(B2,D2:F5)
Заўвага. Форма масіваФункцыю Excel LOOKUP не варта блытаць з формуламі масіваў Excel. Нягледзячы на тое, што ён працуе з масівамі, LOOKUP па-ранейшаму застаецца звычайнай формулай, якая завяршаецца звычайным спосабам націскам клавішы Enter.
4 рэчы, якія вы павінны ведаць пра форму масіва ў Excel LOOKUP
- Калі масіў мае больш радкоў, чым слупкоў або аднолькавую колькасць слупкоў і радкоў , формула пошуку шукае ў першым слупку (гарызантальны пошук).
- Калі масіў мае больш слупкоў, чым радкоў , Excel LOOKUP шукае ў першым радку (вертыкальны пошук). ).
- Калі формула не можа знайсці пошукавае значэнне, яна выкарыстоўвае самае вялікае значэнне ў масіве, якое меншае або роўнае значэнні пошуку .
- Калі значэнне пошуку меншае за найменшае значэнне ў першым слупку або радку масіва (у залежнасці ад памераў масіва), формула пошуку вяртае памылку #N/A.
Важная заўвага! Функцыянальнасць формы масіва LOOKUP у Excel абмежаваная, і мы не рэкамендуем яе выкарыстоўваць. Замест гэтага вы можаце выкарыстоўваць функцыі VLOOKUP або HLOOKUP, якія з'яўляюцца палепшанымі версіямі для вертыкальнага і гарызантальнага пошуку адпаведна.
Як выкарыстоўваць функцыю LOOKUP у Excel - прыклады формул
Хоць існуюць больш магутныя функцыі для пошуку і супастаўлення ў Excel (што з'яўляецца прадметам нашага наступнага падручніка), LOOKUP спатрэбіцца ў многіх сітуацыях, і наступныя прыкладыпрадэманстраваць пару нетрывіяльных ужыванняў. Калі ласка, звярніце ўвагу, што ўсе прыведзеныя ніжэй формулы выкарыстоўваюць вектарную форму Excel LOOKUP.
Шукайце значэнне ў апошняй непустой ячэйцы ў слупку
Калі ў вас ёсць слупок з дынамічна запаўняемым даных, вы можаце выбраць апошні дададзены запіс, г.зн. атрымаць апошнюю непустую ячэйку ў слупку. Для гэтага выкарыстоўвайце наступную агульную формулу:
LOOKUP(2, 1/( column ""), column )У прыведзенай вышэй формуле ўсе аргументы, акрамя спасылка на слупок з'яўляецца канстантай. Такім чынам, каб атрымаць апошняе значэнне ў пэўным слупку, вам проста трэба даць спасылку на адпаведны слупок. Напрыклад, каб атрымаць значэнне апошняй непустой ячэйкі ў слупку A, выкарыстоўвайце наступную формулу:
=LOOKUP(2, 1/(A:A""), A:A)
Каб атрымаць апошняе значэнне з іншых слупкоў, змяніце спасылкі на слупкі, як паказана на скрыншоце ніжэй - першая спасылка - гэта слупок, які трэба праверыць на наяўнасць пустых/непустых вочак, а другая спасылка - гэта слупок, з якога вяртаецца значэнне:
Як гэтая формула працуе
У аргумент lookup_value вы ўводзіце 2 або любы іншы лік, большы за 1 (хутка вы зразумееце чаму).
У пошукавы_вектар аргумент, вы змяшчаеце гэты выраз: 1/(A:A"")
- Спачатку вы выконваеце лагічную аперацыю A:A"", якая параўноўвае кожную ячэйку ў слупку A з пустым радком і вяртае TRUE для пустых вочак і FALSE для непустых вочак. У сту вышэйпрыведзеным прыкладзе, формула ў F2 вяртае гэты масіў: {TRUE;TRUE;TRUE;TRUE;FALSE...}
- Затым вы дзеліце лік 1 на кожны элемент масіва вышэй. Калі TRUE прыраўноўваецца да 1 і FALSE прыраўноўваецца да 0, вы атрымаеце новы масіў, які складаецца з 1 і #DIV/0! памылкі (вынік дзялення на 0), і гэты масіў выкарыстоўваецца як вектар_прагляду . У гэтым прыкладзе гэта {1;1;1;1;#DIV/0!...}
А цяпер, як атрымліваецца, што формула вяртае апошняе непустое значэнне ў слупку , улічваючы, што lookup_value не адпавядае ніводнаму элементу lookup_vector ? Ключ да разумення логікі ў тым, што Excel LOOKUP шукае з прыблізным супадзеннем, г.зн. калі дакладнае значэнне пошуку не знойдзена, яно супадае з наступным самым вялікім значэннем у lookup_vector , якое меншае за lookup_value . У нашым выпадку lookup_value роўна 2, а найбольшае значэнне ў lookup_vector роўна 1, таму LOOKUP адпавядае апошняму 1 у масіве, які з'яўляецца апошняй непустой ячэйкай!
У аргуменце result_vector вы спасылаецеся на слупок, з якога хочаце вярнуць значэнне, і ваша формула пошуку атрымае значэнне ў той жа пазіцыі, што і значэнне пошуку.
Савет. Калі вы хочаце атрымаць нумар радка з апошнім значэннем, выкарыстоўвайце функцыю ROW, каб атрымаць яго. Напрыклад: =LOOKUP(2,1/(A:A""),ROW(A:A))
Шукайце значэнне ў апошняй непустой ячэйцы ў радку
Калі вашы зыходныя даныя размешчаны радкамі, ачым слупкі, вы можаце атрымаць значэнне апошняй непустой ячэйкі з дапамогай гэтай формулы:
LOOKUP(2, 1/( радок ""), радок )Фактычна, гэтая формула - не што іншае, як невялікая мадыфікацыя папярэдняй формулы, з той толькі розніцай, што вы выкарыстоўваеце спасылку на радок замест спасылкі на слупок.
Напрыклад, каб атрымаць значэнне апошняга непустая ячэйка ў радку 1, выкарыстоўвайце наступную формулу:
=LOOKUP(2, 1/(1:1""), 1:1)
На наступным скрыншоце паказаны вынік:
Атрымаць значэнне звязаная з апошнім запісам у радку
З дапамогай крыху крэатыўнасці прыведзеную вышэй формулу можна лёгка наладзіць для вырашэння іншых падобных задач. Напрыклад, яго можна выкарыстоўваць для атрымання значэння, звязанага з апошнім асобнікам пэўнага значэння ў радку. Гэта можа здацца трохі незразумелым, але наступны прыклад зробіць рэчы лягчэйшымі для разумення.
Выкажам здагадку, што ў вас ёсць зводная табліца, у якой слупок A змяшчае імёны прадаўцоў, а наступныя слупкі ўтрымліваюць нейкія даныя за кожны месяц. У гэтым прыкладзе ячэйка змяшчае "так", калі дадзены прадавец заключыў хаця б адну здзелку ў дадзеным месяцы. Наша мэта - атрымаць месяц, звязаны з апошнім запісам "так" у радку.
Задача можа быць вырашана з дапамогай наступнай формулы LOOKUP:
=LOOKUP(2, 1/(B2:H2="yes"), $B$1:$H$1)
Логіка формулы ў асноўным такая ж, як апісана ў першым прыкладзе. Розніца ў тым, што вы выкарыстоўваеце аператар «роўна» («=») замест «не роўна».да" ("") і працаваць з радкамі замест слупкоў.
На наступным здымку экрана дэманструецца вынік:
Пошук як альтэрнатыва ўкладзеным IF
Ва ўсіх формулах пошуку, якія мы абмяркоўвалі дагэтуль, аргументы вектар_прагляду і вектар_вынікаў былі прадстаўлены спасылкамі на дыяпазоны. Аднак сінтаксіс функцыі ПАСКРОСІ ў Excel дазваляе забяспечваючы вектары ў выглядзе канстанты вертыкальнага масіва, што дазваляе паўтарыць функцыянальнасць укладзенага IF з дапамогай больш кампактнай і зручнай для чытання формулы.
Дапусцім, у вас ёсць спіс скарачэнняў у слупок A, і вы хочаце замяніць іх поўнымі назвамі, дзе "C" азначае "Завершана", "D" - "Распрацоўка", а "T" - "Тэставанне". Задача можа быць выканана з дапамогай наступнай укладзенай функцыі IF:
=IF(A2="c", "Completed", IF(A2="d", "Development", IF(A2="t", "Testing", "")))
Або з дапамогай гэтай формулы пошуку:
=LOOKUP(A2, {"c";"d";"t"}, {"Completed";"Development";"Testing"})
Як паказана ў на скрыншоце ніжэй абедзве формулы даюць аднолькавыя вынікі:
Заўвага. Каб формула пошуку Excel працавала правільна, значэнні ў lookup_array павінны быць адсартаваны ад А да Я або ад найменшага да вялікага.
Калі вы выцягваеце значэнні з табліцы пошуку, вы можаце ўбудаваць функцыю Vlookup у аргумент lookup_value , каб атрымаць адпаведнасць.
Калі выказаць здагадку, што пошукавае значэнне знаходзіцца ў ячэйцы E2, табліца пошуку - гэта A2:C7, а слупок, які цікавіць ("Статус"), з'яўляецца 3-м слупком у табліцы пошуку, наступнае