Подсчет ячеек с использованием цветов текста (Microsoft Excel)
У Михалы есть лист ответов на опрос, который включает разный текст разного цвета. Например, при ответе на опрос «Я не люблю собак» слово «собаки» может быть окрашено в красный цвет, а остальной текст — в черный цвет. В ответе может быть несколько цветов, например, в ответе «Я люблю собак и кошек» слово «собаки» может быть красным, а слово «кошки» — синим. Михале нужен способ выделить диапазон ячеек и подсчитать, сколько ячеек содержит текст определенного цвета, например красного или синего.
Лучше всего это сделать, разработав определяемую пользователем функцию, которая будет производить подсчет за вас. В следующем примере проходит через диапазон ячеек и производится подсчет любого указанного вами значения индекса цвета.
Function CountColorIndex(rng As Range, iColor As Integer) Dim v As Variant Dim rCell As Range Dim str As String Dim sChar As String Dim x As Integer Dim iCount As Integer iCount = 0 For Each rCell In rng v = rCell.Font.ColorIndex If IsNull(v) Then For x = 1 To Len(rCell.Value) If rCell.Characters(x, 1).Font.ColorIndex _ = iColor Then iCount = iCount + 1 Exit For End If Next ElseIf v = iColor Then iCount = iCount + 1 End If Next CountColorIndex = iCount End Function
Функция сначала смотрит на цвет шрифта ячейки в целом. Если цвет ячейки равен нулю, это означает, что цвет отдельных символов был изменен, и поэтому функция начинает просмотр каждого символа. Если он находит соответствующий цвет, счетчик (iCount) увеличивается, и функция перестает просматривать каждый символ.
Если цвет ячейки не равен нулю, функция определяет, соответствует ли цвет шрифта ячейки в целом желаемому цвету. Если это так, то счетчик увеличивается.
Этот процесс повторяется для каждой ячейки в указанном диапазоне, а затем функция возвращает значение счетчика. Вы используете функцию следующим образом:
=CountColorIndex(B7:D42,3)
Эта формула проверяет диапазон B7: D42, чтобы увидеть, есть ли экземпляры красного цвета. Затем счетчик возвращается формулой.
Стоит отметить, что функция полагается на значения индекса цвета.
Обычное значение по умолчанию для красного цвета — 3, а значение для синего — 5, но эти значения могут быть изменены пользователем, и они могут различаться в зависимости от используемой версии Excel. Чтобы функция возвращала желаемые результаты, вам необходимо изменить значение индекса цвета, указанное во втором параметре формулы, чтобы оно представляло индексы цвета, используемые в вашей конкретной книге.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2901) применим к Microsoft Excel 97, 2000, 2002 и 2003.