대부분의 경우 정확한 검색이 필요하지만 퍼지 검색이 필요할 때도 있습니다. 예를 들어 약어를 기준으로 전체 이름을 검색하거나 숫자 값을 기준으로 이름을 분류하는 등의 작업을 수행합니다. 퍼지 검색은 시각 장애인이 코끼리를 찾으려는 것과는 다릅니다. 다음은 VLOOKUP 및 LOOKUP 기능을 사용하여 퍼지 검색을 수행하는 4가지 방법입니다.
오늘은 퍼지 검색의 여러 가지 방법을 알려 드리겠습니다.
기존 퍼지 검색은 두 가지 상황으로 나누어집니다. 하나는 숫자 값이고 다른 하나는 텍스트입니다.
먼저 수치적 퍼지 검색에 대해 공유드립니다.
예:
회사에서는 신입사원의 작업복을 맞춤 제작해야 합니다. 이제 직원의 실제 키에 맞게 옷의 사이즈를 맞춰야 합니다.
이 경우 퍼지 검색을 사용하여 각 직원의 키에 해당하는 크기를 반환해야 합니다. 이를 수행하는 방법에는 두 가지가 있습니다.
방법 1: LOOKUP
함수 수식: =LOOKUP(B2,{0;165;170;175;180;185;190},{"S";"M";"L ";"XL";"XXL";"XXXL";"XXXXL"})
=LOOKUP(B2,{0;165;170;175;180;185;190},{"S";"M";"L";"XL";"XXL";"XXXL";"XXXXL"})
公式解析:
这是通过LOOKUP向量形式来完成模糊查找。可以理解为查找B2单元格处于{0;165;170;175;180;185;190}哪个区间,如果在某个区间内就返回对应{"S";"M";"L";"XL";"XXL";"XXXL";"XXXXL"}的文本信息。
譬如169位于165-170之间,那么就返回“M”文本信息。
这里的区间对应关系如下。0到小于165的属于S尺寸;165到小于170的属于M尺寸,依次类推,直到大于等于190的属于XXXXL尺寸。
如果对此处看不懂的可以查看教程《Excel函数学习之LOOKUP函数的5种用法》的第四节“按区间查找的套路”。
方法二:VLOOKUP
函数公式:=IFERROR(VLOOKUP(B2+5,F:G,2,1),"S")
日常工作中我们使用VLOOKUP函数时第四个参数都是输入0,表示精确查找,此处第四参数为1,表示近似查找。
公式解析:
1.通过函数公式=VLOOKUP(B2,F:G,2,1)即可返回目标区域中小于等于查找值的最大值所对应的尺码。注意:在使用VLOOKUP函数进行模糊查找之前必须要将查找范围F:G处的数据按查找内容(此处为身高)进行升序排序。
例如,我们查找172,那么就返回目标区域中小于等于172的最大值即170,对应的尺码为M。由于服装的尺寸是就高不就低,身高172的员工必须定制身高175的L码的衣服,所以我们在查找匹配时需要在员工身高基础上加5,这样就能返回大于身高的最小尺寸了。
2.员工中有部分身高即使加5后仍小于165,因为F列165就是最小的了,所以这部分数据无法在F列查找到所需值,VLOOKUP函数返回错误值#N/A。我们希望小于165的员工都定制S号,就通过IFERROR函数将VLOOKUP错误结果重定向为文本字符“S”。
下面分享文本的模糊查找,例如,通过查找AB返回查找区域中包含AB的AAAABBB单元格所对应的值。
举例:
下表为各公司2018年度营业额数据,公司名称为全称。现在我们在另外一个表中需要根据公司简称来匹配相关的营业额数据。
方法一:VLOOKUP+通配符
函数公式:=VLOOKUP("*"&E2&"*",A:B,2,0)
수식 분석:
LOOKUP 벡터 형태로 퍼지 검색을 완성하기 위한 것입니다. 이는 B2 셀이 {0;165;170;175;180;185;190}에 어느 간격에 있는지 찾는 것으로 이해될 수 있습니다. 특정 간격 내에 있으면 해당 {"S";"M";"L ";"XL은 ";"XXL";"XXXL";"XXXXL"} 텍스트 정보를 반환합니다.
예를 들어 169가 165-170 사이에 있으면 "M" 텍스트 정보가 반환됩니다.
🎜여기서 간격 간의 대응 관계는 다음과 같습니다. 0에서 165 미만은 S 사이즈에 속하고, 165에서 170 미만은 M 사이즈에 속하며, 190 이상이 XXXXL 사이즈에 속합니다. 🎜🎜=IFERROR(VLOOKUP(B2+5,F:G,2,1),"S")
🎜🎜=VLOOKUP("*"&E2&"*",A:B,2,0)
🎜🎜🎜🎜🎜수식 설명 : 🎜🎜*는 모든 문자를 나타내고, "*"&E2&"*"는 셀 E2의 텍스트 내용을 포함한 모든 것을 나타냅니다. 🎜방법 2: LOOKUP+FIND
함수 수식: =LOOKUP(1,0/FIND(E2,A:A),B:B)
수식 설명:
수식은 LOOKUP 검색 루틴을 사용합니다. FIND 함수를 사용하여 A$2:A$8 셀의 E2 셀에 있는 텍스트의 위치를 확인합니다. 존재하는 경우 0보다 큰 값을 반환하고, 그렇지 않으면 0/FIND() 오류 값을 반환합니다. 0 및 오류 값 배열 집합; 마지막으로 LOOKUP 함수가 조치를 취하고 배열에서 1보다 크지 않은 가장 큰 값인 0을 찾아 0의 위치를 기준으로 B$2:B$8에 해당 값을 반환합니다.
그런데: 약어를 통해서만 전체 이름을 찾고 싶다면 수식을 =LOOKUP(1,0/FIND(E2,A$2:A$8),
A$2:A$8)
.
이해가 되지 않으면 튜토리얼의 두 번째 섹션 "Excel 함수 학습: LOOKUP 함수를 사용하는 5가지 방법" "정확한 검색을 위한 루틴"
관련 학습 권장 사항: excel 튜토리얼
을 읽어보세요.위 내용은 [정리 및 공유] VLOOKUP, LOOKUP 기능을 활용한 퍼지 검색 4가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!