INHOUDSOPGAWE
Alles wat jy moet weet oor jokertekens op een bladsy: wat dit is, hoe om dit die beste in Excel te gebruik, en hoekom jokertekens nie met syfers werk nie.
Wanneer jy dit is op soek na iets, maar nie presies seker presies wat nie, wildcards is 'n perfekte oplossing. Jy kan aan 'n wildcard dink as 'n grapjas wat enige waarde kan aanneem. Daar is net 3 jokertekens in Excel (sterretjie, vraagteken en tilde), maar hulle kan soveel nuttige dinge doen!
Excel jokertekens
In Microsoft Excel, 'n jokerteken is 'n spesiale soort karakter wat enige ander karakter kan vervang. Met ander woorde, wanneer jy nie 'n presiese karakter ken nie, kan jy 'n jokerteken op daardie plek gebruik.
Die twee algemene jokertekens wat Excel herken, is 'n asterisk (*) en 'n vraagteken (?). 'n Tilde (~) dwing Excel om tesisse as gewone karakters te behandel, nie jokertekens nie.
Jokertekens kom handig te pas in enige situasie wanneer jy 'n gedeeltelike passing nodig het. Jy kan dit gebruik as vergelykingskriteria vir die filter van data, om inskrywings te vind wat 'n gemeenskaplike deel het, of om fuzzy passing in formules uit te voer.
Asterisk as 'n jokerteken
Die asterisk (*) is die mees algemene jokertekenkarakter wat enige aantal karakters kan verteenwoordig. Byvoorbeeld:
- ch* - pas by enige woord wat met "ch" begin soos Charles , check , skaak , ens.
- *ch -soortgelyke formule in jou werkblaaie, in geen geval moet jy "$" of enige ander geldeenheid simbool in die SOEK funksie insluit. Onthou asseblief dat dit slegs 'n "visuele" geldeenheidformaat is wat op die selle toegepas word, die onderliggende waardes is blote getalle.
Voorbeeld 2. Wildcardformule vir datums
Die SUMPRODUCT-formule wat hierbo bespreek is, werk pragtig vir getalle, maar sal vir datums misluk. Hoekom? Omdat Excel datums intern as reeksnommers stoor, en die formule sal daardie nommers verwerk, nie die datums wat in selle vertoon word nie.
Om hierdie struikelblok te oorkom, gebruik die TEXT-funksie om datums na teksstringe om te skakel, en voer dan die stringe na die SEARCH-funksie.
Afhangende van presies wat jy beoog om te tel, kan die teksformate verskil.
Om al die datums in C2:C12 te tel wat "4" in die dag het , maand of jaar, gebruik " mmddyyyy" :
=SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "mmddyyyy")))))
Om slegs die dae te tel bevat "4" en ignoreer maande en jare, gebruik die " dd" teksformaat:
=SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "dd")))))
Dis hoe om jokertekens te gebruik in Excel. Ek hoop dat hierdie inligting nuttig sal wees in jou werk. In elk geval, ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!
Oefen werkboek vir aflaai
Wildcards in Excel formules (.xlsx lêer)
vervang enige teksstring wat met "ch" eindig, soos Maart , duim , haal , ens. - *ch* - verteenwoordig enige woord wat "ch" in enige posisie bevat soos Chad , hoofpyn , arch , ens.
Vraagteken as 'n jokerteken
Die vraagteken (?) verteenwoordig enige enkele karakter . Dit kan jou help om meer spesifiek te raak wanneer jy na 'n gedeeltelike passing soek. Byvoorbeeld:
- ? - pas by enige inskrywing wat een karakter bevat, bv. "a", "1", "-", ens.
- ?? - vervang enige twee karakters, bv. "ab", "11", "a*", ens.
- ???-??? - verteenwoordig enige string wat 2 groepe van 3 karakters bevat geskei met 'n koppelteken soos ABC-DEF , ABC-123 , 111-222 , ens.
- pri?e - pas by prys , trots , prys en dies meer.
Tilde as 'n jokerteken
Die tilde (~) wat voor 'n jokerteken geplaas word kanselleer die effek van 'n jokerteken en verander dit in 'n letterlike asterisk (~*), 'n letterlike vraag merk (~?), of 'n letterlike tilde (~~). Byvoorbeeld:
- *~? - vind enige inskrywing wat met vraagteken eindig, bv. Wat? , Enigiemand daar? , ens.
- *~** - vind enige data wat 'n asterisk bevat, bv. *1 , *11* , 1-Mrt-2020* , ens. In hierdie geval is die 1ste en 3de sterretjies jokertekens, terwyl die tweede een dui 'n letterlike asterisk-karakter aan.
Vind envervang jokertekens in Excel
Die gebruike van jokertekenkarakters met Excel se Soek en Vervang-funksie is redelik veelsydig. Die volgende voorbeelde sal 'n paar algemene scenario's bespreek en jou oor 'n paar waarskuwings waarsku.
Hoe om met wildcard te soek
Die Vind en vervang -dialoog is by verstek gekonfigureer om op enige plek in 'n sel na die gespesifiseerde kriteria te soek, om nie by die hele selinhoud te pas nie. Byvoorbeeld, as jy "AA" as jou soekkriteria gebruik, sal Excel al die inskrywings wat dit bevat terugstuur soos AA-01 , 01-AA , 01-AA -02 , ensovoorts. Dit werk uitstekend in die meeste situasies, maar kan onder sekere omstandighede 'n komplikasie wees.
In die datastel hieronder, veronderstel jy wil die ID's vind wat bestaan uit 4 karakters wat met 'n koppelteken geskei is. So, jy maak die Vind en vervang dialoog oop (Ctrl + F), tik ??-?? in die Vind wat boks, en druk Vind alles . Die resultaat lyk 'n bietjie verwarrend, is dit nie?
Tegies gesproke, snare soos AAB-01 of BB-002 pas ook by die kriteria omdat dit wel 'n ??-?? bevat substring. Om dit van die resultate uit te sluit, klik die Opsies -knoppie en merk die Pas die hele selinhoud -blokkie. Nou sal Excel die resultate beperk tot slegs die ??-?? snare:
Hoe om te vervang met jokerteken
In die geval dat jou data 'n paar vaag passings bevat, kan jokertekens jou helpvind hulle vinnig op en verenig hulle.
In die skermkiekie hieronder kan jy twee spelvariasies van dieselfde stad Homel en Gomel sien. Ons wil albei met 'n ander weergawe vervang - Homyel . (En ja, al drie spellings van my geboortestad is korrek en algemeen aanvaar :)
Om gedeeltelike passings te vervang, is dit wat jy moet doen:
- Druk Ctrl + H om die Vervang -oortjie van die Vind en vervang -dialoog oop te maak.
- Tik die jokerteken-uitdrukking in die Vind wat -boks in: ?omel
- Tik die vervangteks in die Vervang met -blokkie: Homyel
- Klik die Vervang alles knoppie.
En let op die resultate:
Hoe om jokertekens te vind en te vervang
Om 'n karakter te vind wat Excel as 'n jokerteken herken, dit wil sê 'n letterlike asterisk of vraagteken, sluit 'n tilde (~) by jou soekkriteria in. Byvoorbeeld, om al die inskrywings wat sterretjies bevat te vind, tik ~* in die Vind wat-blokkie:
As jy die sterretjies met iets anders wil vervang, skakel oor na die Vervang -oortjie en tik die karakter van belang in die Vervang met -blokkie. Om al die gevind asterisk-karakters te verwyder, laat die Vervang met -blokkie leeg, en klik Vervang alles .
Filter data met wildcards in Excel
Excel jokertekens is ook baie nuttig wanneer jy 'n groot kolom vandata en wil daardie data op grond van toestand filtreer.
In ons voorbeelddatastel, veronderstel dat jy die ID's wil filtreer wat met "B" begin. Doen hiervoor die volgende:
- Voeg filter by die kopselle. Die vinnigste manier is om die Ctrl + Shift + L-kortpad te druk.
- Klik in die teikenkolom die filter-aftrekpyltjie.
- In die Soek -blokkie, tik jou kriteria, B* in ons geval.
- Klik OK .
Dit sal die data onmiddellik filtreer op grond van jou jokerteken kriteria soos hieronder gewys:
Wildcards kan ook met Advanced Filter gebruik word, wat dit 'n goeie alternatief vir gewone uitdrukkings kan maak (ook genoem regexes deur tegnologie-ghoeroes) wat Excel nie ondersteun nie. Vir meer inligting, sien asseblief Excel Gevorderde Filter met jokertekens.
Excel-formules met jokerteken
Eerstens moet daarop gelet word dat 'n redelik beperkte aantal Excel-funksies jokertekens ondersteun. Hier is 'n lys van die gewildste funksies wat met formulevoorbeelde te doen het:
AVERAGEIF met jokertekens - vind die gemiddelde (rekenkundige gemiddelde) van die selle wat aan die gespesifiseerde voorwaarde voldoen.
AVERAGEIFS - gee terug die gemiddelde van die selle wat aan verskeie kriteria voldoen. Soos AVERAGEIF in die bostaande voorbeeld laat jokertekens toe.
COUNTIF met jokertekens - tel die aantal selle gebaseer op een kriterium.
COUNTIFS met jokertekens - tel die aantalselle gebaseer op veelvuldige kriteria.
SUMIF met wildcard- som selle met toestand op.
SUMIFS - voeg selle met veelvuldige kriteria by. Soos SUMIF in die voorbeeld hierbo aanvaar jokertekenkarakters.
VLOOKUP met jokertekens - voer 'n vertikale opsoek met gedeeltelike passing uit.
HLOOKUP met jokerteken - doen 'n horisontale opsoek met gedeeltelike passing.
XLOOKUP met jokertekens - voer 'n gedeeltelike passing-opsoek uit beide in 'n kolom en 'n ry.
MATCH-formule met jokertekens - vind 'n gedeeltelike passing en gee sy relatiewe posisie terug.
XMATCH met jokertekens - 'n moderne opvolger van die MATCH-funksie wat ook wildcard-passing ondersteun.
SOEK met jokertekens - anders as die hooflettersensitiewe FIND-funksie, verstaan hoofletteronsensitiewe SEARCH jokertekenkarakters.
As jy moet doen gedeeltelike passing met ander funksies wat nie jokertekens ondersteun nie, jy sal 'n oplossing soos Excel IF jokertekenformule moet uitvind.
Die volgende voorbeelde demonstreer 'n paar algemene benaderings tot die gebruik van jokertekens in Excel-formules.
Excel COUNTIF wildcard formule
Kom ons sê jy wil die aantal selle tel met die teks "AA" in die reeks A2:A12. Daar is drie maniere om dit te bereik.
Die maklikste een is om jokertekenkarakters direk in die kriteria -argument in te sluit:
=COUNTIF(A2:A12, "*AA*")
In praktyk, sulke "hardcoding" is nie die beste oplossing nie. As diekriteria verander op 'n later stadium, jy sal jou formule elke keer moet wysig.
In plaas daarvan om die kriteria in die formule in te tik, kan jy dit in een of ander sel invoer, sê E1, en die selverwysing aaneenskakel met die jokertekens. Jou volledige formule sal wees:
=COUNTIF(A2:A12,"*"&E1&"*")
Alternatiewelik kan jy 'n jokertekenstring (*AA* in ons voorbeeld) in die kriteriasel (E1) invoer ) en sluit slegs die selverwysing in die formule in:
=COUNTIF(A2:A12, E1)
Al drie formules sal dieselfde resultaat lewer, so watter een om te gebruik is 'n saak van jou persoonlike voorkeur.
Let wel. Die jokertekensoektog is nie hooflettersensitief nie , dus die formule tel beide hoofletters en kleinletters soos AA-01 en aa-01 .
Excel jokerteken VLOOKUP formule
Wanneer jy 'n waarde moet soek wat nie 'n presiese passing in die brondata het nie, kan jy jokertekenkarakters gebruik om 'n gedeeltelike passing te vind.
In hierdie voorbeeld gaan ons die ID's opsoek wat met spesifieke karakters begin, en hul pryse van kolom B terugstuur. Om dit te laat doen, voer die unieke dele van die teiken-ID's in selle D2, D3 in en D4 en gebruik hierdie formule om die resultate te kry:
=VLOOKUP(D2&"*", $A$2:$B$12, 2, FALSE)
Bogenoemde formule gaan na E1, en as gevolg van die slim gebruik van relatiewe en absolute selleverwysings kopieer dit korrek na die onderstaande selle .
Let wel. Soos die Excel VLOOKUP-funksie dieeerste gevind pasmaat, moet jy baie versigtig wees wanneer jy soek met wildcards. As jou opsoekwaarde meer as een waarde in die opsoekreeks ooreenstem, kan jy misleidende resultate kry.
Excel jokerteken vir getalle
Daar word soms gesê dat jokertekens in Excel net vir tekswaardes werk, nie getalle nie. Dit is egter nie presies waar nie. Met die Vind en Vervang -kenmerk sowel as Filter werk jokertekens goed vir beide teks en syfers.
Vind en vervang met jokertekennommer
In die skermkiekie hieronder gebruik ons *4* vir die soekkriteria om te soek na die selle wat die syfer 4 bevat, en Excel vind beide teksstringe en nommers:
Filter met jokertekennommer
Net so het Excel se outofilter geen probleem met die filter van nommers wat "4" bevat nie:
Hoekom Excel jokerteken nie met getalle in formules werk nie
Jokertekens met getalle in formules is 'n ander storie. Deur jokertekens saam met syfers te gebruik (maak nie saak of jy die getal met jokertekens omring of 'n selverwysing aaneenskakel nie) omskep 'n numeriese waarde in 'n teksstring. As gevolg hiervan, herken Excel nie 'n string in 'n reeks getalle nie.
Byvoorbeeld, beide die onderstaande formules tel die aantal stringe wat "4" bevat, heeltemal goed:
=COUNTIF(A2:A12, "*4*" )
=COUNTIF(A2:A12, "*"&E1&"*" )
Maar nie een kan syfer 4 binne 'n nommer identifiseer nie:
Hoe om te maakjokertekens werk vir getalle
Die maklikste oplossing is om getalle na teks om te skakel (byvoorbeeld deur die Teks na kolomme-kenmerk te gebruik) en dan 'n gereelde OPSOEK, COUNTIF, MATCH, ens.
Byvoorbeeld, om die telling van selle te kry wat begin met die getal in E1, is die formule:
=COUNTIF(B2:B12, E1&"*" )
In situasie wanneer hierdie benadering nie prakties aanvaarbaar is nie, sal jy vir elke spesifieke geval jou eie formule moet uitwerk. Helaas, 'n generiese oplossing bestaan nie :( Hieronder sal jy 'n paar voorbeelde vind.
Voorbeeld 1. Excel-wildertekenformule vir getalle
Hierdie voorbeeld wys hoe om getalle te tel wat 'n spesifieke syfer. In die voorbeeldtabel hieronder, veronderstel jy wil bereken hoeveel getalle in die reeks B2:B12 "4" bevat. Hier is die formule om te gebruik:
=SUMPRODUCT(--(ISNUMBER(SEARCH("4", B2:B12))))
Hoe hierdie formule werk
Werk van binne na buite, hier is wat die formule doen:
Die SOEK-funksie soek die gespesifiseerde syfer in elke sel van die reeks en gee sy posisie terug, 'n #WAARDE-fout indien nie gevind nie. Sy uitvoer is die volgende skikking:
{#VALUE!;1;#VALUE!;#VALUE!;3;#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!}
Die ISNUMBER-funksie neem dit van daar af en verander enige getal na WAAR en fout na ONWAAR:
{FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}
'n Dubbele unêre operateur (--) dwing WAAR en ONWAAR tot onderskeidelik 1 en 0:
{0;1;0;0;1;0;0;1;0;0;0}
Laastens tel die SUMPRODUCT-funksie die 1'e bymekaar en gee die telling terug.
Let wel. Wanneer 'n