Как посчитать количество одинаковых значений в excel
Перейти к содержимому

Как посчитать количество одинаковых значений в excel

  • автор:

Как подсчитать дубликаты в Excel (с примерами)

Как подсчитать дубликаты в Excel (с примерами)

Часто вам может понадобиться подсчитать количество повторяющихся значений в столбце Excel.

К счастью, это легко сделать, и следующие примеры демонстрируют, как это сделать.

Пример 1. Подсчет дубликатов для каждого значения

Мы можем использовать следующий синтаксис для подсчета количества дубликатов для каждого значения в столбце в Excel:

=COUNTIF( $A$2:$A$14 , A2 ) 

Например, на следующем снимке экрана показано, как использовать эту формулу для подсчета количества дубликатов в списке имен команд:

считать дубликаты в Excel

Из вывода мы видим:

  • Название команды «Мавс» встречается 2 раза.
  • Название команды «Ястребы» встречается 3 раза.
  • Название команды «Нетс» встречается 4 раза.

Пример 2. Подсчет неповторяющихся значений

Мы можем использовать следующий синтаксис для подсчета общего количества неповторяющихся значений в столбце:

=SUMPRODUCT(( A2:A14 <>"")/COUNTIF( A2:A14 , A2:A14 &"")) 

Например, на следующем снимке экрана показано, как использовать эту формулу для подсчета количества неповторяющихся имен в списке команд:

Из вывода мы видим, что существует 6 уникальных названий команд.

Пример 3. Список неповторяющихся значений

Мы можем использовать следующий синтаксис, чтобы перечислить все неповторяющиеся значения в столбце:

=UNIQUE( A2:A14 ) 

На следующем снимке экрана показано, как использовать эту формулу для перечисления всех уникальных названий команд в столбце:

Мы видим, что есть 6 уникальных названий команд, и каждое из них указано в столбце C.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Excel:

Подсчет количества уникальных значений среди повторяющихся

Предположим, что требуется определить количество уникальных значений в диапазоне, содержащем повторяющиеся значения. Например, если столбец содержит:

  • числа 5, 6, 7 и 6, будут найдены три уникальных значения — 5, 6 и 7;
  • строки «Руслан», «Сергей», «Сергей», «Сергей», будут найдены два уникальных значения — «Руслан» и «Сергей».

Существует несколько способов подсчета количества уникальных значений среди повторяющихся.

Подсчет количества уникальных значений с помощью фильтра

С помощью диалогового окна Расширенный фильтр можно извлечь уникальные значения из столбца данных и вставить их в новое местоположение. Затем с помощью функции ЧСТРОК можно подсчитать количество элементов в новом диапазоне.

  1. Выделите диапазон ячеек или убедитесь, что активная ячейка находится в таблице. Убедитесь в том, что диапазон ячеек содержит заголовок столбца.
  2. На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно. Появится диалоговое окно Расширенный фильтр.
  3. Установите переключатель скопировать результат в другое место.
  4. В поле Копировать введите ссылку на ячейку. В противном случае нажмите Свернуть диалоговое окно

для временного скрытия диалогового окна, выберите ячейку на листе, а затем нажмите Развернуть диалоговое окно

Подсчет количества уникальных значений с помощью функций

Для выполнения этой задачи используйте комбинацию функций ЕСЛИ, СУММ, ЧАСТОТА, ПОИСКПОЗ и ДЛСТР.

  • Назначьте значение 1 каждому из истинных условий с помощью функции ЕСЛИ.
  • Вычислите сумму, используя функцию СУММ.
  • Подсчитайте количество уникальных значений с помощью функции ЧАСТОТА. Функция ЧАСТОТА пропускает текстовые и нулевые значения. Для первого вхождения заданного значения эта функция возвращает число, равное общему количеству его вхождений. Для каждого последующего вхождения того же значения функция возвращает ноль.
  • Узнайте позицию текстового значения в диапазоне с помощью функции ПОИСКПОЗ. Возвращенное значение затем используется в качестве аргумента функции ЧАСТОТА, что позволяет определить количество вхождений текстовых значений.
  • Найдите пустые ячейки с помощью функции ДЛСТР. Пустые ячейки имеют нулевую длину.

Примеры вложенных функций для подсчета количества уникальных значений среди дубликатов

  • Формулы, приведенные в этом примере, должны быть введены как формулы массива. Если у вас установлена текущая версия Microsoft 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
  • Чтобы просмотреть процесс вычисления функции по шагам, выделите ячейку с формулой, а затем на вкладке Формулы в группе Зависимости формул нажмите Вычислить формулу.

Описание функций

  • Функция ЧАСТОТА вычисляет частоту появления значений в диапазоне и возвращает вертикальный массив чисел. С помощью функции ЧАСТОТА можно, например, подсчитать количество результатов тестирования, попадающих в определенные интервалы. Поскольку данная функция возвращает массив, ее необходимо вводить как формулу массива.
  • Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне. Например, если диапазон A1:A3 содержит значения 5, 25 и 38, формула =ПОИСКПОЗ(25;A1:A3;0) возвращает значение 2, так как элемент 25 является вторым в диапазоне.
  • Функция ДЛСТР возвращает число символов в текстовой строке.
  • Функция СУММ вычисляет сумму всех чисел, указанных в качестве аргументов. Каждый аргумент может быть диапазоном, ссылкой на ячейку, массивом, константой, формулой или результатом выполнения другой функции. Например, функция СУММ(A1:A5) вычисляет сумму всех чисел в ячейках от A1 до A5.
  • Функция ЕСЛИ возвращает одно значение, если указанное условие дает в результате значение ИСТИНА, и другое, если условие дает в результате значение ЛОЖЬ.

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

Как посчитать количество одинаковых значений в excel

Если у вас есть список данных на листе с уникальными значениями и повторяющимися значениями, и вы хотите не только подсчитывать частоту повторяющихся значений, но также хотите знать порядок появления повторяющихся значений. В Excel функция СЧЁТЕСЛИ может помочь вам подсчитать повторяющиеся значения.

  • Подсчитайте частоту дублирования в Excel
  • Подсчитайте порядок появления дубликатов в Excel
  • Подсчитайте и выберите все повторяющиеся значения в столбце с помощью Kutools for Excel
  • Подсчитайте вхождения каждого дубликата в столбце с помощью Kutools for Excel
Подсчитайте частоту дублирования в Excel

В Excel вы можете использовать функцию СЧЁТЕСЛИ для подсчета дубликатов.

Выделите пустую ячейку рядом с первыми данными вашего списка и введите эту формулу = СЧЁТЕСЛИ ($ A $ 2: $ A $ 9; A2) (диапазон $ A $ 2: $ A $ 9 указывает список данных, а A2 стоит ячейка, с которой вы хотите подсчитать частоту, вы можете изменить их по своему усмотрению), затем нажмите Enter, и перетащите маркер заполнения, чтобы заполнить нужный столбец. Смотрите скриншот:

Функции: Если вы хотите подсчитать количество дубликатов во всем столбце, используйте эту формулу = СЧЁТЕСЛИ (A: A; A2) ( Колонка A указывает столбец данных, а A2 стоит ячейка, с которой вы хотите посчитать частоту, можете менять их как вам нужно).

Быстрый выбор и подсчет всех повторяющихся / уникальных значений из столбца в Excel

В общем, мы можем легко удалить дубликаты из списка, Данные > Удалить дубликаты в Excel. Но как выбрать повторяющиеся / уникальные значения или подсчитать их из столбца? А что, если выбрать или подсчитать дубликаты / уникальные, кроме первого дубликата? Попробуйте Kutools для Excel Выберите повторяющиеся и уникальные ячейки утилита!

количество повторений выбора объявления

Kutools for Excel — Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

Подсчитайте порядок появления дубликатов в Excel

Но если вы хотите подсчитать порядок появления дубликатов, вы можете использовать следующую формулу.

Выделите пустую ячейку рядом с первыми данными вашего списка и введите эту формулу = СЧЁТЕСЛИ ($ A $ 2: $ A2; A2) (диапазон $ A $ 2: $ A2 указывает список данных, а A2 стоит ячейка, в которой вы хотите посчитать порядок, вы можете изменить их по своему усмотрению), затем нажмите Enter, и перетащите маркер заполнения, чтобы заполнить нужный столбец. Смотрите скриншот:

Подсчитайте и выберите все дубликаты в столбце с помощью Kutools for Excel

Иногда вам может потребоваться подсчитать и выбрать все дубликаты в указанном столбце. Вы можете легко сделать это с помощью Kutools for Excel’s Выберите дубликаты и уникальные ячейки утилита.

Kutools for Excel — Содержит более 300 основных инструментов для Excel. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Скачать сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите столбец или список, в котором вы будете подсчитывать все дубликаты, и нажмите кнопку Кутулс > Выберите > Выберите дубликаты и уникальные ячейки.

2. В открывшемся диалоговом окне Select Duplicate & Unique Cells установите флажок Дубликаты (кроме 1-го) Вариант или Все дубликаты (включая 1-й) вариант, как вам нужно, и щелкните Ok .

Затем вы увидите диалоговое окно, в котором показано, сколько дубликатов выбрано, и в то же время дубликаты выбраны в указанном столбце.

Примечание: Если вы хотите подсчитать все дубликаты, включая первый, вам нужно проверить Все дубликаты (включая 1-й) в диалоговом окне «Выбор повторяющихся и уникальных ячеек».

3, Нажмите OK .

Kutools for Excel — Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

Подсчитайте вхождения каждого дубликата в столбце с помощью Kutools for Excel

Kutools для Excel Расширенные ряды комбинирования Утилита может помочь пользователям Excel подсчитать количество вхождений каждого элемента в столбце (в нашем случае — столбец с фруктами), а затем легко удалить повторяющиеся строки на основе этого столбца (столбец с фруктами), как показано ниже:

Kutools for Excel — Содержит более 300 основных инструментов для Excel. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Скачать сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите таблицу, содержащую столбец, в котором вы будете считать каждый дубликат, и нажмите Кутулс > Содержание > Расширенные ряды комбинирования.

2. В Advanced Combine Rows выберите столбец, в котором вы будете считать каждый дубликат, и нажмите Основной ключ, затем выберите столбец, в который вы поместите результаты подсчета, и нажмите Рассчитать > Количество, а затем нажмите OK кнопка. Смотрите скриншот:

И теперь он подсчитал появление каждого дубликата в указанном столбце. Смотрите скриншот:

Kutools for Excel — Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

Демо: подсчет повторяющихся значений в столбце в Excel от Kutools for Excel

Kutools for Excel: Более 300 удобных инструментов у вас под рукой! Начните 30-дневную бесплатную пробную версию без ограничений сегодня. Скачать

Относительные статьи:

Лучшие инструменты для офисной работы

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего.

Вкладка Office: интерфейс с вкладками в Office и упрощение работы
  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint , Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

Newest First
Sort comments by
Comments ( 58 )
No ratings yet. Be the first to rate!
about 1 year ago
This comment was minimized by the moderator on the site

Tolong di Bantu, Jika misalkan di Kolom A Misalkan No Part yang sama ada 3 Part, lalu di kolom b ada tiga progress, Bagaimana menegtahui bahwa jika di kolom sudah complete semua maka di kolom c complete, tetapi jika ada salah satu belum complete maka di kolom C On Progress, Sebagai catatan untuk di kolom A variatif , ada yang jumlahnya 3, 4, 2, etc.. Mohon di bantu caranya untuk di excel.

A B C
Part 1 Progress On Progress
Part 1 Complete On Progress
Part 1 Complete On Progress

about 2 years ago
This comment was minimized by the moderator on the site

Halo, bagaimana jika kita ingin menjumlahkan total dari data duplikat tersebut? Contoh, Banyaknya Apel pada baris satu adalah 734pcs, Apel pada baris 5 100pcs, Apel pada baris 8 20pcs. Bagaimana cara menjumlahkannya dengan otomatis? Terima Kasih untuk jawabannya

about 2 years ago
This comment was minimized by the moderator on the site

Hi Lia,
You can wrap multiple COUNTIF expressions into one SUM formula, in which the COUNTIF expressions shoule be seperated by comma. Here is an example: =SUM(COUNTIF($B$2:$B$8, B2),COUNTIF($B$2:$B$8, B3),COUNTIF($B$2:$B$8, B4)).The cells B2, B3, B4 stand for the value that you want to count its frequency.
Hope this helps you.
Amanda

about 3 years ago
This comment was minimized by the moderator on the site

Hi, I’m trying to calculate the duplicate values as a single value in excel. But I can’t. Can you help me?. For example, I have entered in rows as 1001,1002,1003,1004 and again 1001,1002,1003,1004″ like this. In this case, all are duplicate ones. but it should bring «1001» as a single count, not two counts. Is there any formula for it?

about 3 years ago
This comment was minimized by the moderator on the site

Hi Manikandan.K,
Supposing the data you will count are placed in the Range A1:A20, you can use below arrow formula to count (a set of duplicates only count once):
=SUM(IF(A1:A20<>«»,1/COUNTIF(A1:A20,A1:A20)))
Please note that it’s an array formula, please press Ctrl + Shift + Enter keys to get the counting result.

about 2 years ago
This comment was minimized by the moderator on the site

Hi can you please let me know in this how to calculate data in multiple conditions include wiht this condition, if I also chosen columns in location wise and status wise Thank you

about 3 years ago
This comment was minimized by the moderator on the site

Hi I’m trying to run the «Advanced Combined Row» feature, but when I run it excel crashes every time.

about 4 years ago
This comment was minimized by the moderator on the site

I have entered in a row as » 10,10,10,10,10,10,10,8,11,10,10,10,10,10″ like this, now I entered 14 number values. How I can count the different number in single row? the result should be «14» in my case.

about 4 years ago
This comment was minimized by the moderator on the site

Hi Sampath Rangan,
Do you need to count all numbers in the row, or count the duplicates in the row?
Supposing the numbers are in the Range A1:N1, now you can count the numbers as follows:
Count all numbers: =COUNT(A1:N1)
Count duplicates, says 10: =COUNTIF($A$1:$N$1,»10″)

about 4 years ago
This comment was minimized by the moderator on the site
Thanks so much, saved me hours!
about 5 years ago
This comment was minimized by the moderator on the site

i need this
There are 24 students.how many groups are there to take 10 student in 1 group
example:
1,2,3,4,5 take 1 group in 3 number

how to do this excel will create this file

about 4 years ago
This comment was minimized by the moderator on the site
Hi patel akshay,
You can use the COMBIN function in Excel directly.
=COMBIN(24,10)
about 5 years ago
This comment was minimized by the moderator on the site
Thank You very much. It’s very useful.
about 5 years ago
This comment was minimized by the moderator on the site

I must be stupid as the KuTools solution is not working for me. I have copied the example with Fruits column (which I put 3 Apple entries in), made a column next to it which is blank called Count column. KuTools -> Content -> Advanced Combine Rows. Select Fruit column as primary key, Count column as Calculate -> Count. Hit OK. Nothing. No change to the sheet. Help please?

about 5 years ago
This comment was minimized by the moderator on the site

Hi BillBrewster,
Would you do me a favor and send me a screenshot about the Advanced Combine Rows dialog? Just like the screenshot as below. Thanks in advance!

about 6 years ago
This comment was minimized by the moderator on the site

Dear, I am working on the attached Screenshot and Excel File. I need to calculate the Values in Column «G» i.e. to Count unique text values based on multiple (Two) criteria, but criteria are in NUMBERS. Further, Its is big sheet, therefore I want to use the cell reference in range and in criteria. I am very confused. I want to count the column C i.e. Degree based on the Criteria E and F. That is,I need to set formula in G2, such that, Look E2 in column A and Look F2 in column B and count the unique text values in Column C. Hope it is clear.

I am very thankful to you please

Details:
I have a data of more than 1000 companies with different year. As in column A, I have companies and B shows the year for which these companies have data. For example, First company have data for year 2011, 2012, 2013 and 2015. For company 2, I have data for year 2014 and 2011 and so on. Since majority of companies have data from 2011 to 2015, therefore I select this range in column F for each company. Now, I want to count the unique Degrees for cell G2, if there is 389841988 (Company ID for First company) in A and there is 2011 in Column B. Now I need to set formula in G2,in a way, If I will drag the formula G2 in cell G3, then It should give me the value by looking such as if there is 389841988 (Company ID for First company) in A and there is 2012 in Column B, the based on these two criteria, it should count the unique text in C2 and so on.
Look on the second sheet named Example, I did the same for INDEX, MATCH function and as well for SUMIFS function; in C2 I have the array formula INDEX($F:$H,MATCH(1,(A2=$F:$F)*(B2=$G:$G),0),3) and in D2 I have SUMIFS(I:I,F:F,A2,G:G,B2). These help me to do what I want with two criteria (To match and also to sum) and also I can drag these for rest of cell. I am looking something like this, or anything that I can drag to count unique degrees. Thank you very much. I am waiting.

Plz help. I am very thankful to for this kindness

Как подсчитать количество повторений

В этой статье я хочу рассказать, как можно подсчитать количество повторений какого-либо значения в таблице или в ячейке.

Количество повторений каждой ячейки
Имеется таблица:

И необходимо подсчитать количество повторений каждого наименования:

Самый простой способ — создать сводную таблицу, поместив в область строк и в область значений данные столбца А. Сводная сделает все сама. Подробнее про создание и использование сводных таблиц можно узнать в этой статье с видеоуроком: Общие сведения о сводных таблицах

Но если по каким-то причинам сводная не Ваш вариант — в Excel имеется функция СЧЁТЕСЛИ (COUNTIF) , при помощи которой все это можно сделать тоже буквально за секунды. Если количество повторений каждого наименования необходимо вывести в столбец В таблицы, а сами наименования расположены в столбце А:
=СЧЁТЕСЛИ( $A$2:$A$30 ; A2 )
=COUNTIF( $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 ;»<>«)

Как видно из второго рисунка — там наименования не повторяются, хотя в таблице они все записаны вперемешку. Я не буду заострять на этом внимание — я уже описывал это в статье Как получить список уникальных(не повторяющихся) значений? и при необходимости можно воспользоваться любым описанным в ней методом.

Если необходимо подсчитать количество повторений на основании нескольких условий(значений), то начиная с 2007 Excel это легко можно сделать при помощи функции СЧЁТЕСЛИМН (COUNTIFS) . Синтаксис функции почти такой же, как у СЧЁТЕСЛИ (COUNTIF) , только условий и диапазонов больше:
=СЧЁТЕСЛИМН( $A$2:$A$30 ; A2 ; $B$2:$B$30 ; B2 )
предполагается, что условия записаны в столбце В
По сути идет просто перечисление:
=СЧЁТЕСЛИМН(Диапазон_условий1;Условие1; Диапазон_условий2;Условие2; Диапазон_условий3;Условие3; и т.д.)

Особенность при работе с функцией СЧЁТЕСЛИ
Так же не могу не написать про небольшую особенность функции СЧЁТЕСЛИ (а так же СЧЁТЕСЛИМН , СУММЕСЛИ , СУММЕСЛИМН и им подобных) — данные функции всегда стремятся преобразовать все значения аргументов к типам(в отличии от той же ВПР , которая к типам относится очень бережно и ничего не преобразует). Что это значит. Если у нас в ячейке записано число 23 — оно будет воспринято как число. Если тоже число будет записано как текст — «023» , то функция преобразует его сначала в число 23, а потом уже будет работать с ним. Т.е. и 23 и «023» у нас будут считаться одинаковым значением. Иными словами: если значение можно преобразовать в число — оно будет преобразовано в число и функция будет работать уже именно с этим числом.
С одной стороны это хорошо, но иногда такое поведение может сыграть злую шутку. Например, у нас в ячейках расположены некие номера счетов, длина которых более 15-ти символов и могут иметь ведущие нули:
000 34889913131323455
00 34889913131323455
000 34889913131323477
как видно, первые два числа почти одинаковые, но у первого числа три ведущих нуля спереди, а второго — два. И это разные счета. А третий счет вообще отличается на последние цифры. Но СЧЁТЕСЛИ после преобразования все три этих значения будет считать как число 348899131313234 00 и если записать функцию так: =СЧЁТЕСЛИ( $A$1:$A$3 ; A1 ) , то она вернет значение 3. Особо обращаю внимание на тот факт, что все числа после 15-го знака будут преобразованы в нули. Эти особенности всегда необходимо учитывать при использовании данных функций, чтобы не попасть в неловкую ситуацию, когда подсчет будет некорректным.

Количество повторений значения внутри ячейки
Еще один вариант подсчета значений. Бывают случаи, когда список расположен вовсе не в таблице, а в одной ячейке( $D$1 ):
Дыня Киви Груша Яблоко Дыня Груша Груша Арбуз Яблоко Банан Яблоко Яблоко Банан Яблоко Яблоко Дыня Дыня Киви Банан Дыня Арбуз Дыня Киви Яблоко Дыня Груша Яблоко Киви Арбуз
Здесь СЧЁТЕСЛИ точно не поможет. Но в Excel полно других функций и все можно сделать так же достаточно просто:
=(ДЛСТР( $D$1 )-ДЛСТР(ПОДСТАВИТЬ( $D$1 ; D3 ;»»)))/ДЛСТР( D3 )
=(LEN($D$1)-LEN(SUBSTITUTE($D$1,D3,»»)))/LEN(D3)
ДЛСТР (LEN) — подсчитывает количество символов в указанной ячейке/строке( $D$1 , D3 )
ПОДСТАВИТЬ (SUBSTITUTE) (текст; старый_текст; новый_текст) — заменяет в указанном тексте заданный символ на любое другое заданное значение. По умолчанию заменяет все повторы указанного символа. Именно это и положено в основу алгоритма. На примере значения Банан( D3 ) пошаговый разбор формулы:

  • при помощи функции ДЛСТР получаем количество символов в строке с исходным текстом( $D$1 ) =(170-ДЛСТР(ПОДСТАВИТЬ( $D$1 ; D3 ;»»)))/ДЛСТР( D3 ) ;
  • при помощи функции ПОДСТАВИТЬ заменяем в строке с исходным текстом( $D$1 ) все значения Банан( D3 ) на пусто и при помощи ДЛСТР получаем количество символов строки после этой замены =(170-155)/ДЛСТР( D3 ) ;
  • вычитаем из общего количества символов количество символов в строке после замены и делим результат на количество символов в критерии =(170-155)/5 .

Получаем число 3. Что нам и требовалось.

Подсчет внутри ячеек диапазона

Но тут есть и более каверзная ситуация — когда у нас диапазон ячеек, в каждой из которых наше слово может встречаться более одного раза. И подсчитать надо ВСЕ повторения. Диапазон для подсчета повторений у нас будет в ячейках A1:A10 . Слово для подсчета повторений запишем в ячейку B1 (там будет все тоже слово » банан «):

Базируясь на формуле выше можно написать такую:
=СУММПРОИЗВ((ДЛСТР( A1:A10 )-ДЛСТР(ПОДСТАВИТЬ( A1:A10 ; B1 ;»»)))/ДЛСТР( B1 ))
=SUMPRODUCT((LEN(A1:A10)-LEN(SUBSTITUTE(A1:A10,B1,»»)))/LEN(B1))

И простая функция пользователя, которая так же подсчитывает повторения внутри ячейки:

Function GetRepeat(sTxt As String, sCntWord As String) GetRepeat = (Len(sTxt) - Len(Replace(sTxt, sCntWord, ""))) / Len(sCntWord) End Function

Function GetRepeat(sTxt As String, sCntWord As String) GetRepeat = (Len(sTxt) — Len(Replace(sTxt, sCntWord, «»))) / Len(sCntWord) End Function

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций( Ctrl + F3 ), отыскав её в категории Определенные пользователем (User Defined Functions) .
Синтаксис функции:
=GetRepeat( $D$1 ; D3 )
sTxt — текст, в котором подсчитываем кол-во вхождения.
sCntWord — текст для подсчета. Может быть символом или словом.

Пример Подсчета повторений.xls (70,5 KiB, 13 782 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *