Spis treści
W Excelu nie ma funkcji do wykonywania obliczeń na podstawie koloru komórek.Ale za pomocą Microsoft Visual Basic for Applications (VBA) możliwe jest tworzenie niestandardowych funkcji do obliczeń na podstawie koloru komórek. W tym artykule pokażę, jak można utworzyć i użyć funkcji ColorFunction w programie Excel.
Załóżmy, że mamy zbiór danych o zamówieniach produktów w firmie. kolumna Zamówienie Ilość Dostarczone zamówienia są oznaczone kolorem jasnozielonym, a zamówienia w trakcie realizacji kolorem jasnopomarańczowym. Teraz możemy znaleźć liczbę klientów, którzy otrzymali lub nie otrzymali swoich zamówień, licząc te same kolorowe komórki. Całkowita ilość dostarczonych lub dostarczonych zamówień może być znaleziona poprzez zsumowanie tych samych kolorowych komórek.
Pobierz Zeszyt ćwiczeń
Funkcja Colorfunction w Excelu.xlsmFunkcja ColorFunction w programie Excel
Krok 1 : Otwieranie modułu makra w oknie VBA
Najpierw należy otworzyć VBA naciskając ALT+F11. Następnie kliknij prawym przyciskiem myszy na nazwę arkusza z lewego panelu i przejdź do Insert> Moduł
W związku z tym, a Moduł skrzynka zostanie otwarta.
Krok 2 : Wstawianie kodu VBA do tworzenia funkcji ColorFunction
Wstaw następujący kod, w Moduł i zamknij VBA okno.
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
Tutaj kod VBA tworzy funkcję niestandardową o nazwie KolorFunkcja który będzie zliczał kolorowe komórki, jeśli podamy argument jako FALSE i zsumuje kolorowe komórki, jeśli podamy argument jako PRAWDA.
Krok 3 : Zapisanie skoroszytu jako skoroszytu z włączonymi makrami Excela
Musisz zapisać skoroszyt Excela w .xlsm aby zapisać swoją funkcję. Najpierw przejdź do Plik z lewego górnego rogu okna Excela.
Następnie należy wybrać Save As.
Następnie wybierz Skoroszyt roboczy z obsługą makr w programie Excel (*xlsm) i kliknąć na Zapisz.
Krok 4 : Używanie funkcji ColorFunction do liczenia kolorowych komórek
Teraz możesz użyć swoich własnych KolorFunkcja.
Aby uzyskać liczbę jasnozielonych komórek, wpisz w pustej komórce następującą formułę,
=ColorFunction(F5,$D$5:$D$11,FALSE)
Tutaj, F5 = Komórka kryterialna, której kolor będzie zliczany
$D$5:$D$11 = Zakres dla liczenia
FALSE wskazuje, że zliczana będzie liczba komórek o tym samym kolorze co komórka kryterialna
Naciśnij ENTER i otrzymasz liczbę jasnozielonych komórek.
W podobny sposób można uzyskać zliczenie dla jasnopomarańczowych komórek.
Krok 5 : Użycie funkcji ColorFunction do sumowania kolorowych komórek
Aby uzyskać sumę komórek koloru jasnozielonego, wpisz w pustej komórce następującą formułę,
=ColorFunction(F5,$D$5:$D$11,TRUE)
Tutaj, F5 = komórka kryterialna, której kolor będzie sumowany
$D$5:$D$11 = Zakres dla sumy
TRUE wskazuje, że liczba komórek mających ten sam kolor z komórką kryterialną będzie sumowana.
sumę jasnozielonych komórek uzyskasz naciskając ENTER.
W podobny sposób można uzyskać sumę jasnopomarańczowych komórek.
Alternatywne sposoby liczenia i sumowania Kolorowe komórki
Zamiast używać KolorFunkcja, można uzyskać liczbę kolorowych komórek lub zsumować kolorowe komórki na dwa różne sposoby.
1) Używanie funkcji FILTR i SUBTOTAL
Liczbę i sumę kolorowych komórek można uzyskać za pomocą Filtr oraz funkcja SUBTOTAL .
Najpierw przejdź do Dane i kliknij na Filtr.
Następnie obok nagłówka każdej kolumny pojawi się strzałka w dół. Kliknij na strzałkę w dół obok Zamówienie Ilość (kolumna kolorowa), przejdź do Filtr według koloru , i wybierz kolor jasnozielony.
Teraz w tej kolumnie będą widoczne tylko dane w kolorze jasnozielonym. Aby uzyskać liczbę, wpisz następującą formułę,
=SUBTOTAL(2,D5:D11)
Tutaj 2 oznacza, że komórka zostanie policzona, a D5:D11 jest zakresem danych.
Po naciśnięciu ENTER otrzymasz liczbę komórek o jasnozielonym kolorze.
Aby uzyskać sumę kolorowych komórek, wpisz następującą formułę,
=SUBTOTAL(9,D5:D11)
Tutaj 9 oznacza, że komórka zostanie zsumowana, a D5:D11 to zakres danych
Po naciśnięciu ENTER otrzymasz sumę komórek koloru jasnozielonego.
Zmieniając filtr na jasnopomarańczowy kolor, można uzyskać liczbę i sumę komórek o pomarańczowym zabarwieniu.
2) Użycie funkcji GET.CELL
Poprzez użycie GET.CELL Funkcja możesz również liczyć i sumować kolorowe komórki.
Najpierw przejdź do Formuły zakładka i wybrać Define Name.
A Nowa nazwa Pojawi się okno, w którym należy wpisać nazwę, np. Kolor w Nazwa Box. i wstawić formułę w Dotyczy pole i naciśnij OK.
=GET.CELL(38,'GET CELL'!$D5)
Tutaj 38 oznacza, że formuła poda kod koloru komórki, do której się odwołuje, a 'GET CELL'!$D5 jest komórką, do której się odwołujemy (pierwsza komórka po nagłówku kolorowej kolumny)
Teraz wpisz =Kolor (Imię i nazwisko podane wcześniej w Zdefiniuj nazwy box) w sąsiedniej kolumnie swojej kolorowej kolumny.
Po naciśnięciu ENTER i przeciągnięcie komórki E5 na koniec swojego zbioru danych, otrzymasz kody kolorów wszystkich kolorowych komórek z kolumny E .
Teraz wpisz następującą formułę, aby uzyskać liczbę komórek o jasnozielonym kolorze
=COUNTIF($E$5:$E$11,50)
Tutaj, $E$5:$E$11 to zakres dla count, a 50 to kod koloru jasnozielonego.
Po naciśnięciu Wejdź na stronę otrzymasz liczbę komórek o zielonym kolorze.
Wpisz następującą formułę, aby uzyskać sumę komórek o jasnozielonym kolorze,
=SUMIF(E5:E11,50,D5:D11)
Tutaj, E5:E11 oznacza zakres kryteriów, 50 oznacza kod koloru jasnozielonego, a D5:D11 jest zakresem sumy.
Naciśnij ENTER a otrzymasz sumę wszystkich komórek o zielonym kolorze.
W podobny sposób można uzyskać liczbę i sumę komórek o jasnopomarańczowym kolorze.
Wniosek
Mam nadzieję, że po przejściu przez artykuł teraz można utworzyć i używać ColorFunction w Excelu. Jeśli napotkasz jakiś problem proszę zostawić komentarz.