Jos haluat tarkistaa solun useista asioista ja palauttaa luettelosta ensimmäisen haun, voit käyttää INDEX / MATCH -kaavaa, joka etsii osuman SEARCH- tai FIND -haulla. Esitetyssä esimerkissä C5: n kaava on:
{= INDEX (things, MATCH (TRUE, ISNUMBER ( SEARCH (things,A1)),0))}
missä 'asiat' ovat nimetty alue E5: E9.
miten tehdä hakutoiminto Excelissä
Huomaa: tämä on taulukon kaava ja se on syötettävä näppäimillä Control + Vaihto + Enter.
Selitys
Tässä esimerkissä meillä on luettelo väreistä nimetyllä alueella 'asioita' (E5: E9). Haluamme tarkistaa sarakkeen B tekstin, onko siinä jokin näistä väreistä. Jos näin on, haluamme palauttaa ensimmäisen löydetyn värin nimen.
Tämä kaava käyttää sisältä ulospäin ISNUMBER -funktio ja SEARCH -toiminto etsiä B5: n tekstistä jokaista 'asioissa' lueteltua väriä:
{= INDEX (things, MATCH (TRUE, ISNUMBER ( SEARCH (things,B5)),0))}
Tämä lauseke perustuu kaavaan ( selitetty yksityiskohtaisesti täällä ), joka tarkistaa solun yksittäisen alimerkkijonon varalta. Jos solu sisältää alimerkkijonon, lauseke palauttaa arvon TOSI. Jos ei, lauseke palauttaa EPÄTOSI.
Kun annamme tämän HAKU a luettelo asioista (yhden asian sijasta) antaa meille takaisin joukon tuloksia. Jokainen löydetty väri luo numeerisen sijainnin, ja värit, joita ei löydy, aiheuttavat virheen:
ISNUMBER ( SEARCH (things,B5)
ISNUMBER -funktio muuntaa tulokset sitten TRUE / FALSE -arvoiksi. Mikä tahansa numero tulee TOSI ja virhe (ei löydy) tulee EPÄTOSI. Tuloksena on tällainen taulukko:
{#VALUE!#VALUE!20#VALUE!#VALUE!}
Tämä taulukko palautetaan MATCH -toiminto taulukon argumenttina. Haun arvo on TOSI ja hakutyyppi on asetettu nollaan pakottaakseen tarkan vastaavuuden. Kun on olemassa vastaava väri, MATCH palauttaa sijainnin ensin TOSI. Tämä arvo syötetään INDEX -toiminto rivinumerona, ja matriisina annetaan nimetty alue 'asiat'. Kun on vähintään yksi täsmäys, INDEX palauttaa kyseisen kohdan värin. Jos vastaavuutta ei löydy, tämä kaava palauttaa virheen #N/A.
Kovakoodatuilla arvoilla
Jos et halua määrittää ulkoista nimettyä aluetta, kuten 'asiat' tässä esimerkissä, voit koodata arvot kaavaan 'matriisivakioina' seuraavasti:
Excelin rivien käänteinen järjestys
{FALSEFALSETRUEFALSEFALSE}
Hae ensimmäinen ottelu solussa
Kieli on melko sekava, mutta yllä oleva kaava palauttaa ensimmäisen osuman, joka löytyy luettelo etsittävistä asioista . Jos haluat sen sijaan palauttaa ensimmäisen löydetyn osuman testattavassa solussa , voit kokeilla seuraavanlaista kaavaa:
{= INDEX ({'red','green','blue'}, MATCH (TRUE, ISNUMBER ( SEARCH ({'red','green','blue'},B5)),0))}
Tässä kaavan versiossa MATCH -toiminto on määritetty etsimään tämän katkelman tulosta:
= INDEX (things, MATCH ( AGGREGATE (15,6, SEARCH (things,A1),1), SEARCH (things,A1),0))
joka käyttää AGGREGATE -funktio saadaksesi minimiarvon SEARCHin palauttamissa tuloksissa. Tarvitsemme AGGREGATE: n täällä, koska saapuva taulukko sisältää todennäköisesti virheitä (SEARCH palauttaa, kun asioita ei löydy), ja tarvitsemme toiminnon, joka jättää nämä virheet huomiotta ja antaa meille kuitenkin pienimmän numeerisen arvon.
AGGREGATE: n tulos palautetaan suoraan MATCH: lle hakuarvona yhdessä SEARCHin palauttaman taulukon kanssa. Lopputulos on solusta löydetty ensimmäinen osuma, ei ensimmäinen asialuettelosta löytyvä vastaavuus.
Kirjailija Dave Bruns