Подсчет запятых в выделенном фрагменте (Microsoft Excel)
На работе Марку регулярно нужно подсчитывать количество запятых в диапазоне выбранных ячеек. Он не может найти функцию Excel для выполнения такого рода задач и задается вопросом, сможет ли макрос справиться с этой задачей.
Хотя нет функции рабочего листа, которая произвела бы желаемое количество, есть формула или две, которые вы можете использовать. Если вы просто хотите узнать количество ячеек, в которых есть хотя бы одна запятая, вам подойдет следующая формула:
=COUNTIF(A1:A10,",")
Если вместо этого вам нужно определить количество запятых в диапазоне, когда может быть несколько запятых на ячейку, тогда вам нужно использовать другую формулу:
=SUM(LEN(A1:A10))-SUM(LEN(SUBSTITUTE(A1:A10,",","")))
Эта формула должна быть введена как формула массива, что означает, что вы должны использовать Ctrl + Shift + Enter для ввода формулы. Если вам нужно получить счетчик для другого диапазона, просто измените диапазон в двух местах формулы.
Если хотите, вы также можете создать определяемую пользователем функцию для подсчета количества запятых. Есть несколько способов подойти к такой задаче; Ниже приводится лишь один пример.
Function CountComma(rng As Range) Dim iCount As Integer Dim rCell As Range Dim sTemp As String Application.Volatile iCount = 0 For Each rCell In rng sTemp = Replace(rCell.Value, ",", "") iCount = iCount + _ (Len(rCell.Value) - Len(sTemp)) Next CountComma = iCount Set rCell = Nothing Set rng = Nothing End Function
Чтобы использовать функцию на листе, введите в ячейку следующее:
=CountComma(A1:A10)
Все эти методы, описанные до сих пор, будут считать запятые, которые действительно находятся в ячейке. Они не будут считать запятые, которые появляются в ячейке из-за форматирования. Например, если число отображается в ячейке как «1,234», велика вероятность того, что запятая присутствует из-за способа форматирования ячейки; это действительно не в самой ячейке.
Такие запятые не учитываются.
Конечно, если все, что вам нужно сделать, это знать количество запятых и значение на листе не нужно, вы можете обойтись без использования формул и макросов одновременно. Выполните следующие общие шаги:
-
Выберите диапазон ячеек, в котором вы хотите подсчитать запятые.
-
Нажмите Ctrl + H, чтобы открыть вкладку «Заменить» в диалоговом окне «Найти и заменить».
-
В поле «Найти» введите запятую.
-
В поле «Заменить на» введите запятую.
-
Щелкните «Заменить все».
Excel выполнит замену и отобразит диалоговое окно, в котором показано, сколько замен было произведено.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (11029) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Counting_Commas_in_a_Selection [Подсчет запятых в выделении]
.