이전 글 "엑셀 함수 학습: 다중 합산 함수에 대해 이야기해보자"에서는 여러 합산 함수를 배웠습니다. 오늘은 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(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(조회 값, 조회 열, 결과 열 )에서 다음 예는 이름별로 정렬한 다음 역순으로 검색하는 효과입니다.
4. 간격별 정기 검색
여기 사용된 공식은 다음과 같습니다: =LOOKUP(G2,{0,50,100,150,200,250;"매우 나쁨","나쁨","평균","더 좋음","우수","전문가"})
=LOOKUP (점수 값, { 하한 1, 하한 2...; 댓글 1, 댓글 2...})
이 글을 작성할 때 두 가지 사항에 주의하세요. 공식:1. LOOKUP의 두 번째 매개변수는 상수 배열을 사용합니다. 여기서 중괄호는 세미콜론으로 구분되어 있습니다. 예를 들어, 50포인트 미만의 경우 하한은 0, 50-100의 하한은 50 등입니다. 각 숫자를 세미콜론 오른쪽에 쉼표로 구분하면 해당 주석이 표시됩니다. 쉼표로 구분됩니다(수식의 모든 기호는 영어입니다).
정렬할 수 없는 경우 다음 루틴을 사용해야 합니다: =LOOKUP (1,0/(검색 범위 = 검색 값), 결과 범위), 이 역시 이분법의 특성에 따라 결정됩니다.
4. 이 기능을 완전히 이해하려면 이분법의 원리를 이해해야 합니다. 내일 튜토리얼에서는 이분법 원리가 무엇인지에 대해 이야기하고, 그런데 얼마전부터 남은 두 가지 문제에 대해 설명하겠습니다(LOOKUP은 반올림 문제와 데이터 추출 문제를 해결합니다).
관련 학습 권장 사항: excel 튜토리얼
위 내용은 엑셀 함수학습에서 LOOKUP 함수를 활용하는 5가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!