Loendage Exceli lahtrite arv värvi järgi (koos näidetega)

Lang L: none (table-of-contents)

Kuidas Excelis värvilisi rakke lugeda?

Rakke saab Excelis oleva lahtri värvi põhjal loendada mitmel viisil.

  1. Meetod nr 1 - loendage lahtrid värviga, kasutades filtri meetodit, mille funktsioon on osaline
  2. Meetod nr 2 - loendage lahtrid värviga, luues funktsiooni VBA-koodi abil

Arutagem nüüd üksikasjalikult iga meetodi üle koos ühe näitega -

# 1 Filtrimeetodi kasutamine funktsiooniga Alamkogus

Nagu ma ütlesin, on meil rakkude loendamiseks Excelis olevate rakkude värvi põhjal mitu meetodit. See meetod kasutab funktsiooni Filter ja vahesumma.

  • 1. samm: kõigepealt peame rakendama vahesummafunktsiooni, nii et andmete lõpus avage Excelis funktsioon SUBTOTAL.
  • 2. samm: kui funktsioon SUBTOTAL on avatud, antakse meile selle all funktsioonide loend; kuna loendame lahtrid, valige funktsioon „ 2 - COUNT “.
  • 3. samm: Pärast vahesummameetodi valimist peame valima loendatavate lahtrite vahemiku.
  • 4. samm: OK, nüüd on nende rakkude arv 7.
  • 5. samm: ülaltoodud andmete puhul rakendab struktuur filtrivalikut.
  • 6. samm: klõpsake filtrite rippmenüül, et avada jaotis „ Värvi järgi filtreerimine”. See näitab kõiki filtreerimiseks saadaolevaid värve.
  • 7. samm: valige ükskõik milline värv ja meil on need värvilised read.
  • 8. samm: nagu näete eespool, näitab meie funktsioon SUBTOTAL ainult filtreeritud ridade arvu. Kuna oranžiga on tähistatud ainult kaks rida, kuvatakse funktsioon SUBTOTAL, kui loend on ainult kolm; sarnaselt valige mõni teine ​​värv ja vaadake, kas see töötab ideaalselt või mitte.

See arv on 2, seega on meil värskendatud tulemus.

# 2 Funktsiooni loomine VBA kodeerimise abil

Nagu ma teile ütlesin, pole meil kahjuks ühtegi sisseehitatud funktsiooni, mis aitaks meil Excelis värvi järgi rakke lugeda. Oleme öelnud, et sisseehitatud funktsiooni pole, kuid ilu on selles, et saame VBA-kodeerimise abil ise oma funktsiooni luua.

Allpool on kood, mille olen juba kirjutanud, et luua funktsioon värvide põhjal rakkude lugemiseks.

Kood:

Funktsioon ColorCount (ColorCell as Range, DataRange As Range) Hämardada Data_Range As Range Dim Cell_Color As Long Cell_Color = ColorCell.Interior.ColorIndex igale Data_Range'ile DataRange Kui Data_Range.Interior.ColorIndex = Cell_color Siis ColorCount = ColorCount + 1 lõpp, kui järgmine Data_Range Funktsioon

Kõik, mida peate tegema, on kopeerida ülaltoodud kood ja kleepida see oma VBA moodulisse, nagu allpool näidatud.

Tulge nüüd tagasi töölehe juurde, kus meil on andmeid, ja looge kolm värviga lahtrit.

Pange võrdusmärk ja avage funktsioon, mille oleme loonud ülaltoodud koodi abil.

Esimene selle funktsiooni argument on "peame valima loendamiseks vajaliku värviraku", nii et sel juhul valin lahtri E2.

Teine argument seisneb selles, millises rakkude vahemikus peame valitud lahtrivärvi loendama.

OK, see on kõik, mida selle funktsiooni jaoks vajame. Valitud lahtrivärvide arvu saamiseks sulgege sulg ja vajutage sisestusklahvi.

Samamoodi tehke ka teiste värviliste rakkude puhul. Saame järgmise tulemuse.

Selleks kasutatakse VBA " Kasutaja määratletud funktsiooni" , mis viib läbi etteantud lahtrivahemiku ja loendab arv lahtrid, millel on täpselt sama värv kui pakutaval lahtrivärvil.

Siis summeerib see kõik sobitatud värvirakud ja tagastab tulemuse selle värviraku arvuna.

Niimoodi saame Excelis värvidega lahtrid kokku lugeda. On ka teisi meetodeid, kuid need on veidi keerulised, nii et õppimise alguses jätkake lihtsama meetodiga.

Siinkohal meeldejäävad asjad

  • Funktsioon SUBTOTAL loendab ainult neid lahtreid, mis on nähtavad, nii et filtri rakendamisel loeb see ainult neid filtreeritud värvilisi lahtreid.
  • VBA-kood on UDF-funktsiooni jaoks, kuna sisseehitatud funktsioone pole, seega peame looma oma.

Huvitavad Artiklid...