Cum să creați și să utilizați ColorFunction în Excel

  • Imparte Asta
Hugh West

În Excel, nu există o funcție care să permită efectuarea de calcule pe baza culorii celulelor. Dar, folosind funcția Microsoft Visual Basic pentru aplicații (VBA) este posibil să se realizeze funcții personalizate pentru calcul pe baza culorii celulelor. În acest articol, vă voi arăta cum puteți crea și utiliza funcția ColorFunction în Excel.

Să presupunem că avem un set de date cu comanda de produse a unei companii. Coloana Cantitatea de comandă este colorată în funcție de starea de livrare a acestora. Comenzile livrate sunt colorate cu verde deschis, iar comenzile care sunt în curs de livrare sunt colorate cu portocaliu deschis. Acum putem afla numărul de clienți care și-au primit sau nu comenzile prin numărarea celulelor de aceeași culoare. Cantitatea totală de comenzi livrate sau în curs de livrare poate fi găsită prin însumarea celulelor de aceeași culoare.

Descărcați caietul de practică

Funcția de culoare în Excel.xlsm

Funcția Culoare în Excel

Pasul 1 : Deschiderea modulului macro în fereastra VBA

În primul rând, trebuie să deschideți fișierul VBA prin apăsarea tastei ALT+F11. După aceea, faceți clic dreapta pe numele foii din panoul din stânga și mergeți la Insert> Modul

Ca urmare, un Modul se va deschide caseta.

Pasul 2 : Inserarea codului VBA pentru crearea ColorFunction

Inserați următorul cod, în fișierul Modul și închideți caseta VBA fereastră.

 Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 +vResult End If Next rCell End If ColorFunction = vResult End Function 

Aici, codul VBA creează o funcție personalizată numită CuloareFuncție care va număra celulele colorate dacă dăm argumentul ca fiind FALSE și va însuma celulele colorate dacă dăm argumentul sub forma ADEVĂRAT.

Pasul 3 : Salvarea registrului de lucru ca registru de lucru activat pentru macrouri Excel

Trebuie să salvați registrul de lucru Excel în .xlsm pentru a salva funcția personalizată. În primul rând, mergeți la Fișier din colțul din stânga sus al ferestrei Excel.

După aceea, selectați Salvați ca.

Apoi selectați Caietul de lucru cu macrouri Excel (*xlsm) și faceți clic pe Economisiți.

Pasul 4 : Utilizarea funcției ColorFunction pentru a număra celulele colorate

Acum puteți utiliza aplicația dvs. personalizată CuloareFuncție.

Pentru a obține numărul de celule de culoare verde deschis, introduceți următoarea formulă într-o celulă goală,

=ColorFunction(F5,$D$5:$D$11,FALSE)

Aici, F5 = Celula de criteriu a cărei culoare va fi contabilizată

$D$5:$D$11 = Intervalul pentru numărătoare

FALSE indică faptul că se va număra numărul de celule care au aceeași culoare cu celula criteriu.

Apăsați ENTER și veți obține numărul de celule de culoare verde deschis.

În mod similar, puteți obține numărul de celule portocalii deschise.

Pasul 5 : Utilizarea funcției ColorFunction pentru a aduna celule colorate

Pentru a obține suma celulelor de culoare verde deschis, introduceți următoarea formulă într-o celulă goală,

=ColorFunction(F5,$D$5:$D$11,TRUE)

Aici, F5 = Celula criteriu a cărei culoare va fi însumată

$D$5:$D$11 = Interval pentru suma

ADEVĂRAT indică faptul că se va aduna numărul de celule care au aceeași culoare cu celula criteriu.

veți obține suma celulelor de culoare verde deschis apăsând pe INTRĂ.

În mod similar, puteți obține suma celulelor portocalii deschise.

Modalități alternative de numărare și adunare a celulelor colorate

În loc de a folosi CuloareFuncție, puteți obține numărul de celule colorate sau suma celulelor colorate în două moduri diferite.

1. Utilizarea funcțiilor FILTER și SUBTOTAL

Puteți obține numărul și suma celulelor colorate folosind Filtru și funcția SUBTOTAL .

În primul rând, mergeți la Date și faceți clic pe Filtru.

După aceea, săgeata descendentă va apărea lângă fiecare antet de coloană. Faceți clic pe săgeata descendentă de lângă coloana Cantitatea de comandă (Coloana colorată), mergeți la Filtrează după culoare , și selectați culoarea verde deschis.

Acum veți vedea doar date de culoare verde deschis în această coloană. Pentru a obține numărul de date, introduceți următoarea formulă,

=SUBTOTAL(2,D5:D11)

Aici 2 indică faptul că celula va fi numărată și D5:D11 este intervalul de date.

După ce ați apăsat ENTER veți obține numărul de celule de culoare verde deschis.

Pentru a obține suma celulelor colorate, introduceți următoarea formulă,

=SUBTOTAL(9,D5:D11)

Aici 9 indică faptul că celula va fi însumată și D5:D11 este intervalul de date

După ce ați apăsat ENTER veți obține suma celulelor de culoare verde deschis.

Schimbând filtrul în culoarea portocaliu deschis, puteți obține numărul și suma celulelor de culoare portocalie.

2. Utilizarea funcției GET.CELL

Prin utilizarea GET.CELL puteți, de asemenea, să numărați și să însumați celulele colorate.

În primul rând, mergeți la Formule și selectați Definiți numele.

A Nume nou Se va afișa o casetă. Introduceți un nume, cum ar fi Culoare în Nume Box. și introduceți formula în Se referă la și apăsați BINE.

=GET.CELL(38,'GET CELL'!$D5)

Aici 38 indică faptul că formula va da codul de culoare al celulei menționate și 'GET CELL'!$D5 este celula la care se face referire (prima celulă după antetul coloanei colorate)

Acum tastați =Color (Numele pe care l-ați dat anterior în Definiți numele caseta) în coloana adiacentă coloanei colorate.

După ce ați apăsat ENTER și tragerea celulei E5 la sfârșitul setului de date, veți obține codurile de culoare ale tuturor celulelor colorate din coloana E .

Acum, introduceți următoarea formulă pentru a obține numărul de celule de culoare verde deschis

=COUNTIF($E$5:$E$11,50)

Aici, $E$5:$E$11 este intervalul pentru numărătoare, iar 50 este codul de culoare verde deschis.

După ce ați apăsat Introduceți veți obține numărul de celule de culoare verde.

Introduceți următoarea formulă pentru a obține suma celulelor de culoare verde deschis,

=SUMIF(E5:E11,50,D5:D11)

Aici, E5:E11 este intervalul de criterii, 50 indică codul de culoare verde deschis și D5:D11 este intervalul sumei.

Apăsați ENTER și veți obține suma tuturor celulelor de culoare verde.

În mod similar, puteți obține numărul și suma celulelor de culoare portocalie deschisă.

Concluzie

Sper că după ce ați parcurs articolul acum puteți crea și utiliza ColorFunction în Excel. Dacă întâmpinați orice problemă, vă rugăm să lăsați un comentariu.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.