Jos haluat testata solun nähdäksesi, vastaako se yhtä useista asioista, voit tehdä sen kaavalla, joka käyttää SUMPRODUCT -funktiota.
kuinka käyttää dcountia Excelissä
Konteksti
Oletetaan, että sinulla on luettelo tekstimerkkijonoista alueella B5: B11 ja haluat testata jokaisen solun toisen luettelon asioista alueella E5: E9. Toisin sanoen, haluat tietää B5: B11: n jokaisesta solusta: onko tämä solu sama kuin jokin kohdasta E5: E9?
Voit aloittaa suuren kaavan rakentamisen sisäkkäisiä IF -lausekkeita , mutta SUMPRODUCT -pohjainen taulukkokaava on yksinkertaisempi ja puhtaampi lähestymistapa.
Ratkaisu
Ratkaisu on luoda kaava, joka testaa useita arvoja ja palauttaa luettelon TOSI / EPÄTOSI arvoista. Kun meillä on se, voimme käsitellä tuota luetteloa (itse asiassa taulukkoa) SUMPRODUCTilla.
Käyttämämme kaava näyttää tältä:
kuinka tallentaa makroja Excelissä
= SUMPRODUCT (--(A1=things))>0Selitys
Avain on tämä katkelma:
= SUMPRODUCT (--(B5=things))>0
joka yksinkertaisesti vertaa B5: n arvoa kaikkiin arvoihin nimetyllä alueella 'asiat'. Koska vertaamme B5: tä matriisiin (eli nimettyyn alueeseen 'asiat', E5: E11), tuloksena on TOSI / EPÄTOSI -arvojen taulukko, kuten tämä:
{TRUEFALSEFALSEFALSEFALSE}
Jos taulukossa on vain yksi TOSI, tiedämme, että B5 on vähintään yksi asia luettelossa, joten pakottaaksesi TOSI / EPÄTOSI-arvot arvoihin 1s ja 0s käytämme kaksoisnegatiivia (-, jota kutsutaan myös kaksinkertaiseksi unary). Tämän pakotuksen jälkeen meillä on tämä:
{10000}
muuntaa kuukaudet vuosiksi excel
Nyt käsittelemme tuloksen SUMPRODUCTilla, joka lisää taulukon elementit yhteen. Jos saamme nollasta poikkeavan tuloksen, meillä on vähintään yksi ottelu, joten käytämme> 1 pakottaaksemme lopputuloksen joko TOSI tai EPÄTOSI.
Kovalla koodilla varustetulla luettelolla
Ei ole pakollista käyttää valikoimaa tavaristalistallasi. Jos etsit vain pientä määrää asioita, voit käyttää taulukkomuodossa olevaa luetteloa, jota kutsutaan matriisivakioksi. Jos esimerkiksi etsit vain punaista, sinistä ja vihreää väriä, voit käyttää {'punainen', 'sininen', 'vihreä'} seuraavasti:
--(B5=things)
Ylimääräisten tilojen käsittely
Jos testattavat solut sisältävät ylimääräistä tilaa, ne eivät täsmää oikein. Jos haluat poistaa kaiken ylimääräisen tilan, voit muokata kaavaa käyttämään TRIM -toimintoa seuraavasti:
Kirjailija Dave Bruns--(B5={'red','blue','green'})