| Автор |
Тема |
Alex
20.01.2008, 11:43
|
Сосчитать количество ячеек с одинаковым цветом заливки |
|
Можно ли в PLEX сосчитать количество ячеек с одинаковым цветом заливки?
|
Николай Павлов
20.01.2008, 13:15
|
Re: Сосчитать количество ячеек с одинаковым цветом заливки |
|
Можно использовать в дополнительном столбце функцию CELLCOLOR, которая выдает код цвета ячейки, и далее считать по этому столбцу количество нужных кодов с помощью функции СЧЕТЕСЛИ (COUNTIF)
|
Igor
21.01.2008, 06:22
|
|
|
А как то еще можно? У меня файл из 48 столбцов и около 1700 строк, и каждая ячейка закрашена отдельным цветом, так что по вашеу совету это тоже достаточно трудоёмко.
|
Лузер
22.01.2008, 08:57
|
|
|
Используйте пользовательскую функцию
Например так:
Function CountColor(Diapazon As Range, Kriterij As Range) As Variant
Dim cc As Range
CountColor = 0
If Kriterij.Count = 1 Then
For Each cc In Diapazon
If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then CountColor = CountColor + 1
Next
Else
CountColor = "#H/Ä"
End If
End Function
Аналогична СЧЁТЕСЛИ() - указываете диапазон где считать заливку, указываете критерий - ячейку с заливкой которую надо считать
|
Лузер™
08.08.2008, 17:54
|
|
|
Надо наконец кракозябру исправить:
Variant
Dim cc As Range
CountColor = 0
If Kriterij.Count = 1 Then
For Each cc In Diapazon
If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then CountColor = CountColor + 1
Next
Else
CountColor = "#N/A"
End If
End Function
|
Артём
14.08.2008, 16:28
|
Сосчитать количество ячеек с одинаковым цветом заливки |
|
А можно ли сделать тоже самое, только в Excel ? Если да то как ? Заранее спасибо
|
Лузер™
14.08.2008, 18:27
|
Re: Сосчитать количество ячеек с одинаковым цветом заливки |
| Сосчитать количество ячеек с одинаковым цветом заливки (Автор: Артём, Дата: 14.08.2008 04:28) |
| А можно ли сделать тоже самое, только в Excel ? Если да то как ? Заранее спасибо |
А это где по Вашему? В блокноте или фотошопе?
|
Артём
14.08.2008, 18:52
|
|
|
Сори за ламерство, просто в первом посте было "Можно ли в PLEX сосчитать" вот я и спросил, про excel без plex или он тут особо роли неиграет??? Просто у меня его нет
|
Лузер
15.08.2008, 01:14
|
|
|
И у меня нет.
Это обычная пользовательская функция.
|
Артём
16.08.2008, 08:28
|
Re: |
| (Автор: Лузер(tm), Дата: 08.08.2008 05:54) |
Надо наконец кракозябру исправить:
?Variant
?Dim cc As Range
?CountColor = 0
?If Kriterij.Count = 1 Then
?For Each cc In Diapazon
?If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then CountColor = CountColor + 1
?Next
?Else
?CountColor = "#N/A"
?End If
?End Function |
??У меня ещё один ЛАМЕРСКИЙ вопросик, а куда это вставлять и как потом этой штукой пользоваться ???
|
16.08.2008, 21:58
|
Re: |
|
Еще раз поправлю:
Function CountColor(Diapazon As Range, Kriterij As Range) As Variant
Dim cc As Range
CountColor = 0
If Kriterij.Count = 1 Then
For Each cc In Diapazon
If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then CountColor = CountColor + 1
Next
Else
CountColor = "#N/A"
End If
End Function
Alt+F11 - откроется редактор, слева на имени книги пкм - инсерт - модуль
вот туда и копируйте это.
потом на листе ищете во вставке в определенных пользователем.
|
Artur
15.09.2008, 16:15
|
Как оставить критерий неизменным |
|
У меня такой вопрос. Используя функцию CountColor в одной ячейки, мне надо использовать эту же функцию в других, я выделяю ячейку и тяну за правый нижний угол в сторону, но с изменением диапазона, меняется и критерий. Можно ли как сделать чтобы при таких манипуляциях критерий остовался неизменным ???
|
alex2621
Число сообщений: 1
28.01.2010, 15:52
|
MO2007 |
|
Работал в 2003, все с "CountColor" бало ОК, работала как часики, но сейчас на работе заменили комп и теперь стоит 2007, когда открыл документ то в ячейке с формулой увидел "#ИМЯ?", при перестановке модуля заново на 2007, функция получается "=имядокумента.xlsm!Module1.CountColor()".
Помогите, как сделать чтобы работала в МО2007?
|
13.02.2010, 03:49
|
Re: Re: |
| Re: (Автор: , Дата: 16.08.2008 09:58) |
Еще раз поправлю:
Function CountColor(Diapazon As Range, Kriterij As Range) As Variant
Dim cc As Range
CountColor = 0
If Kriterij.Count = 1 Then
For Each cc In Diapazon
If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then CountColor = CountColor + 1
Next
Else
CountColor = "#N/A"
End If
End Function
Alt+F11 - откроется редактор, слева на имени книги пкм - инсерт - модуль
вот туда и копируйте это.
потом на листе ищете во вставке в определенных пользователем. |
а почему эта функция не видит цвет, если он получается в результате условного форматирования?
|
IG
Число сообщений: 2
02.07.2010, 14:52
|
|
|
добрый день. у меня такой вопрос
есть функция:
'Подсчет количества ячеек по цвету заливки
Function СЧЕТЯЧЦВЕТ(Diapazon As Range, Kriterij As Range) As Variant
Dim cc As Range
СЧЕТЯЧЦВЕТ = 0
If Kriterij.Count = 1 Then
For Each cc In Diapazon
If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then СЧЕТЯЧЦВЕТ = СЧЕТЯЧЦВЕТ + 1
Next
Else
СЧЕТЯЧЦВЕТ = "#N/A"
End If
End Function
что куда надо добавить, чтоб она учитывала только ячейки с ненулевыми значениями (т.е. в ячейках есть либо текст либо цифры)??
подскажите пожалуйста
|
Longines
Число сообщений: 41
06.07.2010, 17:23
|
Re: |
| (Автор: IG, Дата: 02.07.2010 02:52) |
добрый день. у меня такой вопрос
есть функция:
'Подсчет количества ячеек по цвету заливки
Function СЧЕТЯЧЦВЕТ(Diapazon As Range, Kriterij As Range) As Variant
Dim cc As Range
СЧЕТЯЧЦВЕТ = 0
If Kriterij.Count = 1 Then
For Each cc In Diapazon
If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then СЧЕТЯЧЦВЕТ = СЧЕТЯЧЦВЕТ + 1
Next
Else
СЧЕТЯЧЦВЕТ = "#N/A"
End If
End Function
что куда надо добавить, чтоб она учитывала только ячейки с ненулевыми значениями (т.е. в ячейках есть либо текст либо цифры)??
подскажите пожалуйста |
Function СЧЕТЯЧЦВЕТ(Diapazon As Range, Kriterij As Range) As Variant
Dim cc As Range
СЧЕТЯЧЦВЕТ = 0
If Kriterij.Count = 1 Then
For Each cc In Diapazon
If cc.value <> "" then
If cc.Interior.ColorIndex = Kriterij.Interior.ColorIndex Then СЧЕТЯЧЦВЕТ = СЧЕТЯЧЦВЕТ + 1
end if
Next
Else
СЧЕТЯЧЦВЕТ = "#N/A"
End If
End Function
В принципе какой смысл в критерии тогда?
|
Longines
Число сообщений: 41
06.07.2010, 17:26
|
Re: Re: Re: |
| Re: Re: (Автор: , Дата: 13.02.2010 03:49) |
|
Для условного форматирования надо считать критерии окраски самому.
|
07.07.2010, 08:54
|
Re: Re: |
спасибо большое. все работает. я в принципе понимал как логически прописать, но с синтаксисом не разобрался..
| (Автор: Longines, Дата: 06.07.2010 05:23) |
|
дак критерий указывает цвет окраски ячейки. цветов же в таблице может быть несколько.. просто есть ячейки, которые без значений, а надо считать только с значениями.. смысл особый еще появляется, когда в критерии не цвет заливки а цвет шрифта! тогда ячейки с нулевыми значениями не видны, а подсчитываются (в моем недоработанном случае)
|
IG
Число сообщений: 2
07.07.2010, 08:57
|
Re: Re: |
спасибо большое. все работает. я в принципе понимал как логически прописать, но с синтаксисом не разобрался..
| (Автор: Longines, Дата: 06.07.2010 05:23) |
В принципе какой смысл в критерии тогда? |
дак критерий указывает цвет окраски ячейки. цветов же в таблице может быть несколько.. просто есть ячейки, которые без значений, а надо считать только с значениями.. смысл особый еще появляется, когда в критерии не цвет заливки а цвет шрифта! тогда ячейки с нулевыми значениями не видны, а подсчитываются (в моем недоработанном случае)
|
Novenkaya
27.07.2010, 14:30
|
CountColor |
|
А еще можно подсчитывать не просто цветные непустые ячейки, а с конкретными данными, в моем случае, например в Табеле учета рабочего времени нужно было "выбросить" дни отпуска, попадающие на выхи.
Автору текста функции БОЛЬШОЕ СПАСИБО!
|
| [ ответить ] |