Функцыя Excel LOOKUP з прыкладамі формул

  • Падзяліцца Гэтым
Michael Brown

Падручнік тлумачыць вектарныя і масіўныя формы функцыі 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

    1. Значэнні ў lookup_vector павінен быць адсартаваны ў парадку ўзрастання , г.зн. ад найменшага да найбольшага або ад А да Я, у адваротным выпадку ваша формула пошуку ў Excel можа вярнуць памылку або няправільны вынік. Калі вам трэба выканаць пошук па несартаваных дадзеных , выкарыстоўвайце альбо INDEX MATCH, альбо OFFSET MATCH.
    2. Lookup_vector і result_vector павінны быць адзін радок або адзін слупок дыяпазон аднолькавага памеру.
    3. Функцыя LOOKUP у Excel неадчувальная да рэгістра , яна не адрознівае верхні і малы тэкст.
    4. Прагляд у Excel працуе на аснове прыблізнага супадзення . Дакладней, формула пошуку спачатку шукае дакладнае супадзенне. Калі ён не можа знайсці дакладнае значэнне пошуку, ён шукае наступнае найменшаезначэнне , гэта значыць самае вялікае значэнне ў lookup_vector , якое меншае або роўнае lookup_value .

      Напрыклад, калі ваша значэнне пошуку роўна "5", формула будзе шукаць яго першым. Калі "5" не знойдзены, ён будзе шукаць "4". Калі "4" не знойдзена, ён будзе шукаць "3" і гэтак далей.

    5. Калі 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

    1. Калі масіў мае больш радкоў, чым слупкоў або аднолькавую колькасць слупкоў і радкоў , формула пошуку шукае ў першым слупку (гарызантальны пошук).
    2. Калі масіў мае больш слупкоў, чым радкоў , Excel LOOKUP шукае ў першым радку (вертыкальны пошук). ).
    3. Калі формула не можа знайсці пошукавае значэнне, яна выкарыстоўвае самае вялікае значэнне ў масіве, якое меншае або роўнае значэнні пошуку .
    4. Калі значэнне пошуку меншае за найменшае значэнне ў першым слупку або радку масіва (у залежнасці ад памераў масіва), формула пошуку вяртае памылку #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-м слупком у табліцы пошуку, наступнае

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.