Evolcom.ru

Бытовая техника
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Exceltip

Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки

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

99-0-создание уникального списка лого

Диапазон можно извлечь для его уникальных значений — это одна из самых старых тем для обсуждения в Excel. Хотя существует несколько эффективных способов выявления повторяющихся значений, и на эту тему написано еще больше статей, сегодня мы поговорим о том, как в Excel можно создать динамический список уникальных значений с помощью формул массива.

Допустим, у вас есть файл со списком сотрудников в столбце A, и вам нужно извлечь неповторяющиеся значения из этого списка и ввести их в столбец B. Если бы это было так, то фильтр уникальных значений был бы полезен, но, как водится, исходный список постоянно меняется, и фильтровать по уникальным значениям каждый раз — это муторная задача. Можно создать формулу массива, которая вычисляет, когда изменяется исходный список, что было бы лучшим решением.

99-1-список сотрудников

Формула массива имеет следующий вид

=ЕСЛИОШИБКА(ИНДЕКС(Список;ПОИСКПОЗ(СУММ(СЧЁТЕСЛИ(B$1:B1; Список));СЧЁТЕСЛИ(Список;»<«& Список);0));»»)

Список в данном случае соответствует именованному диапазону ячеек A2:A100.

Скопируйте формулу в ячейку B2, нажмите Ctrl+Shift+Enter, чтобы преобразовать формулу в формулу таблицы, и распространите ее на ячейку В20.

Давайте посмотрим, как работает эта формула:

  1. СЧЁТЕСЛИ(Список;»<«& Список) – возвращает массив (1) с количеством сотрудников, которые меньше сотрудника, находящегося в текущей ячейке. Т.е. массив будет иметь вид <5; 20; 19; 21; 12 …>, например, Дима Билан имеет значение 5, это значит, что перед ним имеется еще 4 сотрудника, которые расположены раньше по алфавиту, Филипп Киркоров = 20, значит перед ним имеется еще 19 сотрудников расположенных ближе к букве А. Таким образом, мы получаем что-то наподобие отсортированного листа.
  2. СЧЁТЕСЛИ(B$1:B…; Список) – возвращает массив (2) с единицами для тех позиций, которые уже имеются на отсортированном листе. Например, в ячейке B2 будет массив <0;0;0;0;0…>, а в ячейке B8 — <0;1;0;0;0; … ;0;1>– так как Валерий Леонтьев встречается два раза.
  3. СУММ – суммирует значения, которые уже были представлены на отсортированном списке.
  4. ПОИСКПОЗ – ищет сумму встречающихся значений массива (2) в массиве (1)
  5. ЕСЛИОШИБКА – скрывает #Н/А, когда расчеты достигают конца списка.

Я долго думал, как объяснить формулу более простым способом, но не могу придумать ничего подходящего. Чтобы лучше понять, как работает формула, вы можете разобрать ее на части и понять, как работает каждая часть формулы таблицы и какой результат она возвращает.

Загрузите образец файла, щелкнув здесь.

Вам также могут быть интересны следующие статьи

20 комментариев

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

Двухуровневый выпадающий список в Excel . Создание двухуровнего выпадающего списка — задача довольно простая если знать, как к Для создания выпадающего групп нам понадобится дополнительный столбец, содержащий уникальные значения групп из исходной таблицы.

Добрый день. Очень нужная формула, но она не работает с числами.

Спасибо большое за полезную формулу!
Подскажите, пожалуйста, как можно доработать данную формулу так, чтобы она считала слова в разных регистрах разными, а не дублями одного и того же?

Рецепт не работает

Все работает, кавычки замените!
Подскажите, что надо изменить что бы работала для горизонтальных строк данных, вместо вертикальных

Что если вы хотите создать список уникальных ячеек в диапазоне B2:H15, например?

формула массива — это фантастика. Большое спасибо!

Я уже очень долго ищу решение для поставленной задачи и только у вас наконец удалось найти подходящую формулу.
Правда я всё равно не понимаю как она работает. При вычислении кусков формулы через F9 она выдаёт ошибки.
Кроме того, мне на листе приходится использовать несколько таких формул. После того как я заполнил несколько столбцов оказалось, что значения в этих ячейках по непонятным причинам пересчитываются, то пропадают, то меняются местами. И видно, что эти вычисления занимают существенное время.
Может быть эту формулу можно упростить? И наверно как-то привязать к первому значению.

извините, но формула не рабочая: вручную вначале набирала, потом в соседний столбец копировала ее, в конце концов скачала заявленный файл — и ничего.

Формула мне не подходит. Нули во всех ячейках. Инвертированные запятые были заменены.

Согласен — 0 везде, при этом в файле демонстрационном как-то считает

Сценарий работает. Должен быть заголовок столбца, иначе он не работает

Перерыла много статей на эту тему, но эта статья лучшая! Формула работает. Да еще по алфавиту сортирует. (У кого не работает — сделайте пару действий:
1. СЧЁТЕСЛИ(B$1:B1; Список) — уберите лишний пробел перед именем диапазона Список;
2. Замените кавычки » на «;
ну и по мелочи… имя диапазона и ссылку на заголовок того столбца, где будет результат.
Я Нуб, поэтому так подробно)) А за помощь — ОГРОМНОЕ спасибо.

Он выдает 0, если в списке есть пустые строки. Подскажите, как адаптировать формулу, чтобы она также считывала массив с пустыми строками?

6 Способов в Python подсчитать уникальные значения в списке

Значения, которые встречаются в списке только один раз, являются уникальными. Мы обсудим различные методы подсчета уникальных значений Python в списке.

  • Автор настоящей статьи

Вступление

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

Уникальный элемент Python в списке

В списке есть уникальные элементы, если они появляются только один раз.

Предположим, у нас есть список = [1, 2, 3, 2, 3, 3, 5, 1, 6, 1]. Первое число встречается три раза, второе — два раза, третье — два раза, пятое и шестое — по одному разу. В списке всего пять уникальных элементов. [1, 2, 3, 5, 6].

Различные методы подсчета уникальных значений

Следующие методы демонстрируют различные способы подсчета количества уникальных элементов в списке или массиве:

1. Python Подсчитывает уникальные значения в списке обычным методом грубой силы

Использование этого метода мы называем грубой силой. Этот метод не так эффективен, поскольку требует больше времени и места. При таком подходе мы возьмем пустой список и переменную count, которая будет установлена в 0. Пройдем от начала до конца списка и проверим, нет ли этого значения в пустом списке. При этом счетчик переменных увеличится на единицу. Если значение не находится в пустом списке, мы не будем его считать, мы не будем добавлять его в пустой список.

Здесь мы сначала взяли список ввода и распечатали список ввода. Во-вторых, мы взяли пустой список и переменную count, которая установлена в 0. В-третьих, мы просмотрели список с самого начала и проверили, есть ли значение в пустом списке или нет. Если значение не находится в пустом списке, мы увеличиваем значение count на 1 и добавляем значение в пустой список. Если мы обнаруживаем, что в списке есть элементы, мы не добавляем их в пустой список и не увеличиваем значение count на 1. Наконец, мы выводим пустой список, который теперь содержит уникальные значения и количество списков. Таким образом, мы сможем увидеть все уникальные элементы в списке.

2. С помощью счетчика

В этом методе мы используем функцию счетчика из библиотеки коллекций. В данном случае мы создадим словарь с помощью функции counter(). Ключами будут уникальные элементы, а значениями — номер уникального элемента. Беря ключи из словаря, мы создаем список и выводим его длину.

Выход — финиш:

Здесь, во-первых, мы импортируем функцию Counter() из библиотеки коллекций. Во-вторых, мы берем список входных данных и выводим его на печать. В-третьих, мы применяем Counter(), неупорядоченную коллекцию, в которой элементы хранятся как ключи словаря, а их количество — как значения словаря. Из входного списка мы создаем новый список, в котором хранятся только те элементы, ключевые значения которых встречаются один раз. Все эти элементы в списке разные. Наконец, мы выводим пустой список, который теперь содержит уникальные значения и номер списка. Таким образом, мы сможем увидеть все уникальные элементы в списке.

3. Python Подсчитывает Уникальные Значения В Списке С помощью набора

Для реализации этого метода мы будем использовать встроенный тип данных Python под названием Set. Мы примем входные данные в виде списка, а затем преобразуем их в множество. Элемент множества никогда не может повторяться. Будут присутствовать только уникальные элементы, а длина списка будет выводиться с помощью функции length ().

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

4. С помощью numpy.unique

В этом методе мы импортируем библиотеку numpy вместе с ее псевдонимом, например, numpy.unique(). В библиотеке numpy мы будем использовать функцию numpy.unique(), которая возвращает уникальное значение входного списка. Мы также можем вернуть подсчет каждого уникального значения, если параметр return count установлен в True.

Первым нашим шагом здесь был импорт модуля numpy как псевдоним np. Во-вторых, мы взяли входной список и распечатали его. В-третьих, мы применили numpy. unique (), который сохранит только уникальные значения списка и сохранит их в другом списке. Наконец, мы распечатали пустой список, содержащий уникальные значения и номер списка. Таким образом, можно увидеть все уникальные элементы в списке.

5. Python Подсчитывает Уникальные Значения В Списке С Помощью Функции pandas dict + zip

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

Здесь, во-первых, мы взяли строку как. Во-вторых, мы использовали функцию dict, внутри мы использовали функцию zip, а внутри мы преобразовали строку в список и подсчитали ключи и значения, пройдя по списку. В-третьих, мы взяли переменную unique, в которой храним ключи и значения в словаре. Наконец, мы вывели длину словаря с помощью функции length в python.

6. Использование фрейма данных pandas.

Мы импортируем pandas, используя псевдоним pd. мы примем входные данные в кадре данных pandas

Здесь, во-первых, мы импортировали модуль панд с псевдонимом pd. Во – вторых, мы создали фрейм данных с вводом меток и имен. В-третьих, мы создали переменную n, в которой будем хранить значение. Мы применили уникальную функцию в метках в панд, а затем вычислили ее длину с помощью функции длины и сохранили ее в переменной n. Наконец-то мы напечатали результат.

Кроме того, Читайте

  • Numpy Count | Практическое объяснение поиска вхождений
  • 4 Надежных Способа Подсчета Слов в строке в Python
  • 5 Лучших способов найти длину строки Python
  • Использование панд в CSV() с совершенством
  • Сложение матриц в Python | Сложение двух матриц

Вывод

В этом уроке нам показали, что делает этот список уникальным. Кроме того, мы увидели различные методы, с помощью которых можно найти уникальные элементы в списке. Мы также подсчитали уникальные элементы в списке и вывели их количество. Методы подробно объясняются на примерах. Для всех примеров даны подробные пояснения, чтобы вы могли понять, как работают методы. Вы можете использовать любую из программ для нахождения количества уникальных элементов в списке в соответствии с вашими потребностями и выбором.

голоса
Рейтинг статьи
Читайте так же:
Как перевернуть доменное имя по нотации в Excel?
Ссылка на основную публикацию
Adblock
detector