Skaičiuoti „Excel“ ląstelių skaičių pagal spalvas (su pavyzdžiais)

Kaip „Excel“ skaičiuoti ląsteles su spalva?

Yra keli būdai, kuriais galime suskaičiuoti ląsteles pagal „Excel“ ląstelės spalvą.

  1. 1 metodas - suskaičiuokite ląsteles su spalva naudodami filtro metodą su tarpine funkcija
  2. 2 metodas - suskaičiuokite ląsteles spalvomis, sukurdami funkciją naudodami VBA kodą

Dabar išsamiai aptarkime kiekvieną metodą kartu su pavyzdžiu -

# 1 Filtro metodo naudojimas su tarpine funkcija

Kaip sakiau, mes turime kelis metodus ląstelėms suskaičiuoti pagal „Excel“ ląstelės spalvą. Šis metodas naudoja funkciją Filtruoti ir tarpinę sumą.

  • 1 žingsnis: Pirma, turime pritaikyti tarpinę funkciją, todėl duomenų pabaigoje „Excel“ atidarykite funkciją SUBTOTAL.
  • 2 žingsnis: Atidarę funkciją SUBTOTAL, mums pateikiamas funkcijų sąrašas. kadangi mes skaičiuojame langelius, pasirinkite funkciją „ 2 - COUNT “.
  • 3 žingsnis: Toliau pasirinkę tarpinės sumos metodą, turime pasirinkti skaičių ląstelių diapazoną.
  • 4 žingsnis: Gerai, dabar šių ląstelių skaičius bus 7.
  • 5 žingsnis: Pirmiau nurodytiems duomenims struktūra taiko filtro parinktį.
  • 6 žingsnis: Spustelėkite išskleidžiamąjį filtrų sąrašą, kad pereitumėte į „ Filtruoti pagal spalvas“. Bus rodomos visos filtruojamos spalvos.
  • 7 žingsnis: Pasirinkite bet kurią iš spalvų, ir mes turėsime tas spalvotas eilutes.
  • 8 žingsnis: Kaip matote aukščiau, mūsų SUBTOTAL funkcija rodo tik filtruotų eilučių skaičių. Kadangi yra tik dvi eilutės, pažymėtos oranžine spalva, funkcija SUBTOTAL rodo skaičių tik kaip tris; panašiai, pasirinkite kitą spalvą ir pažiūrėkite, ar ji veikia puikiai, ar ne.

Šis skaičius yra 2, todėl turime atnaujintą rezultatą.

# 2 Sukurkite funkciją naudodami VBA kodavimą

Kaip jau sakiau, deja, mes neturime jokios integruotos funkcijos, kuri gali padėti mums skaičiuoti ląsteles pagal „Excel“ spalvas. Mes pasakėme, kad nėra integruotos funkcijos, tačiau grožis yra tas, kad mes galime sukurti savo funkciją naudodami VBA kodavimą.

Žemiau yra kodas, kurį jau parašiau, kad sukurtų funkciją ląstelėms skaičiuoti pagal spalvą.

Kodas:

Funkcija „ColorCount“ („ColorCell“ kaip diapazonas, „DataRange“ kaip diapazonas) „Dim Data_Range As Range“ „Dim Cell_Color“ kaip „Long Cell_Color“ = „ColorCell.Interior.ColorIndex“ kiekvienam „Data_Range“ duomenų diapazone, jei „Data_Range.Interior.ColorIndex“ = „Cell_Color“ Tada „ColorCount“ = „ColorCount“ + 1 pabaiga, jei „Next Data_Range“ Funkcija

Viskas, ką jums reikia padaryti, tai nukopijuoti aukščiau esantį kodą ir įklijuoti jį į savo VBA modulį, kaip parodyta žemiau.

Dabar grįžkite į darbalapį, kuriame turime duomenų, ir sukurkite tris langelius su spalva.

Įdėkite lygybės ženklą ir atidarykite funkciją, kurią sukūrėme naudodami aukščiau pateiktą kodą.

Pirmasis šios funkcijos argumentas yra „mes turime pasirinkti spalvų langelį, kurį turime suskaičiuoti“, todėl šiuo atveju aš pasirinksiu E2 langelį.

Antrasis argumentas - kuriame ląstelių diapazone turime suskaičiuoti pasirinktą langelio spalvą.

Gerai, tai viskas, ko mums reikia šiai funkcijai. Uždarykite laikiklį ir paspauskite klavišą Enter, kad gautumėte pasirinktos langelio spalvos skaičių.

Panašiai darykite ir kitas spalvotas ląsteles. Gauname tokį rezultatą.

Tai daroma naudojant VBA „ Vartotojo nustatytą funkciją“, ji pereis per numatytą langelių diapazoną ir suskaičiuos ląstelių skaičių, kurių spalva yra tiksliai tokia pati kaip ir pateiktos langelio spalvos.

Tada ji susumuos visas suderintas spalvų ląsteles ir grąžins rezultatą kaip tos spalvos ląstelių skaičių.

Taip galime excel skaičiuoti ląsteles su spalvomis. Yra ir kitų metodų, tačiau jie yra šiek tiek sudėtingi, todėl mokymosi pradžioje eikite į lengviausią.

Ką čia reikia atsiminti

  • Funkcija SUBTOTAL skaičiuoja tik langelius, kurie yra matomi, taigi, pritaikius filtrą, bus skaičiuojamos tik tos filtruotos spalvos ląstelės.
  • VBA kodas skirtas UDF funkcijai, nes nėra integruotų funkcijų, todėl turime susikurti savo.

Įdomios straipsniai...