Excel посчитать количество повторений в столбце
Как подсчитывать повторения в Excel?
Добрый день, уважаемый читатель!
Эту статью я хочу посвятить повторам тех значений, которые встречаются в вашей таблице, то есть мы научимся как подсчитывать повторения в Excel. Данная возможность будет полезной при подсчёте одинаковых значений в необходимом диапазоне, это поможет когда с большого массива вам нужно сгруппировать, например, сколько сотрудников сделало чеков, сколько раз работали с тем или иным поставщиком и многое другое.
Для начала рассмотрим, как выглядят столбики с данными, повторения в которых, мы собственно и будем считать. К примеру, возьмём список сотрудников, которые совершают продажи. Теперь можно посчитать, сколько раз сотрудник производил продажи, то есть попросту считаем сколько повторений его фамилии в столбике. Это возможно произвести несколькими способами:
Используя функцию СЧЁТЕСЛИ
В Excel произвести такой подсчёт чрезвычайно просто, достаточно задействовать функцию СЧЁТЕСЛИ и она за несколько секундок всё за вас сделает. В нашем случае формула будет следующего вида:
=СЧЁТЕСЛИ($B$2:$B$11;B15) В первом аргументе «диапазон» $B$2:$B$11, указываем тот диапазон ячеек, в котором и будет производиться подсчёт повторяющихся данных. Важно! Указывать случайный диапазон данных недопустимо. Его особенностью является то, что он может быть только диапазоном ячеек или ссылкой на определённую ячейку.
Вторым аргументом «критерий» ставим указание на ячейку, по которому будет производиться подсчёт аналогичных данных. Если он один вы можете его прописать вручную как текстовое слово и вместо адреса ячейки «B15» указать «Нагаев А.В.», результат будет аналогичным, но только в одном конкретном случае, возможность автоматизации таблицы тогда значительно сократится.
Дополнительная информация! Кроме прямого указания поиска данных, функция СЧЁТЕСЛИ умеет работать с символами подстановки. Таких знаков используют двух видов «?» и «*», применять их возможно только при работе с текстовыми символами. Знак «*» позволяет заменить абсолютно любое количество значений, а Знак «?» производит замену только одного символа.
Для работы с числовыми значениями необходимо применять знаки операторов сравнения: «>», « » и «=». К примеру, для подсчёта числовых значений больше «нуля» прописывайте «>0», а для подсчёта непустых ячеек нужен указать «<>».
Используем функцию СЧЁТЕСЛИМН
Когда у вас возникает необходимость подсчитывать повторения в Excel, но уже по нескольким критериям, тогда нужно работать с функцией СЧЁТЕСЛИМН, которая легко и просто сможет это выполнить.
В моём примере я добавлю категорию продаж по городам и используя формулы соберу необходимые мне повторы:
=СЧЁТЕСЛИМН($B$2:$B$11;B14;$C$2:$C$11;C14) Замечу, что орфография функции абсолютно аналогична предыдущей функции СЧЁТЕСЛИ, разница состоит только в их количестве. В нашем примере их два, но функция умеет работать и со 127 диапазонами.
Работаем с функцией ДЛСТР
Теперь давайте рассмотрим ситуацию, когда не всё так просто и упорядоченно, когда информация сбита в одну ячейку, к примеру, «Нагаев Гаврош Каропачёв Козубенко Нагаев Гаврош Козубенко Нагаев Нагаев». В этом случае статистические функции нам не помогут, необходимо считать символы и сверять повторы значений с указанным эталоном. Для этих целей есть много иных полезных функций, используя которые это можно провернуть достаточно просто:
=(ДЛСТР($B$2) -ДЛСТР(ПОДСТАВИТЬ($B$2;B5;””)))/ДЛСТР(B5) Итак, используя функцию ДЛСТР, мы считаем, сколько же символов содержится в ячейке «$B$2» и «B5», результат будет «71». А потом с помощью функции ПОДСТАВИТЬ производим замену текущего значения на «пусто», получаем результат «47». Следующим действием отнимаем от общего количества символов наш остаток «71-47=24» и делим на количество символов в одном значении «24/6=4», как результат получаем сколько раз в строке, встречается необходимый результат… Ответ: 4. (Это результат рассматривая только первую строку поиска).
С помощью функций VBA
Последний рассматриваемый вариант, это подсчёт количества повторений с помощью, созданной в VBA функции. Функции я не писал, а просто предлагаю вам найденный ранее вариант, чтобы упростить вашу работу.
Для начала вам нужно запустить редактор макросов VBA и вставить новый модуль с помощью команд «Insert» — «Module». В созданное окно модуля вы вставляете код функции:
Источник: topexcel.ru
Подсчет количества уникальных значений среди повторяющихся
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Допустим, вам нужно узнать, сколько уникальных значений есть в диапазоне, содержащем повторяющиеся значения. Например, если столбец включает в себя следующее:
Значения 5, 6, 7 и 6 выводятся в виде трех уникальных значений: 5, 6 и 7.
Значения “Кирилл”, “Сергей”, “Сергей”, “Сергей”, результат — это два уникальных значения — “Кирилл” и “Сергей”.
Существует несколько способов подсчета уникальных значений среди повторяющихся.
С помощью диалогового окна ” Расширенный фильтр ” можно извлекать уникальные значения из столбца данных и вставлять их в новое место. Затем с помощью функции ЧСТРОК можно подсчитать количество элементов в новом диапазоне.
Выделите диапазон ячеек или убедитесь в том, что активная ячейка находится в таблице.
Убедитесь, что диапазон ячеек содержит заголовок столбца.
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.
Откроется диалоговое окно ” Расширенный фильтр “.
Выберите команду скопировать в другое место.
В поле Копировать в введите ссылку на ячейку.
Вы также можете нажать кнопку Свернуть диалоговОе окно , чтобы временно скрыть диалоговое окно, выделить ячейку на листе и нажать кнопку Развернуть диалоговое окно
.
Установите флажок только уникальные записи и нажмите кнопку ОК.
Уникальные значения из выделенного диапазона копируются в новое место, начиная с ячейки, указанной в поле Копировать в .
В пустой ячейке, расположенной под последней ячейкой диапазона, введите функцию строки . Используйте диапазон уникальных значений, которые вы только что скопировали в качестве аргумента, исключая заголовки столбцов. Например, если диапазон уникальных значений — B2: B45, вы вводите = Rows (B2: B45).
Для выполнения этой задачи используйте сочетание функций Если, сумм, Частота, ПОИСКПОЗи ДЛСТР .
Назначьте значение 1 каждому из истинных условий с помощью функции ЕСЛИ.
Добавьте итог с помощью функции сумм .
ПодСчитайте число уникальных значений с помощью функции Частота . Функция FREQUENCY не обрабатывает текстовые и нулевые значения. Для первого вхождения определенного значения эта функция возвращает число, равное количеству вхождений этого значения. Для каждого вхождения того же значения, которое находится после первой, эта функция возвращает нуль.
Возвращает расположение текстового значения в диапазоне с помощью функции ПОИСКПОЗ . Возвращаемое значение затем используется в качестве аргумента функции FREQUENCY , чтобы можно было оценивать соответствующие текстовые значения.
Поиск пустых ячеек с помощью функции Len . Длина пустых ячеек равна 0.
Формулы, приведенные в этом примере, должны быть введены как формулы массива. Если у вас установлена текущая версия Office 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Чтобы просмотреть Пошаговое вычисление функции, выделите ячейку с формулой, а затем на вкладке формулы в группе Зависимости формул нажмите кнопку Вычисление формулы.
Функция Частота Вычисляет частоту возникновения значений в диапазоне значений и возвращает вертикальный массив чисел. Например, используйте функцию Частота для подсчета количества результатов теста, которые попадают в диапазоны оценок. Так как эта функция возвращает массив, она должна быть введена как формула массива.
Функция ПОИСКПОЗ осуществляет поиск определенного элемента в диапазоне ячеек и возвращает относительное расположение этого элемента в диапазоне. Например, если в диапазоне a1: A3 содержатся значения 5, 25 и 38, функция формула = Match (25; a1: A3; 0) возвращает число 2, так как значение 25 является вторым элементом диапазона.
Функция ДЛСТР возвращает число символов в текстовой строке.
Функция СУММ вычисляет сумму всех чисел, указанных в качестве аргументов. Каждый аргумент может быть диапазоном, ссылкой на ячейку, массивом, константой, формулой или результатом другой функции. Например, функция сумм (a1: A5) складывает все числа, содержащиеся в ячейкАх от a1 до A5.
Функция Если возвращает одно значение, если указанное условие имеет значение true, и другое, если условие имеет значение false.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Источник: support.office.com
Excel. Как из списка получить только уникальные строки и подсчитать количество повторений?
Предположим у вас есть столбец с фамилиями. Примерно такой, см. столбец А:
Разумеется, в реальности тут будут тысячи строк. Причем, списка уникальных строк (всех встречающихся фамилий) у вас тоже нет. Но нужно его получить и заодно подсчитать количество повторов, в общем, получить табличку в столбцах F и G. Как это сделать?
По сути работа разбивается на две задачи, порядок выполнения этих задач может быть произвольным.
Решение одной строкой: Фильтр уникальных значений + СЧЕТЕСЛИ.
- Вначале составляем список уникальных имен. Потом подсчитываем количество совпадений.
Копируем куда-нибудь все из столбца А, например в столбец F (затем мы удалим оттуда лишние строки). Выделяем данные, выбираем в меню: Данные – Удалить дубликаты.
Теперь считаем количество совпадений с помощью функции СЧЕТЕСЛИ (COUNTIF для английской версии)
=СЧЁТЕСЛИ (где нужно искать; что нужно найти)
В нашем случае диапазон A$1:A$25, а фамилию лучше не писать в кавычках, а указать ячейку нового списка, т.е. F1. Сразу поставьте знак $, чтобы диапазон данных не «съезжал» при растягивании формулы на все значения:
=СЧЁТЕСЛИ(A$1:A$25;F1)
- Как ни странно, можно и наоборот: вначале считаем количество повторяющихся фамилий, потом фильтруем их.
Механически мне второй вариант показался даже быстрее первого. Сразу пишем нужную нам формулу со СЧЕТЕСЛИ, растягиваем ее на все строки со значениями. Фамилии и результаты подсчета повторяются, это неважно:
Удалять дубликаты в оригинального столбца нельзя, тогда обновятся и результаты подсчета. Поэтому выделяем снова колонку А, выбираем в меню: Данные – Сортировка и фильтр – Дополнительно. В меню ставим галочку «Только уникальные записи».
Конкретно в нашем примере Excel ругнется всплывающим окошком, так как у нас нет заголовка таблицы, жмем там ОК. Если заголовок у колонка А есть, то проблем нет вообще. Результат:
Удалите лишнюю строку (в нашем случае там два Андреева).
Источник: agitopro.ru
Как подсчитать количество повторений
В этой статье я хочу рассказать, как можно подсчитать количество повторений какого-либо значения в таблице или в ячейке. Начнем по порядку. Имеется таблица:
И необходимо подсчитать количество повторений каждого наименования:
Как ни странно, но сделать это весьма просто: в Excel имеется функция – СЧЁТЕСЛИ, при помощи которой все это сделать можно буквально за секунды. Если количество повторений каждого наименования необходимо вывести в столбец В таблицы, а сами наименования расположены в столбце А:
=СЧЁТЕСЛИ( $A$2:$A$30 ; A2 )
Диапазон ( $A$2:$A$30 ) – указываются ячейки диапазона, в которых записаны значения, количество которых необходимо подсчитать. Главная особенность: данный аргумент может быть исключительно ссылкой на ячейку или диапазон ячеек. Недопустимо указывать произвольный массив значений.
Критерий ( A2 ) – указывается ссылка на ячейку или непосредственно значение для подсчета. Т.е. можно указать и так: =СЧЁТЕСЛИ( $A$2:$A$30 ;”Яблоко”) . Помимо этого можно применять символы подстановки: ? и *. Т.е. указав в качестве Критерия “*банан*” можно подсчитать количество ячеек, в которых встречается слово “банан” (банановый, банан, бананы, банановый сок, сто бананов, три банана и орех и т.п.). А указав “банан*” — значения, начинающиеся на “банан” (бананы, банановый сок, банановая роща и т.п.). “?” — заменяет лишь один символ, т.е. указав “бан?н” можно подсчитать строки и со значением “банан” и со значением “банон” и т.д. Если в качестве критерия указать =СЧЁТЕСЛИ( $A$2:$A$30 ;”*”) , то будут подсчитаны все текстовые значения. Числовые значения при этом игнорируются. Данные подстановочные символы (* и ?) не получится применить к числовым значениям – исключительно к тексту. Т.е. если если указать в качестве критерия “12*”, то числа 1234, 123, 120 и т.п. не будут подсчитаны. Для подсчета числовых значений следует применять операторы сравнения: =СЧЁТЕСЛИ( $A$2:$A$30 ;”>12″)
Подсчитать числа, которые больше нуля: =СЧЁТЕСЛИ( $A$2:$A$30 ;”>0″)
Подсчитать количество непустых ячеек: =СЧЁТЕСЛИ( $A$2:$A$30 ;”<>“)
Как видно из второго рисунка – там наименования не повторяются, хотя в таблице они все записаны вперемешку. Я не буду заострять на этом внимание – я уже описывал это в статье Как получить список уникальных(не повторяющихся) значений? и при необходимости можно воспользоваться любым описанным в ней методом.
Но. Бывают случаи, когда список расположен вовсе не в таблице, а в одной ячейке( $D$1 ):
Дыня Киви Груша Яблоко Дыня Груша Груша Арбуз Яблоко Банан Яблоко Яблоко Банан Яблоко Яблоко Дыня Дыня Киви Банан Дыня Арбуз Дыня Киви Яблоко Дыня Груша Яблоко Киви Арбуз
Здесь СЧЁТЕСЛИ точно не поможет. Но в Excel полно других функций и все можно сделать так же достаточно просто:
=(ДЛСТР( $D$1 )-ДЛСТР(ПОДСТАВИТЬ( $D$1 ; D3 ;””)))/ДЛСТР( D3 )
ДЛСТР – подсчитывает количество символов в указанной ячейке/строке( $D$1 , D3 )
ПОДСТАВИТЬ (текст; старый_текст; новый_текст) – заменяет в указанном тексте заданный символ на любое другое заданное значение. По умолчанию заменяет все повторы указанного символа. Именно это и положено в основу алгоритма. На примере значения Банан( D3 ) пошаговый разбор формулы:
- при помощи функции ДЛСТР получаем количество символов в строке с исходным текстом( $D$1 ) =(170-ДЛСТР(ПОДСТАВИТЬ( $D$1 ; D3 ;””)))/ДЛСТР( D3 ) ;
- при помощи функции ПОДСТАВИТЬ заменяем в строке с исходным текстом( $D$1 ) все значения Банан( D3 ) на пусто и при помощи ДЛСТР получаем количество символов строки после этой замены =(170-155)/ДЛСТР( D3 ) ;
- вычитаем из общего количества символов количество символов в строке после замены и делим результат на количество символов в критерии =(170-155)/5 .
Получаем число 3. Что нам и требовалось.
И простая функция пользователя, которая так же подсчитывает повторения внутри ячейки:
Function GetRepeat(sTxt As String, sCntWord As String) GetRepeat = (Len(sTxt) – Len(Replace(sTxt, sCntWord, “”))) / Len(sCntWord) End Function
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(Insert –Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций( Ctrl + F3 ), отыскав её в категории Определенные пользователем (User Defined Functions) .
Синтаксис функции:
=GetRepeat( $D$1 ; D3 )
sTxt – текст, в котором подсчитываем кол-во вхождения.
sCntWord – текст для подсчета. Может быть символом или словом.
Tips_All_Count_Duplicate.xls (39,0 KiB, 9 483 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Поиск по меткам
Добрый день.
Можете ли вы мне помочь?
Нужно посчитать количество повторений по столбцу рейс только в одной строке.
Рейс. Объем. Колич
повтор
1аб. 2 2
1ав. 3. 1
1 аб. 0.3. 2 (2нужно посчитать как 0)
2аг. 9. 2
2аг. 3. 2 (2нужно посчитать как 0)
2ав. 0.4. 1
Убрать дубликаты не могу, т.к удаляет всю строку, а значения в поле объем нужны для дальнейшего расчета. Упорядочить значения в столбце рейс тоже нельзя, т.к во всей исходной таблице есть объединенные ячейки, которые нельзя разбить.
Попробуйте задать вопрос в форуме , приложив пример файла с данными. По одному описанию у меня не получается понять задачу.
Источник: www.excel-vba.ru
Excel. Как из списка получить только уникальные строки и подсчитать количество повторений?
Предположим у вас есть столбец с фамилиями. Примерно такой, см. столбец А:
Разумеется, в реальности тут будут тысячи строк. Причем, списка уникальных строк (всех встречающихся фамилий) у вас тоже нет. Но нужно его получить и заодно подсчитать количество повторов, в общем, получить табличку в столбцах F и G. Как это сделать?
По сути работа разбивается на две задачи, порядок выполнения этих задач может быть произвольным.
Решение одной строкой: Фильтр уникальных значений + СЧЕТЕСЛИ.
- Вначале составляем список уникальных имен. Потом подсчитываем количество совпадений.
Копируем куда-нибудь все из столбца А, например в столбец F (затем мы удалим оттуда лишние строки). Выделяем данные, выбираем в меню: Данные – Удалить дубликаты.
Теперь считаем количество совпадений с помощью функции СЧЕТЕСЛИ (COUNTIF для английской версии)
=СЧЁТЕСЛИ (где нужно искать; что нужно найти)
В нашем случае диапазон A$1:A$25, а фамилию лучше не писать в кавычках, а указать ячейку нового списка, т.е. F1. Сразу поставьте знак $, чтобы диапазон данных не «съезжал» при растягивании формулы на все значения:
=СЧЁТЕСЛИ(A$1:A$25;F1)
- Как ни странно, можно и наоборот: вначале считаем количество повторяющихся фамилий, потом фильтруем их.
Механически мне второй вариант показался даже быстрее первого. Сразу пишем нужную нам формулу со СЧЕТЕСЛИ, растягиваем ее на все строки со значениями. Фамилии и результаты подсчета повторяются, это неважно:
Удалять дубликаты в оригинального столбца нельзя, тогда обновятся и результаты подсчета. Поэтому выделяем снова колонку А, выбираем в меню: Данные – Сортировка и фильтр – Дополнительно. В меню ставим галочку «Только уникальные записи».
Конкретно в нашем примере Excel ругнется всплывающим окошком, так как у нас нет заголовка таблицы, жмем там ОК. Если заголовок у колонка А есть, то проблем нет вообще. Результат:
Удалите лишнюю строку (в нашем случае там два Андреева).
Источник: agitopro.ru
Описание формул для подсчета случаев появления текста, символов и слов в Excel
Аннотация
Эта статья содержит и описывает формулы, которые вычисляют следующее:
- Количество случаев появления текстовой строки в диапазоне ячеек.
- Количество случаев появления символа в одной ячейке.
- Количество случаев появления символа в диапазоне ячеек.
- Количество слов (или текстовых строк), разделенных символом в ячейке.
Дополнительная информация
Формула для подсчета количества вхождений текстовой строки в диапазоне
=SUM(LEN(range)-LEN(SUBSTITUTE(range,”text”,””)))/LEN(“text”)
Где диапазон — диапазон ячеек, а “text” заменяется конкретной текстовой строкой, которую вы хотите посчитать.
Вышеупомянутая формула должна быть введена в виде формулы массива. Чтобы ввести формулу в качестве массива в Excel для Windows, нажмите CTRL+SHIFT+ENTER. Чтобы ввести формулу в качестве массива в Excel для Macintosh, нажмите COMMAND+RETURN.
Формула должна быть разделена на длину строки текста, поскольку сумма длины символа диапазона уменьшается кратно каждому вхождению текстовой строки. Эта формула может заменить все более поздние формулы в этой статье, кроме формулы для подсчета количества слов в ячейке.
Пример 1. Подсчет количества вхождений текстовой строки в диапазоне
Запустите Excel, а затем откройте новую книгу
Введите следующие сведения на Листе 1:
Значение ячейки A8 составляет 4, потому что текст “яблоко” появляется четыре раза в диапазоне.
Формула для подсчета количества происшествий одного символа в одной ячейке
=LEN(cell_ref)-LEN(SUBSTITUTE(cell_ref,”a”,””))
Где cell_refссылка на ячейку, и “а” заменяется символом, который вы хотите посчитать.
Эта формула не должна быть введена в качестве массивной формулы.
Пример 2. Подсчет количества появлений символа в одной ячейке.
Используйте те же данные из предыдущего примера; предполагая, что вы хотите подсчитать количество появлений символа “p” в A7. Введите следующую формулу в ячейку A9:
Значение ячейки A9 составляет 3, потому что символ “p” появляется три раза в A7.
Формула для подсчета количества появлений одного символа в диапазоне
=SUM(LEN(range)-LEN(SUBSTITUTE(range,”a”,””)))
Где range — это диапазон нужной ячейки, а “а” заменяется символом, который вы хотите сосчитать.
Вышеупомянутая формула должна быть введена в виде формулы массива. Чтобы ввести формулу в качестве массивной формулы в Excel, нажмите на CTRL+SHIFT+ENTER.
Пример 3. Подсчет количества появлений символа в диапазоне
Используйте те же данные из предыдущего примера; предполагая, что вы хотите подсчитать количество символа “p” в A2:A7. В ячейку А10 введите следующую формулу:
Вышеупомянутая формула должна быть введена в виде формулы массива. Чтобы ввести формулу в качестве массивной формулы в Excel, нажмите на CTRL+SHIFT+ENTER.
Значение ячейки A10 составляет 11, потому что символ “p” появляется 11 раз в A2:A7.
Формула для подсчета количества слов, разделенных символом в ячейке
=IF(LEN(TRIM(cell_ref))=0,0,LEN(cell_ref)-LEN(SUBSTITUTE(cell_ref,char,””))+1)
Где cell_ref – это ссылка на ячейку, а char – это символ, разделяющий слова.
В приведенной выше формуле нет пробелов; несколько строк используются только для того, чтобы вписать формулу в этот документ. Не добавляйте пробелы при вводе формулы в ячейку. Эта формула не должна быть введена в качестве массивной формулы.
Пример 4. Подсчет количества слов, разделенных пространством в ячейке
Чтобы подсчитать количество слов в ячейке, где слова разделены пробелом, выполните следующие действия:
Запустите Excel, а затем откройте новую книгу
Введите следующие сведения на Листе 1:
Формула в ячейке A2 возвращает значение 4, чтобы отразить, что строка содержит четыре слова, разделенных пробелами. Если слова разделены несколькими пробелами или если слова начинаются или заканчиваются пробелами, это не имеет значения. Функция TRIM удаляет дополнительные пробелы и пробелы в начале и в конце в тексте ячейки.
В Excel можно также использовать макрос для подсчета количества случаев появления определенного символа в ячейке или диапазоне ячеек.
Ссылки
Дополнительные сведения о подсчете количества символов см. в следующей статье базы знаний Майкрософт:
89794 Как использовать Visual Basic для приложений для подсчета случаев появления символа в выделении в Excel
Источник: docs.microsoft.com