이전 글 "엑셀 함수 학습: 다중 합산 함수에 대해 이야기해보자"에서는 여러 합산 함수를 배웠습니다. 오늘은 LOOKUP 함수에 대해 이야기해보겠습니다. 과거에는 모든 사람이 VLOOKUP 함수를 사용할 때 종종 문제에 직면했습니다. 즉, VLOOKUP 검색은 조건을 충족하는 첫 번째 값만 찾고 검색하지 않았습니다. 왼쪽에서 왼쪽으로만 찾을 수 있습니다. 오른쪽 검색은 너무 제한적입니다. 오늘은 이 두 가지 문제를 완벽하게 해결할 수 있는 LOOKUP 기능을 소개해 드리겠습니다.
LOOKUP 기능은 매우 강력하며 참조 기능의 왕이라는 칭호를 가지고 있습니다. 완전히 익히려면 5가지 일반적인 용도와 이진 검색 원리를 이해해야 합니다. 관련 지식 포인트가 많기 때문에 튜토리얼은 두 부분으로 나누어집니다. 오늘은 먼저 다섯 가지 예를 통해 이 함수의 5가지 일반적인 용도에 대해 알아 보겠습니다. 내일 우리는 이진 검색의 원리와 이전 기사에서 남겨둔 두 가지 LOOKUP 문제에 대해 이야기하겠습니다.
1. 기존 인용
형식: LOOKUP(검색값, 검색영역)
LOOKUP(查找值,查找区域)
例1:根据姓名查找语文成绩,公式为=LOOKUP(H2,C2:D19)
例2:根据姓名查找英语成绩,公式为:=LOOKUP(H2,C2:F19)
通过这两个例子我们可以发现,LOOKUP在进行查找时公式的结构非常简单,查找值和要找的结果分别位于查找区域的首列和末列。
但是仅仅了解这个用法是远远不够的,如果我们再试一个数据的话,有可能就会发现问题:
当查找姓名变成赵永福的时候,结果就不对了,这是因为LOOKUP函数使用的是二分法查找,也就是模糊匹配,关于这一点,我们将在明天的教程《LOOKUP函数用法全解(下)——LOOKUP的二分法查找原理》中详细解释。
因此,在使用LOOKUP进行常规查找的时候,有一个非常重要的步骤,就是按照查找内容(姓名所在的c列)升序排序。
当我们排序以后,公式的结果立刻变成了正确的,是不是很神奇!
这又引出了一个新的问题,如果数据不能排序的话,LOOKUP函数还能用吗?
肯定能用啊,下面来看看LOOKUP函数的第二种用法。
二、精确查找的套路
格式:=LOOKUP(1,0/(查找范围=查找值),结果范围)
在I2单元格输入公式:
=LOOKUP(1,0/(C2:C19=H2),D2:D19)
=LOOKUP (H2, C2:D19)
예 2: 이름을 기준으로 영어 점수 찾기, 공식은 다음과 같습니다: =LOOKUP(H2,C2:F19)
그러나 이 사용법을 이해하는 것만으로는 충분하지 않습니다. 다른 데이터를 시도하면 문제를 찾을 수 있습니다.
검색명이 조용복이 되면 결과가 틀리네요.LOOKUP 함수가 이진검색이란 무엇인가를 사용하기 때문입니다. 즉, 퍼지 매칭에 대해서는 내일 튜토리얼 "LOOKUP 함수 사용에 대한 전체 솔루션(2부) - LOOKUP의 이진 검색 원리"에서 자세히 설명하겠습니다.
그러므로 일반 검색에 LOOKUP을 사용할 때 매우 중요한 단계는 검색 내용(이름이 있는 c열)에 따라 오름차순🎜으로 정렬하는 것입니다. 🎜🎜🎜🎜당 정렬을 하고 나면 공식의 결과가 즉시 정확해졌습니다. 놀랍지 않나요? 🎜🎜🎜🎜이것 이는 새로운 질문을 제기합니다. 데이터를 정렬할 수 없는 경우 LOOKUP 함수를 계속 사용할 수 있습니까? 🎜🎜LOOKUP 함수의 두 번째 사용법을 살펴보겠습니다. 🎜🎜🎜🎜두 번째, 정확한 검색 루틴🎜🎜🎜🎜형식:=LOOKUP(1,0/(검색 범위=검색 값), 결과 범위)
🎜🎜셀 I2에 수식을 입력하세요. 🎜 🎜=LOOKUP(1,0/(C2:C19=H2),D2:D19)
, Enter를 눌러 올바른 결과를 확인하세요. 🎜🎜🎜🎜🎜이 루틴에서 1과 0/은 정확히 무엇을 의미하나요? 가장 많이 묻는 질문 중 하나이기도 합니다. 이분법의 원리를 설명하기 전에 공식의 의미를 간단히 설명하겠습니다. 1은 찾으려는 값인데 조건이 변경된 것입니다. 이름을 직접 검색하는 것이 아니라 이름을 기준으로 얻은 논리값 집합입니다. 🎜🎜🎜🎜🎜TRUE는 하나만 있습니다. 여기에 우리가 찾고 있는 이름이 있습니다. 🎜🎜다음으로 이 논리값을 0으로 나눕니다. 계산할 때 논리값 TRUE는 1을 나타내고 FALSE는 0을 나타냅니다. 분모가 0, 즉 FALSE인 경우 계산 결과는 오류 값입니다: 🎜🎜🎜🎜🎜 따라서 LOOKUP 작업은 데이터 집합에서 1을 찾는 것이 됩니다. 이 데이터 세트에는 0이 하나만 있고 나머지는 모두 오류 값이므로 🎜이분법 방법을 사용하면 LOOKUP은 조회 값보다 크지 않은 마지막 숫자🎜만 찾을 수 있으므로 0만 찾을 수 있으며 최종적으로는 행 위치 0(2행)을 기준으로 구해집니다. 세 번째 매개변수의 위치, 즉 D2에 해당하는 데이터가 우리에게 필요한 결과입니다. 🎜이 부분은 함수 학습에서 더욱 어려운 지식 포인트로 생각됩니다. 초보자는 이해하기 매우 어려울 수 있습니다. 지금 완전히 이해되지 않는다면 다음 루틴을 기억하세요: =LOOKUP(1,0/(검색 범위=조회 값), 결과 범위)
. 동시에 이 루틴은 다중 조건 정밀 검색을 사용하도록 확장될 수도 있습니다. =LOOKUP(1,0/(查找范围=查找值),结果范围)
。同时这个套路还能延伸出多条件精确查找用法:
=LOOKUP(1,0/((查找范围1=查找值1)* (查找范围2=查找值2)* (查找范围3=查找值3)),结果范围)
就是在每个查找范围内找到要找的值,得到的逻辑值相乘后同时符合多个条件的位置就是1,原理与单条件的一样。
三、反向查找的套路
与我们熟知的VLOOKUP不同,使用LOOKUP函数进行反向查找时非常简单,公式结构为:
=LOOKUP(查找值,查找列,结果列)
,下面这个例子是按照姓名排序后再反向查找的效果:
如果数据不能排序的话,使用精确查找的套路:=LOOKUP(1,0/(C2:C19=H8),B2:B19)
四、按区间查找的套路
根据学生的总分给出相应的评语。50分以下的为“很差”,50-100分的为“差”,100-150分的为“一般”,150-200分的为“较好”,200-250分的为“优秀”,250分及以上的为“能手”。
这里用的公式为:
=LOOKUP(G2,{0,50,100,150,200,250;"很差","差","一般","较好","优秀","能手"})
按照评语的要求分成了六个等级,如果用if函数去做就很啰嗦,使用LOOKUP处理这类问题非常方便,公式结构也很简单:
=LOOKUP(分数值,{下限1, 下限2……;评语1,评语2……})
=LOOKUP(조회 값, 조회 열, 결과 열 )에서 다음 예는 이름별로 정렬한 다음 역순으로 검색하는 효과입니다.
데이터를 정렬할 수 없는 경우 정확한 검색 루틴을 사용하세요: =LOOKUP(1,0/(C2:C19=H8) ,B2:B19 )
4. 간격별 정기 검색
학생의 총점에 따라 해당 댓글을 제공합니다. 50점 미만은 '매우 나쁨', 50~100점은 '나쁨', 100~150점은 '보통', 150~200점은 '좋음', 200~250점은 '우수', 250점 이상의 점수를 받은 사람은 "전문가"로 간주됩니다.여기 사용된 공식은 다음과 같습니다: =LOOKUP(G2,{0,50,100,150,200,250;"매우 나쁨","나쁨","평균","더 좋음","우수","전문가"})
=LOOKUP (점수 값, { 하한 1, 하한 2...; 댓글 1, 댓글 2...})
이 글을 작성할 때 두 가지 사항에 주의하세요. 공식:
1. LOOKUP의 두 번째 매개변수는 상수 배열을 사용합니다. 여기서 중괄호는 세미콜론으로 구분되어 있습니다. 예를 들어, 50포인트 미만의 경우 하한은 0, 50-100의 하한은 50 등입니다. 각 숫자를 세미콜론 오른쪽에 쉼표로 구분하면 해당 주석이 표시됩니다. 쉼표로 구분됩니다(수식의 모든 기호는 영어입니다).
2. 숫자 범위는 오름차순으로 정렬되어야 합니다. 그렇지 않으면 결과가 잘못됩니다. 🎜 5. 데이터 정렬의 중요성에 대하여🎜🎜🎜🎜🎜🎜🎜 학번으로 이름을 검색해 보면 학번도 오름차순으로 정렬되어 있는 것을 발견합니다. 틀릴 수도 있나요? 🎜🎜여기서 학생 번호는 우리가 느끼는 것처럼 오름차순으로 정렬되어 있습니다. 실제로 오름차순의 효과는 다음과 같습니다. 🎜🎜🎜🎜🎜LOOKUP을 사용할 때 정확한 검색 루틴을 사용하려면 수식 결과의 정확성을 보장하기 위해 정렬하는 것을 잊지 마세요. 🎜🎜🎜🎜요약🎜🎜🎜🎜1. 오늘은 일반 검색, 정밀 검색, 다중 조건 검색, 역검색, 간격 검색 등 총 5가지 루틴을 공유했습니다. 이러한 루틴을 익히고 사용법을 배울 수 있습니다. 🎜🎜2. LOOKUP 함수의 검색 원리는 이전에 배운 VLOOKUP과 다릅니다. VLOOKUP 함수의 검색 방법은 첫 번째 값이 있을 때 검색이 중지됩니다. 조건을 충족하는 값이 발견되는 반면, LOOKUP 함수는 이분법 원칙을 기반으로 합니다. 조건을 충족하는 마지막 값이 발견된 경우에만 검색이 중지됩니다. 이는 함수 문서에도 언급되어 있습니다. 간단한 테스트를 통해 이를 확인할 수 있습니다.🎜🎜🎜🎜🎜3. 데이터 소스를 오름차순으로 정렬하는 것이 중요합니다.🎜🎜🎜🎜정렬할 수 없는 경우 다음 루틴을 사용해야 합니다: =LOOKUP (1,0/(검색 범위 = 검색 값), 결과 범위), 이 역시 이분법의 특성에 따라 결정됩니다.
4. 이 기능을 완전히 이해하려면 이분법의 원리를 이해해야 합니다. 내일 튜토리얼에서는 이분법 원리가 무엇인지에 대해 이야기하고, 그런데 얼마전부터 남은 두 가지 문제에 대해 설명하겠습니다(LOOKUP은 반올림 문제와 데이터 추출 문제를 해결합니다).
관련 학습 권장 사항: excel 튜토리얼
위 내용은 엑셀 함수학습에서 LOOKUP 함수를 활용하는 5가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!