Korzystam z Arkuszy kalkulacyjnych Google do tworzenia macierzy (czas / aktywność) jako codziennego harmonogramu logowania pracowników.
Czy istnieje formuła do obliczania liczby komórek w kolumnie, które są cieniowane (lub nie cieniowane) określonego koloru?
Na przykład: 20 komórek jest szare, a 31 nie jest szare (zacieniowany na inny kolor) i zamiast ręcznie je zliczać, oblicza to na dole kolumny zasięgu.
google-sheets
google-apps-script
salgire
źródło
źródło
Odpowiedzi:
Znalazłem sposób, aby to zrobić, korzystając z funkcji skryptowej udostępnianej przez Google Spreadsheet.
Oto jak to zrobić:
Kod:
Po wykonaniu powyższych kroków w arkuszu kalkulacyjnym dostępne są jeszcze trzy funkcje:
countCellsWithBackgroundColor(<color>, <range specification>)
sumWhereBackgroundColorIs(<color>, <range specification>)
getBackgroundColor(<cell specification>)
Należy pamiętać, że
<range specification>
i<cell specification>
są wyrażone w notacji A1 i muszą być ujęte w cudzysłów .Na przykład, aby uzyskać liczbę wszystkich komórek z zakresu B2: F13, dla których kolor tła jest ustawiony na biały , należy wprowadzić następującą formułę:
i aby obliczyć sumę tych samych komórek, użyj wzoru:
Niektóre komórki mogą nie mieć tła w kolorze takim jak „biały”, „szary”, ale podobny do koloru RGB
#6fa8dc
. Nie możesz zgadnąć, jaki jest kolor, więc jeśli chcesz znaleźć kolor komórki (na przykładB9
), wpisz tę formułę w komórce:a następnie użyj tej wartości jako parametru dla dwóch powyższych funkcji.
Wygląda na to, że jeśli kolor tła komórki to „kolor motywu”,
getBackground()
zawsze niepoprawnie zwraca#ffffff
. Nie znalazłem innego rozwiązania niż użycie koloru ze standardowego zestawu.Ponownie zwróć uwagę na cytaty we wszystkich powyższych przykładach; bez nich formuły nie działałyby.
źródło
getBackgroundColor()
Jest przestarzała. Być może możesz zaktualizować kod?W Dokumentach Google nie znalazłem sposobu bezpośredniego zliczania komórek o określonym kolorze.
Co sprawia, że są zacienione. Czy to jest automatyczne? Jeśli mają wartość, są automatycznie cieniowane? W takim przypadku możesz użyć funkcji counta () do zliczenia dowolnej komórki z wartością. Jeśli w grę wchodzi bardziej złożony zestaw reguł, może być konieczne użycie funkcji countif ().
Uwaga: może być konieczne uwzględnienie dodatkowych wierszy u góry lub u dołu kolumny
źródło