Содржина
Упатството ги објаснува векторските и низата форми на функцијата Excel LOOKUP и демонстрира типична и нетривијална употреба на LOOKUP во Excel со примери на формула.
Едно од најчестите прашања што секој корисник на Excel го прашува повремено е ова: „ Како да побарам вредност на еден лист и да повлечам соодветна вредност на друг лист? “. Се разбира, може да има многу варијации на основното сценарио: можеби барате најблиско совпаѓање наместо точно совпаѓање, можеби ќе сакате да пребарувате вертикално во колона или хоризонтално по ред, да оцените еден или повеќе критериуми итн. , суштината е иста - треба да знаете како да барате во Excel.
Microsoft Excel обезбедува неколку различни начини за пребарување. За почеток, ајде да научиме функција која е дизајнирана да се справи со наједноставните случаи на вертикално и хоризонтално пребарување. Како што можете лесно да погодите, зборувам за функцијата LOOKUP.
Excel LOOKUP функција - синтакса и користи
На најосновно ниво, функцијата LOOKUP во Excel бара вредност во една колона или ред и враќа соодветна вредност од истата позиција во друга колона или ред.
Постојат две форми на LOOKUP во Excel: Вектор и Низа . Секоја форма е објаснета поединечно подолу.
Excel LOOKUP функција - векторска форма
Во овој контекст, вектор се однесува на опсег од една колона или еден ред.формулата ја врши работата:
=LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c";"d";"t"}, {"Completed";"Development";"Testing"})
Како што е прикажано на сликата подолу, формулата го враќа статусот на проектот од табелата за пребарување и заменува кратенка со соодветниот збор:
Совет. Ако користите Excel 2016 како дел од претплата за Office 365, можете да ја користите функцијата SWITCH за слични цели.
Се надевам дека овие примери фрлија малку светлина на тоа како функционира функцијата LOOKUP. За подобро да ги разберете формулите, добредојдени сте да ги преземете овие примери за пребарување на Excel. Во следното упатство, ќе разговараме за неколку други начини за пребарување во Excel и ќе објасниме која формула за пребарување е најдобро да се користи во која ситуација. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!
Следствено, ја користите векторската форма на LOOKUP за да пребарувате еден ред или една колона податоци за одредена вредност и да повлечете вредност од истата позиција во друг ред или колона.Синтаксата на векторското пребарување е како што следува:
LOOKUP(побарувачка_вредност, пребарување_вектор, [вектор_резултат])Каде:
- Побарува_вредност (задолжително) - вредност за пребарување. Тоа може да биде број, текст, логичка вредност од TRUE или FALSE или упатување на ќелија што ја содржи вредноста за пребарување.
- Lookup_vector (задолжително) - еден ред или една колона опсег што треба да се пребарува. Мора да се подреди по растечки редослед .
- Вектор_резултат (изборно) - опсег од еден ред или една колона од кој сакате да го вратите резултатот - вредност во иста позиција како и вредноста за пребарување. Векторот_резултат мора да има иста големина како опсегот_пробај . Ако се испушти, резултатот се враќа од lookup_vector .
Следниве примери покажуваат две едноставни формули за пребарување во акција.
Формула за вертикално пребарување - пребарување во едно- опсег на колони
Да речеме, имате список на продавачи во колоната D (D2:D5) и производите што тие ги продавале во колоната Е (E2:E5). Креирате контролна табла каде што вашите корисници ќе го внесат името на продавачот во B2 и ви треба формула која би го повлекла соодветниот производ во B3. Задачата може лесно да се исполни со оваа формула:
=LOOKUP(B2,D2:D5,E2:E5)
За подобро разбирање нааргументи, ве молиме погледнете ја оваа слика од екранот:
Формула за хоризонтално пребарување - пребарување во опсег од еден ред
Ако вашите изворни податоци имаат хоризонтален распоред, т.е. записите се наоѓаат во редови наместо во колони, а потоа обезбедуваат опсег од еден ред во аргументите lookup_vector и result_vector , вака:
=LOOKUP(B2,E1:H1,E2:H2)
Во вториот дел од ова упатство, ќе најдете уште неколку примери за пребарување на Excel кои решаваат посложени задачи. Во меѓувреме, запомнете ги следните едноставни факти кои ќе ви помогнат да ги заобиколите можните замки и да спречите вообичаени грешки.
5 работи што треба да ги знаете за векторската форма на Excel LOOKUP
- Вредности во lookup_vector треба да се подреди по растечки редослед , т.е. од најмал до најголем или од А до Ш, инаку формулата за пребарување на Excel може да врати грешка или неточен резултат. Ако треба да пребарувате за несортирани податоци , тогаш користете или INDEX MATCH или OFFSET MATCH.
- Lookup_vector и result_vector мора да бидат еден ред или една колона опсег со иста големина.
- Функцијата LOOKUP во Excel е неосетлива на букви , не се разликува текст со големи и мали букви.
- Excel LOOKUP работи врз основа на приближно совпаѓање . Поточно, формулата за пребарување прво бара точно совпаѓање. Ако не може точно да ја пронајде вредноста за пребарување, го бара следниот најмалвредност , т.е. најголемата вредност во lookup_vector што е помала или еднаква на lookup_value .
На пример, ако вашата вредност за пребарување е „5“, формулата прво ќе ја пребара. Ако „5“ не се најде, ќе бара „4“. Ако „4“ не се најде, ќе бара „3“ и така натаму.
- Ако lookup_value е помала од најмалата вредност во lookup_vector , Excel LOOKUP ја враќа грешката #N/A.
Excel LOOKUP функција - форма на низа
Формата на низата на функцијата LOOKUP ја бара одредената вредност во првата колона или ред од низата и добива вредност од истата позиција во последната колона или ред од низата.
Низата Пребарување има 2 аргументи, и двата се потребни:
LOOKUP( lookup_value, низа)Каде:
- Lookup_value - вредност за пребарување во низа.
- Низа - a опсег на ќелии каде што сакате да ја пребарувате вредноста за пребарување. Вредностите во првата колона или ред од низата (во зависност од тоа дали правите V-преглед или H-преглед) мора да се подредат во растечки редослед. Големите и малите букви се сметаат за еквивалентни.
На пример, со имињата на продавачите лоцирани во првата колона од низата (колона А) и датумите на нарачката во последната колона од низата (колона C) , можете да ја користите следнава формула за да го пребарувате името и да го повлечете датумот што одговара:
=LOOKUP(B2,D2:F5)
Забелешка. Формата на низата наФункцијата LOOKUP на Excel не треба да се меша со формулите за низа на Excel. Иако работи на низи, LOOKUP е сепак редовна формула, која се комплетира на вообичаен начин со притискање на копчето Enter.
4 работи што треба да ги знаете за формата на низа на Excel LOOKUP
- Ако низата има повеќе редови од колони или ист број на колони и редови , формулата за пребарување пребарува во првата колона (хоризонтално пребарување).
- Ако низата има повеќе колони од редови , Excel LOOKUP пребарува во првиот ред (вертикално пребарување ).
- Ако формулата не може да ја пронајде вредноста за пребарување, таа ја користи најголемата вредност во низата што е помала или еднаква на погледна_вредност .
- Ако вредноста за пребарување е помала од најмалата вредност во првата колона или ред од низата (во зависност од димензиите на низата), формулата за пребарување ја враќа грешката #N/A.
Важна забелешка! Функционалноста на формата на низата Excel LOOKUP е ограничена и не препорачуваме да ја користите. Наместо тоа, можете да ја користите функцијата VLOOKUP или HLOOKUP, кои се подобрени верзии за да направите вертикално и хоризонтално пребарување, соодветно.
Како да ја користите функцијата LOOKUP во Excel - примери на формула
Иако постојат помоќни функции за пребарување и совпаѓање во Excel (што е тема на нашиот следен туторијал), LOOKUP доаѓа добро во многу ситуации, и следните примерипокажете неколку нетривијални употреби. Ве молиме имајте предвид, сите долунаведени формули ја користат векторската форма на Excel LOOKUP.
Побарајте вредност во последната непразна ќелија во колоната
Ако имате колона со динамички пополнета податоци, можеби ќе сакате да го изберете најновиот додаден запис, т.е. да ја добиете последната непразна ќелија во колоната. За ова, користете ја оваа генеричка формула:
LOOKUP(2, 1/( колона ""), колона )Во горната формула, сите аргументи освен за референцата на колоната се константи. Значи, за да ја вратите последната вредност во одредена колона, само треба да ја наведете соодветната референца на колоната. На пример, за да ја извлечете вредноста на последната непразна ќелија во колоната А, користете ја оваа формула:
=LOOKUP(2, 1/(A:A""), A:A)
За да ја добиете последната вредност од другите колони, изменете ги референците на колоните како што е прикажано во скриншот подолу - првата референца е колоната што треба да се провери дали има празни/непразни ќелии, а втората референца е колоната за враќање на вредноста од:
Како оваа формула работи
Во аргументот lookup_value , давате 2 или кој било друг број поголем од 1 (за еден момент, ќе разберете зошто).
Во <Аргументот 1>lookup_vector , го ставате овој израз: 1/(A:A"")
- Прво, ја извршувате логичката операција A:A"" која ја споредува секоја ќелија во колоната А со празна низа и враќа TRUE за празни ќелии и FALSE за непразни ќелии. Вогорниот пример, формулата во F2 ја враќа оваа низа: {TRUE;TRUE;TRUE;TRUE;FALSE...}
- Потоа, го делите бројот 1 со секој елемент од горната низа. Со TRUE изедначување на 1 и FALSE еднакво на 0, добивате нова низа составена од 1 и #DIV/0! грешки (резултат на делење со 0), и оваа низа се користи како lookup_vector . Во овој пример, тоа е {1;1;1;1;#DIV/0!...}
Сега, како доаѓа до тоа дека формулата ја враќа последната непразна вредност во колона , имајќи предвид дека погледната_вредност не се совпаѓа со ниту еден елемент од vector_lookup ? Клучот за разбирање на логиката е дека Excel LOOKUP пребарува со приближно совпаѓање, т.е. кога не е пронајдена точната вредност за пребарување, таа се совпаѓа со следната најголема вредност во lookup_vector што е помала од lookup_value . Во нашиот случај, lookup_value е 2 и најголемата вредност во lookup_vector е 1, така што LOOKUP се совпаѓа со последната 1 во низата, што е последната непразна ќелија!
Во аргументот резултат_вектор , ја повикувате колоната од која сакате да вратите вредност, а формулата за пребарување ќе ја земе вредноста на истата позиција како и вредноста за пребарување.
Совет. Ако сакате да го добиете бројот на редот кој ја држи последната вредност, тогаш користете ја функцијата ROW за да ја вратите. На пример: =LOOKUP(2,1/(A:A""),ROW(A:A))
Побарајте вредност во последната непразна ќелија по ред
Ако вашите изворни податоци се поставени во редови, наместоотколку колони, можете да ја добиете вредноста на последната непразна ќелија користејќи ја оваа формула:
LOOKUP(2, 1/( ред ""), ред )Всушност, оваа формула не е ништо друго освен мала измена на претходната формула, со единствена разлика што ја користите референцата на редот наместо референцата на колоната.
На пример, за да ја добиете вредноста на последната непразна ќелија во редот 1, користете ја оваа формула:
=LOOKUP(2, 1/(1:1""), 1:1)
Следната слика од екранот го прикажува резултатот:
Добијте вредност поврзан со последниот запис по ред
Со само малку креативност, горната формула лесно може да се приспособи за решавање други слични задачи. На пример, може да се користи за да се добие вредност поврзана со последната инстанца од одредена вредност по ред. Ова може да звучи малку нејасно, но следниов пример ќе ги олесни работите.
Претпоставувајќи дека имате сумарна табела каде колоната А ги содржи имињата на продавачите, а следните колони содржат податоци од некој вид за секој месец. Во овој пример, ќелијата содржи „да“ ако даден продавач затворил барем една зделка во даден месец. Нашата цел е да добиеме месец поврзан со последниот запис „да“ по ред.
Задачата може да се реши со користење на следнава формула LOOKUP:
=LOOKUP(2, 1/(B2:H2="yes"), $B$1:$H$1)
Логиката на формулата е во основа иста како што е опишано во првиот пример. Разликата е во тоа што го користите операторот „еднакво на“ („=") наместо „не еднакводо" ("") и работи на редови наместо колони.
Следната слика од екранот покажува резултат:
Пребарување како алтернатива на вгнездените IF
Во сите формули за пребарување што ги дискутиравме досега, аргументите lookup_vector и result_vector беа претставени со референци за опсег. Сепак, синтаксата на функцијата Excel LOOKUP дозволува снабдувајќи ги векторите во форма на константа на вертикална низа, што ви овозможува да ја реплицирате функционалноста на вгнезденото IF со покомпактна и поедноставна формула.
Да речеме, имате листа на кратенки во колона А и сакате да ги замените со целосни имиња, каде што „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 да работи правилно, вредностите во листата_преглед треба да се подредат од А до Ш или од најмала до најголема.
Ако влечете вредности од табела за пребарување, тогаш можете да вградите функција Vlookup во аргументот lookup_value за да добиете совпаѓање.
Претпоставувајќи дека вредноста за пребарување е во ќелијата E2, табелата за пребарување е A2:C7, а колоната од интерес („Статус“) е третата колона во табелата за пребарување, следнава