Meistens müssen wir präzise Suchen durchführen, aber es gibt auch Zeiten, in denen Fuzzy-Suchen erforderlich sind. Beispielsweise die Suche nach dem vollständigen Namen anhand der Abkürzung oder die Klassifizierung des Namens anhand numerischer Werte usw. Die Fuzzy-Suche ist nicht dasselbe wie ein Blinder, der versucht, einen Elefanten zu finden. Hier sind 4 Möglichkeiten, die VLOOKUP- und LOOKUP-Funktionen für die Fuzzy-Suche zu verwenden.
Heute werde ich Ihnen verschiedene Methoden der Fuzzy-Suche vorstellen.
Die herkömmliche Fuzzy-Suche ist in zwei Situationen unterteilt: Eine ist ein numerischer Wert, die andere ist ein Text.
Zunächst informieren wir Sie über die numerische Fuzzy-Suche.
Beispiel:
Ein Unternehmen muss die Arbeitskleidung für neue Mitarbeiter anpassen. Jetzt muss die Größe der Kleidung an die tatsächliche Körpergröße der Mitarbeiter angepasst werden.
In diesem Fall ist es notwendig, die Fuzzy-Suche zu verwenden, um die Größe entsprechend der Körpergröße jedes Mitarbeiters zurückzugeben. Es gibt zwei Möglichkeiten, dies zu tun.
Methode 1: LOOKUP
Funktionsformel: =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)
Formelanalyse:
Damit wird die Fuzzy-Suche in Form eines LOOKUP-Vektors abgeschlossen. Es kann so verstanden werden, dass ermittelt wird, in welchem Intervall sich die B2-Zelle in {0;165;170;175;180;185;190} befindet. Wenn sie innerhalb eines bestimmten Intervalls liegt, wird das entsprechende {"S";"M";"L" angezeigt „;“XL wird zurückgegeben. „;“XXL“;“XXXL“;“XXXXL“} Textinformationen.
Wenn beispielsweise 169 zwischen 165 und 170 liegt, werden die Textinformationen „M“ zurückgegeben.
🎜Die entsprechende Beziehung zwischen den Intervallen ist hier wie folgt. 0 bis weniger als 165 gehören zur Größe S; 165 bis weniger als 170 gehören zur Größe M und so weiter, bis 190 oder mehr zur Größe XXXXL gehören. 🎜🎜🎜🎜Wenn Sie möchten Wenn Sie nichts verstehen, können Sie sich das Tutorial „5 Möglichkeiten zur Verwendung von ansehen LOOKUP-Funktion im Excel-Funktionslernen Abschnitt 4 von a>》„Routine der Suche nach Intervall“. 🎜🎜🎜🎜Methode 2: VLOOKUP🎜🎜🎜🎜Funktionsformel:=IFERROR(VLOOKUP(B2+5,F:G,2,1),"S")
🎜🎜🎜🎜Wenn wir die VLOOKUP-Funktion in der täglichen Arbeit verwenden, gibt der vierte Parameter immer 0 ein, was eine genaue Suche bedeutet. Der vierte Parameter ist hier 1, was eine ungefähre Suche bedeutet. 🎜🎜Formelanalyse: 🎜🎜1. Verwenden Sie die Funktionsformel =SVERWEIS(B2,F:G,2,1), um die Größe zurückzugeben, die dem Maximalwert im Zielbereich entspricht, der kleiner oder gleich dem Suchwert ist. Hinweis: Bevor Sie die VLOOKUP-Funktion für die Fuzzy-Suche verwenden, müssen die Daten im Suchbereich F:G in aufsteigender Reihenfolge nach dem Suchinhalt (hier Höhe) sortiert werden. 🎜🎜 🎜🎜Wenn wir beispielsweise nach 172 suchen, wird der Maximalwert kleiner oder gleich 172 im Zielbereich zurückgegeben, also 170, und die entsprechende Größe ist M. Da die Größe der Kleidung eher hoch als niedrig ist, muss ein Mitarbeiter mit einer Körpergröße von 172 L-Kleidung mit einer Körpergröße von 175 anpassen. Wenn wir also nach einer Übereinstimmung suchen, müssen wir 5 zur Körpergröße des Mitarbeiters addieren, damit die Es kann eine Mindestgröße zurückgegeben werden, die größer als die Höhe ist. 🎜🎜2. Die Körpergröße einiger Mitarbeiter liegt auch nach Addition von 5 immer noch unter 165. Da 165 die kleinste Größe in Spalte F ist, kann der erforderliche Wert für diesen Teil der Daten nicht gefunden werden und die SVERWEIS-Funktion gibt den Fehler zurück Wert #N/A. Wir hoffen, dass alle Mitarbeiter unter 165 S-Nummern anpassen, daher verwenden wir die IFERROR-Funktion, um das SVERWEIS-Fehlerergebnis auf das Textzeichen „S“ umzuleiten. 🎜🎜🎜2. Fuzzy-Suche nach Textzeichen🎜🎜🎜Beispielsweise wird bei der Suche nach AB der Wert zurückgegeben, der der Zelle AAAABBB entspricht, die AB im Suchbereich enthält. 🎜🎜Beispiel: 🎜🎜Die folgende Tabelle zeigt die Jahresumsatzdaten der einzelnen Unternehmen für 2018, wobei der Firmenname der vollständige Name ist. Nun müssen wir die relevanten Umsatzdaten anhand des Firmenkürzels in einer weiteren Tabelle abgleichen. 🎜🎜 🎜🎜🎜🎜Methode 1: VLOOKUP+Platzhalter🎜🎜🎜🎜Funktionsformel: =VLOOKUP("*"&E2&"*",A:B,2,0)
🎜🎜🎜🎜🎜Formelerklärung : 🎜🎜* steht für alle Zeichen, „*“&E2&“*“ steht für alles, einschließlich des Textinhalts von Zelle E2. 🎜Methode 2: LOOKUP+FIND
Funktionsformel: =LOOKUP(1,0/FIND(E2,A$2:A$8),B$2:B$8)
=LOOKUP(1,0/FIND(E2,A:A),B:B)
公式解释:
公式用了LOOKUP查找套路。通过FIND函数判断E2单元格中文本处于A:A单元格中的位置,如果存在则返回大于0的数值,否则返回错误值;然后0/FIND(),则得到一组0和错误值的数组;最后LOOKUP函数出手,在数组中找到最大的不大于1的值,0,并根据0所在位置,返回对应的B:B中的值。
顺便说一嘴:如果你只想通过简称查到全称,则公式可以改成=LOOKUP(1,0/FIND(E2,A:A),
A:A)
Das obige ist der detaillierte Inhalt von[Organisation und Freigabe] 4 Methoden der Fuzzy-Suche mit den VLOOKUP- und LOOKUP-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!