Размещения без повторений в excel


Подсчитаем в MS EXCEL количество Размещений из n по k и с помощью формул выведем на лист соответствующие варианты размещений (английский перевод термина: partial permutation или sequence without repetition).

Размещением (partial permutation) называется

упорядоченный

набор из

k

различных

элементов из некоторого множества

различных

n

элементов.

Например, из множества содержащего 3 (n) различных элемента (

a, b, c

) можно сформировать 6 упорядоченных наборов по 2 (k) различных элемента (т.е. 6 размещений из 3 по 2):

ab, ac, ba, bc, ca, cb

. В отличие от

Размещений с повторениями

повторы элементов в наборах не допускаются, т.е. наборы

аа

,

bb

и

сс

не допустимы. В отличие от

Сочетаний

наборы

ac

и

ca

считаются различными (важен порядок). Очевидно, что

k

=<

n

, т.к. нельзя выбрать из множества элементов n больше элементов, чем в нем содержится (предполагается, что элементы после выбора обратно не возвращаются).


Примечание

: О Размещениях с повторениями (с возвращением элементов) можно прочитать в статье

Размещения c повторениями: Комбинаторика в MS EXCEL

. Для вычисления количества Размещений в MS EXCEL имеется специальная функция

ПЕРЕСТ()

. Чтобы подсчитать количество Размещений из 3 (n) по 2 (k) нужно записать формулу

=ПЕРЕСТ(3;2)

Примечание

: Название функции

ПЕРЕСТ()

не соответствует общепринятой терминологии в комбинаторике на русском языке, по сути подсчитывая количество Размещений (хотя, справедливости ради, нужно отметить, что Перестановки она тоже считает при n=k). Причиной расхождения, вероятно, является калька с английского названия функции PERMUT(), т.е. permutation (перестановка).

Примечание

: Если k=n, то количество Размещений из n по n равно числу Перестановок из n элементов, т.е. n!=ФАКТР(n)=ПЕРЕСТ(n;n).

В

файле примера

MS EXCEL приведен подсчет количества Размещений с помощью функции =ПЕРЕСТ(n;k) и альтернативной формулы =ФАКТР(n)/ФАКТР(n-k).

Кроме того, в

файле примера

создана универсальная формула для вывода всех Размещений для заданных n и k. Задавая с помощью

элементов управления Счетчик

количество элементов множества (n) и количество элементов, которое мы из него выбираем (k), с помощью

формулы массива

можно вывести все Размещения. Например, для n=3 (соответствующее множество равно {1; 2; 3}) и к=2 можно сформировать 6 пар размещений.

Задача


6 машин

разных

марок участвуют в гонках на выживание: LADA Granta, Hyundai Solaris, KIA Rio, Renault Duster, Lada Kalina, Volkswagen Polo. Определить число возможных вариантов распределения 3-х призовых мест между участниками.

Нам нужно определить число размещений 6 машин на 3-х призовых местах (понятно, что порядок размещения машин на призовых местах важен). Т.е. n=6, а k=3. Оказывается, что таких вариантов

=ПЕРЕСТ(6;3)

равно 120. Воспользуемся

файлом примера

, чтобы наглядно убедиться, что мы решили задачу правильно. Произвольным образом сопоставим маркам машин числовые значения и сделаем сокращения названий марок: LADA Granta (LG=1), Hyundai Solaris (HS=2), …

Выставив в ячейках

В5

и

В6

значения 6 и 3, определим все варианты размещений машин на призовых местах.

В столбцах Q:T числовым значениям сопоставлены марки машин.


Примечание

: О Перестановках можно прочитать в статье

Перестановки без повторений: Комбинаторика в MS EXCEL

, а о Сочетаниях в статье

Сочетания без повторений: Комбинаторика в MS EXCEL

.

Примечание

: В данной статье рассмотрена выборка элементов из одного массива, в котором содержится n элементов. В статье

Комбинации элементов из нескольких множеств

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

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

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

Понравилось? Добавьте в закладки

Как выбрать формулу комбинаторики?

Нужно последовательно (см. схему выше) ответить на несколько вопросов:

  • Сколько у нас есть объектов (число $n$)?
  • Важен ли их порядок в комбинации?
  • Могут ли встречаться повторяющиеся элементы?
  • Нужно выбрать все элементы или только $klt n$?

Отвечая на эти вопросы, двигаемся по стрелкам схемы и получаем название формулы комбинаторики:

как выбрать формулу комбинаторики

Схема выбора формул с примерами задач

Консультируем по решению задач комбинаторики

Перестановки в Excel

Пусть имеется $n$ различных объектов. Будем переставлять их всеми возможными способами (число объектов остается неизменными, меняется только их порядок). Получившиеся комбинации называются перестановками, а их число равно

$$P_n=n!=1cdot 2cdot 3 cdot … cdot (n-1) cdot n$$

Символ $n!$ называется факториалом и обозначает произведение всех целых чисел от $1$ до $n$. По определению, считают, что $0!=1, 1!=1$.

Подробнее: факториал в эксель.

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

=ПЕРЕСТ($n$;$n$) или =ФАКТР($n$), где $n$ — число переставляемых объектов.

Задача. Сколькими способами можно расставить 10 различных книг на одной полке?

Вводим число объектов 10 и получаем ответ: 3628800 способов.

число перестановок в Excel

В режиме формул это выглядит так:

число перестановок в Excel в режиме формул

Еще: онлайн калькулятор перестановок.

Перестановки с повторениями в Excel

Пусть имеется $n$ объектов различных типов: $n_1$ объектов первого типа, $n_2$ объектов второго типа,… $n_k$ объектов $k$-го типа. Сколькими способами можно переставить все объекты между собой?

Будем переставлять $n$ объектов всеми возможными способами (их будет $n!$). Но так как некоторые объекты совпадают, итоговое число будет меньше. В частности, $n_1$ объектов первого типа можно переставлять между собой $n_1!$ способами, но они не меняют итоговую перестановку. Аналогично для всех остальных объектов, поэтому число перестановок с повторениями есть

$$ P_n (n_1,n_2,…,n_k)=frac{n!}{n_1! cdot n_2!cdot … cdot n_k!}. $$

Для нахождения числа перестановок в Excel будем использовать функцию =ФАКТР(), которая находит факториал чисел и обычные действия (умножение, деление).

Задача. Сколько различных слов можно составить из букв слова «колокол»?

Вводим число букв $n=7$, а также $n_1=2$ (2 буквы «к»), $n_2=3$ (3 буквы «о»), $n_3=2$ (2 буквы «л»), и получаем ответ: 210 слов.

число перестановок с повторениями в Excel

В режиме формул это выглядит так:

число перестановок  с повторениями в Excel в режиме формул

Еще: онлайн калькулятор перестановок c повторениями.

Размещения в Excel

Пусть имеется $n$ различных объектов. Будем выбирать из них $k$ объектов и переставлять всеми возможными способами между собой (то есть меняется и состав выбранных объектов, и их порядок). Получившиеся комбинации называются размещениями из $n$ объектов по $k$, а их число равно

$$A_n^k=frac{n!}{(n-k)!}=ncdot (n-1)cdot … cdot (n-k+1) $$

Для нахождения числа размещений в Excel используем функцию =ПЕРЕСТ($n$;$k$).

Задача. В группе учится 10 студентов. Нужно выбрать из них 3 человек на должности старосты, заместителя и дежурного. Сколькими способами можно это сделать?

Вводим $n=10$, $k=3$ и получаем ответ: 720 способов.

число размещений в Excel

В режиме формул это выглядит так:

число размещений в Excel в режиме формул

Еще: онлайн калькулятор размещений.

Размещения с повторениями в Excel

Число размещений с повторениями из $n$ объектов по $k$ можно найти по формуле

$$overline{A}_n^k=ncdot ncdot … cdot n = n^k. $$

Для вычисления в Excel используем функцию =СТЕПЕНЬ($n$;$k$).

Задача. Сколько трехзначных номеров можно составить для автомобилей, используя все возможные цифры от 0 до 9?

Вводим $n=10$ (количество возможных цифр), $k=3$ (количество цифр в номере) и получаем ответ: 1000 номеров.

число размещений с повторениями в Excel

В режиме формул это выглядит так:

число размещений с повторениями в Excel в режиме формул

Еще: онлайн калькулятор размещений с повторениями.

Сочетания в Excel

Пусть имеется $n$ различных объектов. Будем выбирать из них $k$ объектов все возможными способами (то есть меняется состав выбранных объектов, но порядок не важен). Получившиеся комбинации называются сочетаниями из $n$ объектов по $k$, а их число равно

$$C_n^k=frac{n!}{(n-k)!cdot k!} $$

Для нахождения числа сочетаний в Excel используем функцию =ЧИСЛКОМБ($n$;$k$).

Задача. В поход пошло 10 учеников. Нужно выбрать из них 3, которые понесут флажки. Сколькими способами можно это сделать?

Вводим $n=10$, $k=3$ и получаем ответ: 120 способов.

число сочетаний в Excel

В режиме формул это выглядит так:

число сочетаний в Excel в режиме формул

Еще: онлайн калькулятор сочетаний.

Сочетания с повторениями в Excel

Количество сочетаний с повторениями из $n$ объектов по $k$ можно найти по формуле

$$overline{C}_n^k=C_{k+n-1}^k=frac{(k+n-1)!}{(n-1)!cdot k!}$$

Для вычисления в Excel используем функцию =ЧИСЛКОМБ($n+k-1$;$k$).

Задача. В магазине продаются мячики трех цветов: желтые, красные и синие. Родительский комитет собирается купить 10 мячиков. Сколько возможных вариантов выбора у них есть?

Вводим $n=3$ (вида объектов), $k=10$ (нужно выбрать) и получаем ответ: 66 способов.

число сочетаний с повторениями в Excel

В режиме формул это выглядит так:

число сочетаний с повторениями в Excel в режиме формул

Еще: онлайн калькулятор сочетаний с повторениями.

Полезные ссылки

Для собственных расчетов скачайте файл: Комбинаторика в Excel.

  • Онлайн калькуляторы
  • Онлайн учебник: Элементы комбинаторики
  • Примеры решений
  • Как решать задачи по комбинаторике?
  • Видеоуроки по комбинаторике
  • Решение на заказ

Решебник задач по комбинаторике

Оглавление:

  • 1 Как сделать комбинаторику в excel? — Разбираем подробно
    • 1.1 Перестановки без повторений
    • 1.2 Перестановки с повторениями
    • 1.3 Размещение без повторений
    • 1.4 Размещение с повторениями
    • 1.5 Сочетания без повторений
    • 1.6 Сочетания с повторениями
    • 1.7 Алгоритм

Комбинаторика в Excel

Комбинаторика — раздел математики, изучающий дискретные объекты, множества (сочетания, перестановки, размещения элементов) и отношения на них. Термин комбинаторика был введён в математический обиход Лейбницем, который в 1666 году опубликовал свой труд «Рассуждения о комбинаторном искусстве». Excel поддерживает ряд функций комбинаторики. Чтобы разобраться, какую формулу использовать, следует ответить на ряд вопросов:

  1. Исходное множество содержит только уникальные элементы, или некоторые из них могут повторяться?
  2. Операция выполняется со всеми элементами множества, или только с некоторой выборкой из них?
  3. Важен ли порядок элементов в выборке?
  4. После выбора элемента мы его возвращаем назад?

Как сделать комбинаторику в excel?

Рис. 1. Дерево решений, какую формулу комбинаторики использовать

Скачать заметку в формате Word или pdf, примеры в формате Excel

Перестановки без повторений

Возьмем несколько различных элементов (предметов) и будем переставлять их всевозможными способами, оставляя неизменным их число и меняя только их порядок (рис. 2). Каждая из получившихся таким образом комбинаций носит название перестановки. Перестановкой из n элементов называется упорядоченное множество, составленное из всех элементов множества.

Как сделать комбинаторику в excel?

Рис. 2. Перестановки (картинка взята здесь)

Если все n элементы разные, то число перестановок обозначается Pn от perturbation.

Как сделать комбинаторику в excel?

С другой стороны, произведение n первых натуральных чисел называется n-факториал и обозначается n!

Например

По определению: 1! = 1; 0! = 1.

Функция в Excel =ФАКТР(n). Факториал растет очень быстро. Существенно быстрее экспоненты (рис. 3).

Как сделать комбинаторику в excel?

Рис. 3. Расчет числа перестановок без повторений с помощью факториала

Перестановки с повторениями

Если в основном n множестве не все элементы разные, то число перестановок будет меньше n! Например, если наше множество состоит из трех яблок и одной груши, то всего возможно 4 перестановки (рис. 4). Груша может быть первой, второй, третьей или четвертой, а яблоки неразличимы).

Рис. 4. Перестановки с повторениями (картинка найдена здесь)

В общем случае, можно сказать: последовательность длины n, составленная из k разных символов, первый из которых повторяется n1 раз, второй – n2 раз, третий – n3 раз, …, k-й – nk раз (где n1 + n2 + … + nk = n) называется перестановкой с повторениями из n элементов.

Как сделать комбинаторику в excel?

Пример. Сколько различных пятибуквенных слов можно составить из букв слова «манна»?

Решение. Буквы а и н повторяются 2 раза, а буква м один раз.

Размещение без повторений

Размещением из n элементов по m называется упорядоченный набор из m различных элементов, выбранных из n-элементного множества (все элементы множества уникальны; позиции элементов в выборке важны). Число размещений обозначается  от arrangement.

Как сделать комбинаторику в excel?

Например, два элемента из трех можно выбрать и расположить шестью способами (рис. 4):

Как сделать комбинаторику в excel?

Рис. 5. Размещение без повторений (картинка из презентации)

Если m = n количество элементов совпадает с количеством имеющихся мест для размещения. Знаменатель в формуле (4) превращается в 0! = 1. Остается только числитель n! А это – изученная выше перестановка без повторений; см. формулу (1).

Название функции в Excel несколько обескураживает. Но… что поделаешь: =ПЕРЕСТ(n;m)

Как сделать комбинаторику в excel?

Рис. 6. Размещение без повторений; обратите внимание на смешанные ссылки, которые позволяют протянуть формулу на всю таблицу

Размещение с повторениями

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

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

Как сделать комбинаторику в excel?

Рис. 7. Размещение с повторениями

В общем случае размещение с повторениями или выборка с возвращением – это размещение «предметов» в предположении, что каждый «предмет» может участвовать в размещении несколько раз. По правилу умножения количество размещений с повторениями из n по k:

Задача. Сколько различных номеров можно составить в одном коде региона?

Подсказка. В номере используется 12 букв алфавита, также существующих и в латинском алфавите (А, В, Е, К, М, Н, О, Р, С, Т, У, Х).

Как сделать комбинаторику в excel?

Рис. 8. Номер автомобиля

Решение. Можно воспользоваться формулой для размещения с повторениями:

Как сделать комбинаторику в excel?

Каждую цифру можно выбрать 10 способами, а всего цифр 3, при этом они могут повторяться, и их порядок важен. Каждую букву можно выбрать 12 способами, при этом буквы могут повторяться, и их порядок важен.

Сочетания без повторений

Сочетаниями из n множества по m элементов называются комбинации, составленные из данных n элементов по m элементов, которые различаются хотя бы одним элементом (в сочетаниях не учитывается порядок элементов).

Например, два элемента из 4 сочетаются 6 способами (порядок следования не важен):

Как сделать комбинаторику в excel?

Как сделать комбинаторику в excel?

Как сделать комбинаторику в excel?

Как сделать комбинаторику в excel?

Рис. 9. Сочетания без повторений из 4 по 2

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

где n – номер строки, m – номер элемента в строке, начиная с нулевого. Например, в строке 7:

Рис. 10. Треугольник Паскаля; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

В Excel используется функция =ЧИСЛКОМБ(n;m).

Сочетания с повторениями

Сочетания с повторениями по смыслу похожи на размещение с повторениями – это выборки из множества с возвращением выбранного элемента назад перед каждым новым выбором. При этом порядок в выборке не важен.

Например, два предмета из четырех можно выбрать 10 способами, если после каждого выбора предмет возвращается назад (рис. 11).

Рис. 11. Сочетания с повторениями

В общем случае, число сочетаний с повторениями:

Для нашего примера с фруктами

В Excel для подсчета числа сочетаний с повторениями используется функция =ЧИСЛКОМБА(n;m). В нашем примере =ЧИСЛКОМБА(4;2) = 10.

Калькулятор ниже предназначен для генерации всех сочетаний из n по m элементов.
Число таких сочетаний, как можно рассчитать с помощью калькулятора Элементы комбинаторики. Перестановки, размещения, сочетания.

Описание алгоритма генерации под калькулятором.

Алгоритм

Комбинации генерируются в лексикографическом порядке. Алгоритм работает с порядковыми индексами элементов множества.
Рассмотрим алгоритм на примере.
Для простоты изложения рассмотрим множество из пяти элементов, индексы в котором начинаются с 1, а именно, 1 2 3 4 5.
Требуется сгенерировать все комбинации размера m = 3.
Сначала инициализуется первая комбинация заданного размера m — индексы в порядке возрастания

1 2 3 Далее проверяется последний элемент, т. е. i = 3. Если его значение меньше n — m + i, то он инкрементируется на 1.

1 2 4 Снова проверяется последний элемент, и опять он инкрементируется.

1 2 5 Теперь значение элемента равно максимально возможному: n — m + i = 5 — 3 + 3 = 5, проверяется предыдущий элемент с i = 2.

Если его значение меньше n — m + i, то он инкрементируется на 1, а для всех следующих за ним элементов значение приравнивается к значению предыдущего элемента плюс 1.
1 (2+1)3 (3+1)4 = 1 3 4
Далее снова идет проверка для i = 3.

1 3 5 Затем — проверка для i = 2.

1 4 5 Потом наступает очередь i = 1.

(1+1)2 (2+1)3 (3+1)4 = 2 3 4
И далее,

2 3 52 4 53 4 5 — последнее сочетание, так как все его элементы равны n — m + i.

Did you find apk for android? You can find new Free Android Games and apps.

Комбинаторика в Excel

Комбинаторика — раздел математики, изучающий дискретные объекты, множества (сочетания, перестановки, размещения элементов) и отношения на них. Термин комбинаторика был введён в математический обиход Лейбницем, который в 1666 году опубликовал свой труд «Рассуждения о комбинаторном искусстве». Excel поддерживает ряд функций комбинаторики. Чтобы разобраться, какую формулу использовать, следует ответить на ряд вопросов:

  1. Исходное множество содержит только уникальные элементы, или некоторые из них могут повторяться?
  2. Операция выполняется со всеми элементами множества, или только с некоторой выборкой из них?
  3. Важен ли порядок элементов в выборке?
  4. После выбора элемента мы его возвращаем назад?

Рис. 1. Дерево решений, какую формулу комбинаторики использовать

Скачать заметку в формате Word или pdf, примеры в формате Excel

Перестановки без повторений

Возьмем несколько различных элементов (предметов) и будем переставлять их всевозможными способами, оставляя неизменным их число и меняя только их порядок (рис. 2). Каждая из получившихся таким образом комбинаций носит название перестановки. Перестановкой из n элементов называется упорядоченное множество, составленное из всех элементов множества.

Рис. 2. Перестановки (картинка взята здесь)

Если все n элементы разные, то число перестановок обозначается Pn от perturbation.

С другой стороны, произведение n первых натуральных чисел называется n-факториал и обозначается n!

Например

По определению: 1! = 1; 0! = 1.

Функция в Excel =ФАКТР(n). Факториал растет очень быстро. Существенно быстрее экспоненты (рис. 3).

Рис. 3. Расчет числа перестановок без повторений с помощью факториала

Перестановки с повторениями

Если в основном n множестве не все элементы разные, то число перестановок будет меньше n! Например, если наше множество состоит из трех яблок и одной груши, то всего возможно 4 перестановки (рис. 4). Груша может быть первой, второй, третьей или четвертой, а яблоки неразличимы).

Рис. 4. Перестановки с повторениями (картинка найдена здесь)

В общем случае, можно сказать: последовательность длины n, составленная из k разных символов, первый из которых повторяется n1 раз, второй – n2 раз, третий – n3 раз, …, k-й – nk раз (где n1 + n2 + … + nk = n) называется перестановкой с повторениями из n элементов.

Пример. Сколько различных пятибуквенных слов можно составить из букв слова «манна»?

Решение. Буквы а и н повторяются 2 раза, а буква м один раз.

Размещение без повторений

Размещением из n элементов по m называется упорядоченный набор из m различных элементов, выбранных из n-элементного множества (все элементы множества уникальны; позиции элементов в выборке важны). Число размещений обозначается  от arrangement.

Например, два элемента из трех можно выбрать и расположить шестью способами (рис. 4):

Рис. 5. Размещение без повторений (картинка из презентации)

Если m = n количество элементов совпадает с количеством имеющихся мест для размещения. Знаменатель в формуле (4) превращается в 0! = 1. Остается только числитель n! А это – изученная выше перестановка без повторений; см. формулу (1).

Название функции в Excel несколько обескураживает. Но… что поделаешь: =ПЕРЕСТ(n;m)

Рис. 6. Размещение без повторений; обратите внимание на смешанные ссылки, которые позволяют протянуть формулу на всю таблицу

Размещение с повторениями

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

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

Рис. 7. Размещение с повторениями

В общем случае размещение с повторениями или выборка с возвращением – это размещение «предметов» в предположении, что каждый «предмет» может участвовать в размещении несколько раз. По правилу умножения количество размещений с повторениями из n по k:

В Excel используется функция ПЕРЕСТА(n;k).

Задача. Сколько различных номеров можно составить в одном коде региона?

Подсказка. В номере используется 12 букв алфавита, также существующих и в латинском алфавите (А, В, Е, К, М, Н, О, Р, С, Т, У, Х).

Рис. 8. Номер автомобиля

Решение. Можно воспользоваться формулой для размещения с повторениями:

Каждую цифру можно выбрать 10 способами, а всего цифр 3, при этом они могут повторяться, и их порядок важен. Каждую букву можно выбрать 12 способами, при этом буквы могут повторяться, и их порядок важен.

Сочетания без повторений

Сочетаниями из n множества по m элементов называются комбинации, составленные из данных n элементов по m элементов, которые различаются хотя бы одним элементом (в сочетаниях не учитывается порядок элементов).

Например, два элемента из 4 сочетаются 6 способами (порядок следования не важен):

Рис. 9. Сочетания без повторений из 4 по 2

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

где n – номер строки, m – номер элемента в строке, начиная с нулевого. Например, в строке 7:

Рис. 10. Треугольник Паскаля; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

В Excel используется функция =ЧИСЛКОМБ(n;m).

Сочетания с повторениями

Сочетания с повторениями по смыслу похожи на размещение с повторениями – это выборки из множества с возвращением выбранного элемента назад перед каждым новым выбором. При этом порядок в выборке не важен.

Например, два предмета из четырех можно выбрать 10 способами, если после каждого выбора предмет возвращается назад (рис. 11).

Рис. 11. Сочетания с повторениями

В общем случае, число сочетаний с повторениями:

Для нашего примера с фруктами

В Excel для подсчета числа сочетаний с повторениями используется функция =ЧИСЛКОМБА(n;m). В нашем примере =ЧИСЛКОМБА(4;2) = 10.

Как сделать список в excel без повторений?

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

Список уникальных значений возможно создать 6-ю способами:

  1. С помощью специальной функции;
  2. С помощью расширенного фильтра;
  3. С помощью формул;
  4. С помощью сводных таблиц;
  5. С помощью условного форматирования;
  6. С помощью возможностей макроса.

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

     Это очень простой способ для владельцев Excel выше 2007 версии как произвести отбор уникальных значений. Вам нужно на вкладке «Данные», в разделе «Работа с данными», использовать специальную команду «Удалить дубликаты».

     В появившемся диалоговом окне «Удалить дубликаты», вы выделяете те столбики, где необходимо произвести отсев уникальных значений и нажимаете «Ок».

В случае, когда в выделенном диапазоне размещается и заголовок таблицы, то поставьте галочку на пункте «Мои данные содержат заголовки», что бы вы случайно не удалили данные.

Как сделать список в excel без повторений?    Внимание! Когда вы будете производить отсев уникальных значений в таблице, где столбиков больше 2 и они взаимосвязаны информацией, Excel предложит вам расширить диапазон выбора, с чем вы должны, согласится, иначе будет нарушена логическая связь с другими столбиками.

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

     Это также не сложный способ произвести отбор уникальных значений в таблице.

Использовать этот инструмент возможно на вкладке «Данные», потом выбрать «Фильтр», и наконец «Расширенный фильтр», этот путь подходит для Excel 2003, а вот владельцы более юных версий, от 2007 и выше стоит пройти по пути: «Данные» — «Сортировка и фильтр» — «Дополнительно».

Огромный плюс этого способа в том, что вы можете создать новый список уникальных значений в другом месте. Как сделать список в excel без повторений?     После появления диалогового окна «Расширенный фильтр», устанавливаем галочку напротив пункта «Скопировать результат в другое место», потом указываем диапазон с вашими данными в поле «Исходный диапазон», при необходимости указываем критерий отбора, но для общего отсева поле оставляем пустым «Диапазон критериев», в третьем поле «Поместить результат в диапазон» указываем первую ячейку куда будут помещаться наши данные, отмечаем галочкой пункт «Только уникальные записи» и нажимаем «Ок». Как сделать список в excel без повторений?Если же вам не нужно никуда переносить ваши данные, то просто установите флажок для пункта «Фильтровать список на месте», данные не пострадают, произойдет наложение обыкновенного фильтра.

    Внимание!Если программа запрещает вам переносить отфильтрованные данные на другой лист, вы просто запустите «Расширенный фильтр» на том листе, куда вам надо перенести отобранные уникальные значения.

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

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

     Пример 1. Вам нужно пронумеровать, уникальные, значение в списке значений, для этого нужно использовать функцию ЕСЛИ в формуле следующего вида:

    =ЕСЛИ(СЧЁТЕСЛИ(B$1:B2;B2)=1;МАКС(A$1:A1)+1;»«)

Как сделать список в excel без повторений?

  •     =ЕСЛИ(МАКС(A1:A100)Добрый вечер,вот уже праздники для меня не праздники,преподаватель поставила задачу,сделать через проверку данных список состоящий из 3 имен,но они дублируются,как видно в прикрепленном файле,а выпадающий список не должен содержать этих повторений,то есть,в выпадающем списке должно быть только Три имени из 6 написанных,сортировки и фильтры использовать запретила,только работая с проверкой данных выполнить эту задачу,если кто знает,как это сделать-поделитесь мастерством Пожалуйста)
  • PS в ячейках B1-B6 я уже сделал проверку данных-список там содержится все 6,а вот как 3 не знаю как сделать(
  • Вроде бы нужно в графу источник ввести  формулу,или что-то типа того)
  • Классическая ситуация: у вас есть два списка, которые надо слить в один. Причем в исходных списках могут быть как уникальные элементы, так и совпадающие (и между списками и внутри), но на выходе нужно получить список без дубликатов (повторений):

Как сделать список в excel без повторений?

Давайте традиционно рассмотрим несколько способов решения такой распространенной задачи — от примитивных «в лоб» до более сложных, но изящных.

Способ 1. Удаление дубликатов

Можно решить задачу самым простым путем — руками скопировать элементы обоих списков в один и применить потом к полученному набору инструмент Удалить дубликаты с вкладки Данные (Data — Remove Duplicates):

Как сделать список в excel без повторений?

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

Способ 1а. Сводная таблица

Этот способ является, по сути, логическим продолжением предыдущего. Если списки не очень большого размера и заранее известно предельное количество элементов в них (например, не больше 10), то можно объединить две таблицы в одну прямыми ссылками, добавить справа столбец с единичками и построить по получившейся таблице сводную:

Как сделать список в excel без повторений?

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

При изменении исходных списков новые данные по прямым ссылкам попадут в объединенную таблицу, но сводную придется обновить уже вручную (правой кнопкой мыши — Обновить). Если не нужен пересчет «на лету», то лучше воспользоваться другими вариантами.

Способ 2. Формула массива

Можно решить проблему формулами. В этом случае пересчет и обновление результатов будет происходить автоматически и мгновенно, сразу после изменений в исходных списках. Для удобства и краткости давайте дадим нашим спискам имена Список1 и Список2, используя Диспетчер имен на вкладке Формулы (Formulas — Name Manager — Create):

Как сделать список в excel без повторений?

После именования, нужная нам формула будет выглядеть следующим образом:

Как сделать список в excel без повторений?

  1. На первый взгляд выглядит жутковато, но, на самом деле, все не так страшно. Давайте я разложу эту формулу на несколько строк, используя сочетание клавиш Alt+Enter и отступы пробелами, как мы делали, например тут:
  2. Логика тут следующая:
  • Формула ИНДЕКС(Список1;ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$1:E1;Список1); 0) выбирает все уникальные элементы из первого списка. Как только они заканчиваются — начинает выдавать ошибку #Н/Д:
  • Формула ИНДЕКС(Список2;ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$1:E1;Список2); 0)) аналогичным образом извлекает уникальные элементы из второго списка.
  • Вложенные друг в друга две функции ЕСЛИОШИБКА реализуют вывод сначала уникальных из списка-1, а потом из списка-2 друг за другом.

Обратите внимание, что это формула массива, т.е. после набора ее нужно ввести в ячейку не обычным Enter, а сочетанием клавиш Ctrl+Shift+Enter и затем скопировать (протянуть) вниз на нижестоящие ячейки с запасом.

  • В английской версии Excel эта формула выглядит как:
  • =IFERROR(IFERROR(INDEX(Список1, MATCH(0, COUNTIF($E$1:E1, Список1), 0)), INDEX(Список2, MATCH(0, COUNTIF($E$1:E1, Список2), 0))), «») 
  • Минус у такого подхода в том, что формулы массива ощутимо замедляют работу с файлом, если в исходных таблицах большое (несколько сотен и более) количество элементов. 

Способ 3. Power Query

Если в ваших исходных списках большое количество элементов, например, по несколько сотен или тысяч, то вместо медленной формулы массива лучше использовать принципиально другой подход, а именно — инструменты надстройки Power Query. Эта надстройка по умолчанию встроена в Excel 2016. Если у вас Excel 2010 или 2013, то ее можно отдельно скачать и установить (бесплатно).

Алгоритм действий следующий:

  1. Открываем отдельную вкладку установленной надстройки Power Query (если у вас Excel 2010-2013) или просто идем на вкладку Данные (если у вас Excel 2016).
  2. Выделяем первый список и жмем кнопку Из таблицы/диапазона (From Range/Table). На вопрос про создание из нашего списка «умной таблицы» — соглашаемся:
  3. Открывается окно редактора запросов, где будет видно загруженные данные и имя запроса Таблица1 (можно поменять на свое, если хотите).
  4. Делаем двойной щелчок в заголовок таблицы (слово Список1) и переименовываем на любой другой (например Люди). Каки именно назвать — не важно, но придуманное название нужно запомнить, т.к. его придется использовать потом еще раз при импорте второй таблицы. Объединить две таблицы в дальнейшем получится только если заголовки их столбцов совпадают.
  5. Разворачиваем выпадающий список в левом верхнем углу Закрыть и загрузить и выбираем Закрыть и загрузить в… (Close&Load to…):
  6. В следующем диалоговом окне (оно может выглядеть немного по-другому — не пугайтесь) выбираем Только создать подключение (Only create connection):
  7. Повторяем всю процедуру (пункты 2-6) для второго списка. При переименовании заголовка столбца важно использовать то же имя (Люди), что и в предыдущем запросе.
  8. В окне Excel на вкладке Данные (Data) или на вкладке Power Query выбираем Получить данные — Объединить запросы — Добавить (Get Data — Merge Queries — Append):
  9. В появившемся диалоговом окне выбираем наши запросы из выпадающих списков:
  10. В итоге получим новый запрос, где два списка будут соединены друг под другом. Осталось удалить дубликаты кнопкой Удалить строки — Удалить дубликаты (Delete Rows — Delete Duplicates):
  11. Готовый запрос можно переименовать справа на панели параметров, дав ему вменяемое имя (это будет имя таблицы-результата по факту) и все и можно все выгружать на лист командой Закрыть и загрузить (Close&Load):

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

Ссылки по теме

  • Как собрать несколько таблиц из разных файлов с помощью Power Query
  • Извлечение уникальных элементов из списка
  • Как сравнить два списка между собой на совпадения и отличия

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

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

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

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

Формула массива будет выглядеть следующим образом:

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

Источник: http://word-office.ru/kak-sdelat-spisok-v-excel-bez-povtoreniy.html

Как сделать выборку в Excel из списка с условным форматированием

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

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

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

Для примера возьмем историю взаиморасчетов с контрагентами, как показано на рисунке:

Как сделать список в excel без повторений?

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

Перед тем как выбрать уникальные значения в Excel, подготовим данные для выпадающего списка:

  1. Выделите первый столбец таблицы A1:A19.
  2. Выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Дополнительно».
  3. Как сделать список в excel без повторений?

  4. В появившемся окне «Расширенный фильтр» включите «скопировать результат в другое место», а в поле «Поместить результат в диапазон:» укажите $F$1.
  5. Как сделать список в excel без повторений?

  6. Отметьте галочкой пункт «Только уникальные записи» и нажмите ОК.

Как сделать список в excel без повторений?

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

Теперь нам необходимо немного модифицировать нашу исходную таблицу. Выделите первые 2 строки и выберите инструмент: «ГЛАВНАЯ»-«Ячейки»-«Вставить» или нажмите комбинацию горячих клавиш CTRL+SHIFT+=.

Как сделать список в excel без повторений?

У нас добавилось 2 пустые строки. Теперь в ячейку A1 введите значение «Клиент:».

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

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

  1. Перейдите в ячейку B1 и выберите инструмент «ДАННЫЕ»-«Работа с данными»-«Проверка данных».
  2. Как сделать список в excel без повторений?

  3. На вкладке «Параметры» в разделе «Условие проверки» из выпадающего списка «Тип данных:» выберите значение «Список».
  4. Как сделать список в excel без повторений?

  5. В поле ввода «Источник:» введите =$F$4:$F$8 и нажмите ОК.

Как сделать список в excel без повторений?

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

Примечание. Если данные для выпадающего списка находятся на другом листе, то лучше для такого диапазона присвоить имя и указать его в поле «Источник:». В данном случае это не обязательно, так как у нас все данные находятся на одном рабочем листе.

Выборка ячеек из таблицы по условию в Excel:

  1. Выделите табличную часть исходной таблицы взаиморасчетов A4:D21 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматируемых ячеек».
  2. Как сделать список в excel без повторений?
    Как сделать список в excel без повторений?

  3. Чтобы выбрать уникальные значения из столбца, в поле ввода введите формулу: =$A4=$B$1 и нажмите на кнопку «Формат», чтобы выделить одинаковые ячейки цветом. Например, зеленым. И нажмите ОК на всех открытых окнах.

Готово!

Как работает выборка уникальных значений Excel? При выборе любого значения (фамилии) из выпадающего списка B1, в таблице подсвечиваются цветом все строки, которые содержат это значение (фамилию). Чтобы в этом убедится в выпадающем списке B1 выберите другую фамилию. После чего автоматически будут выделены цветом уже другие строки. Такую таблицу теперь легко читать и анализировать.

Скачать пример выборки из списка с условным форматированием.

Принцип действия автоматической подсветки строк по критерию запроса очень прост. Каждое значение в столбце A сравнивается со значением в ячейке B1. Это позволяет найти уникальные значения в таблице Excel.

Если данные совпадают, тогда формула возвращает значение ИСТИНА и для целой строки автоматически присваивается новый формат.

Чтобы формат присваивался для целой строки, а не только ячейке в столбце A, мы используем смешанную ссылку в формуле =$A4.

Источник: https://exceltable.com/formatirovanie/kak-sdelat-vyborku-v-excel

Отбор уникальных значений (убираем повторы из списка) в MS EXCEL

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

Пусть в столбце А имеется список с повторяющимися значениями, например список с названиями компаний.

Как сделать список в excel без повторений?

Задача

В некоторых ячейках исходного списка имеются повторы — новый список уникальных значений не должен их содержать.

Как сделать список в excel без повторений?

Для наглядности уникальные значения в исходном списке выделены цветом с помощью Условного форматирования.

Как сделать список в excel без повторений?

Решение

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

Для создания Динамического диапазона:

  • на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя;
  • в поле Имя введите: Исходный_список;
  • в поле Диапазон введите формулу =СМЕЩ(УникальныеЗначения!$A$5;;; СЧЁТЗ(УникальныеЗначения!$A$5:$A$30))
  • нажмите ОК.

Список уникальных значений создадим в столбце B с помощью формулы массива (см. файл примера). Для этого введите следующую формулу в ячейку B5:

=ЕСЛИОШИБКА(ИНДЕКС(Исходный_список; ПОИСКПОЗ(0;СЧЁТЕСЛИ(B$4:B4;Исходный_список);0));»»)

Как сделать список в excel без повторений?

После ввода формулы вместо ENTER нужно нажать CTRL + SHIFT + ENTER. Затем нужно скопировать формулу вниз, например, с помощью Маркера заполнения.

Чтобы все значения исходного списка были гарантировано отображены в списке уникальных значений, необходимо сделать размер списка уникальных значений равным размеру исходного списка (на тот случай, когда все значения исходного списка не повторяются).

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

Разберем работу формулу подробнее:

  • Здесь использование функции СЧЁТЕСЛИ() не совсем обычно: в качестве критерия (второй аргумент) указано не одно значение, а целый массив Исходный_список, поэтому функция возвращает не одно значение, а целый массив нулей и единиц. Возвращается 0, если значение из исходного списка не найдено в диапазоне B4:B4 (B4:B5 и т.д.), и 1 если найдено. Например, в ячейке B5 формулой СЧЁТЕСЛИ(B$4:B5;Исходный_список) возвращается массив {1:0:0:0:0:0:0:1:0:0:0:0:1:1:0}. Т.е. в исходном списке найдено 4 значения «ООО Рога и копытца» (B5). Массив легко увидеть с помощью клавиши F9 (выделите в Строке формул выражение СЧЁТЕСЛИ(B$4:B5;Исходный_список), нажмите F9: вместо формулы отобразится ее результат);
  • ПОИСКПОЗ() – возвращает позицию первого нуля в массиве из предыдущего шага. Первый нуль соответствует значению еще не найденному в исходном списке (т.е. значению «ОАО Уважаемая компания» для формулы в ячейке B5);
  • ИНДЕКС() – восстанавливает значение по его позиции в диапазоне Исходный_список;
  • ЕСЛИОШИБКА() подавляет ошибку, возникающую, когда функция ПОИСКПОЗ() пытается в массиве нулей и единиц, возвращенном СЧЁТЕСЛИ(), найти 0, которого нет (ситуация возникает в ячейке B12, когда все уникальные значения уже извлечены из исходного списка).

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

Примечание. Функция ЕСЛИОШИБКА() будет работать начиная с версии MS EXCEL 2007, чтобы обойти это ограничение читайте статью про функцию ЕСЛИОШИБКА(). В файле примера имеется лист Для 2003, где эта функция не используется.

Решение для списков с пустыми ячейками

Если исходная таблица содержит пропуски, то нужно использовать другую формулу массива (см. лист с пропусками файла примера):

=ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$19; ПОИСКПОЗ( 0;ЕСЛИ(ЕПУСТО($A$5:A19);»»;СЧЁТЕСЛИ($B$4:B4;$A$5:$A$19));0)

);»»)

Как сделать список в excel без повторений?

Решение без формул массива

Для отбора уникальных значений можно обойтись без использования формул массива. Для этого создайте дополнительный служебный столбец для промежуточных вычислений (см. лист «Без CSE» в файле примера).

СОВЕТ: Список уникальных значений можно создать разными способами, например, с использованием Расширенного фильтра (см.

статью Отбор уникальных строк с помощью Расширенного фильтра), Сводных таблиц или через меню . У каждого способа есть свои преимущества и недостатки.

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

СОВЕТ2: Для тех, кто создает список уникальных значений для того, чтобы в дальнейшем сформировать на его основе Выпадающий список, необходимо учитывать, что вышеуказанные формулы возвращают значение Пустой текст «», который требует аккуратного обращения, особенно при подсчете значений (вместо обычной функции СЧЕТЗ() нужно использовать СЧЕТЕСЛИ() со специальными аргументами). Например, см. статью Динамический выпадающий список в MS EXCEL.

Примечание: В статье Восстанавливаем последовательности из списка без повторов в MS EXCEL решена обратная задача: из списка уникальных значений, в котором для каждого значения задано количество повторов, создается список этих значений с повторами.

Источник: https://excel2.ru/articles/otbor-unikalnyh-znacheniy-ubiraem-povtory-iz-spiska-v-ms-excel

6 способов создать список уникальных значений в Excel

Как сделать список в excel без повторений?      Здравствуй уважаемый пользователь!

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

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

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

Список уникальных значений возможно создать 6-ю способами:

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

     Это очень простой способ для владельцев Excel выше 2007 версии как произвести отбор уникальных значений. Вам нужно на вкладке «Данные», в разделе «Работа с данными», использовать специальную команду «Удалить дубликаты».

     В появившемся диалоговом окне «Удалить дубликаты», вы выделяете те столбики, где необходимо произвести отсев уникальных значений и нажимаете «Ок».

В случае, когда в выделенном диапазоне размещается и заголовок таблицы, то поставьте галочку на пункте «Мои данные содержат заголовки», что бы вы случайно не удалили данные. Как сделать список в excel без повторений?    Внимание! Когда вы будете производить отсев уникальных значений в таблице, где столбиков больше 2 и они взаимосвязаны информацией, Excel предложит вам расширить диапазон выбора, с чем вы должны, согласится, иначе будет нарушена логическая связь с другими столбиками.

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

     Это также не сложный способ произвести отбор уникальных значений в таблице.

Использовать этот инструмент возможно на вкладке «Данные», потом выбрать «Фильтр», и наконец «Расширенный фильтр», этот путь подходит для Excel 2003, а вот владельцы более юных версий, от 2007 и выше стоит пройти по пути: «Данные» — «Сортировка и фильтр» — «Дополнительно».

Огромный плюс этого способа в том, что вы можете создать новый список уникальных значений в другом месте. Как сделать список в excel без повторений?     После появления диалогового окна «Расширенный фильтр», устанавливаем галочку напротив пункта «Скопировать результат в другое место», потом указываем диапазон с вашими данными в поле «Исходный диапазон», при необходимости указываем критерий отбора, но для общего отсева поле оставляем пустым «Диапазон критериев», в третьем поле «Поместить результат в диапазон» указываем первую ячейку куда будут помещаться наши данные, отмечаем галочкой пункт «Только уникальные записи» и нажимаем «Ок». Как сделать список в excel без повторений?Если же вам не нужно никуда переносить ваши данные, то просто установите флажок для пункта «Фильтровать список на месте», данные не пострадают, произойдет наложение обыкновенного фильтра.

    Внимание!Если программа запрещает вам переносить отфильтрованные данные на другой лист, вы просто запустите «Расширенный фильтр» на том листе, куда вам надо перенести отобранные уникальные значения.

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

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

     Пример 1. Вам нужно пронумеровать, уникальные, значение в списке значений, для этого нужно использовать функцию ЕСЛИ в формуле следующего вида:

    =ЕСЛИ(СЧЁТЕСЛИ(B$1:B2;B2)=1;МАКС(A$1:A1)+1;»«)

    Суть формулы в том, что она проверяет сколько раз, текущее значение встречается в вашем диапазоне (начиная с начала), и если это значение равно 1, то есть это первое уникальное значение, формула ставит последовательно возвращающий номер по порядку.

Как сделать список в excel без повторений?    Теперь можно произвести отбор уникальных значений, которые были ранее пронумерованы. Сделать это возможно в любом из соседних столбиков используя функцию ВПР и копируя ее вниз:

    =ЕСЛИ(МАКС(A1:A100)

Источник: http://topexcel.ru/6-sposobov-sozdat-spisok-unikalnyx-znachenij-v-excel/

Как получить список уникальных(не повторяющихся) значений?

Хитрости » 1 Май 2011       Дмитрий       386936 просмотров

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

Как это иначе называют: создать список уникальных элементов, список неповторяющихся, без дубликатов. Для этого существует несколько способов: встроенными средствами Excel, встроенными формулами и, наконец, при помощи кода Visual Basic for Application(VBA) и сводных таблиц.

В этой статье рассмотрим каждый из вариантов.

при помощи встроенных возможностей Excel 2007 и выше

В Excel 2007 и 2010 это сделать проще простого — есть специальная команда, которая так и называется — Удалить дубликаты (Remove Duplicates). Расположена она на вкладке Данные (Data) подраздел Работа с данными (Data tools)
Как сделать список в excel без повторений?

Как использовать данную команду. Выделяете столбец(или несколько) с теми данными, в которых надо удалить дублирующие записи. Идете на вкладку Данные (Data)Удалить дубликаты (Remove Duplicates).

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

Как сделать список в excel без повторений?

Ставите галочки напротив тех столбцов, дубликаты в которых надо удалить и жмете Ок. Если в выделенном диапазоне так же расположены заголовки данных, то лучше поставить флаг Мои данные содержат заголовки, чтобы случайно не удалить данные в таблице(если они вдруг полностью совпадают со значением в заголовке).

Способ 1: Расширенный фильтр

В случае с Excel 2003 все посложнее. Там нет такого инструмента, как Удалить дубликаты. Но зато есть такой замечательный инструмент, как Расширенный фильтр. В 2003 этот инструмент можно найти в ДанныеФильтрРасширенный фильтр. Прелесть этого метода в том, с его помощью можно не портить исходные данные, а создать список в другом диапазоне.В 2007-2010 Excel, он тоже есть, но немного запрятан. Расположен на вкладке Данные (Data), группа Сортировка и фильтр (Sort & Filter)Дополнительно (Advanced)
Как его использовать: запускаем указанный инструмент — появляется диалоговое окно:Как сделать список в excel без повторений?

  • Обработка: Выбираем Скопировать результат в другое место (Copy to another location).
  • Исходный диапазон (List range): Выбираем диапазон с данными(в нашем случае это А1:А51).
  • Диапазон критериев (Criteria range): в данном случае оставляем пустым.
  • Поместить результат в диапазон (Copy to): указываем первую ячейку для вывода данных — любую пустую(на картинке — E2).
  • Ставим галочку Только уникальные записи (Unique records only).
  • Жмем Ок.

Примечание: если вы хотите поместить результат на другой лист, то просто так указать другой лист не получится. Вы сможете указать ячейку на другом листе, но…Увы и ах…

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

А в качестве исходных данных выбираем данные с любого листа — это дозволено.

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

Для этого надо просто в пункте Обработка выбрать Фильтровать список на месте (Filter the list, in-place).

Способ 2: Формулы

Этот способ сложнее в понимании для неопытных пользователей, но зато он создает список уникальных значений, не изменяя при этом исходные данные. Ну и он более динамичен: если изменить данные в исходной таблице, то изменится и результат. Иногда это бывает полезно. Попытаюсь объяснить на пальцах что и к чему: допустим, список с данными у Вас расположен в столбце А(А1:А51, где А1 — заголовок). Выводить список мы будем в столбец С, начиная с ячейки С2. Формула в C2 будет следующая:
{=ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1))}
{=INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1))}
Детальный разбор работы данной формулы приведен в статье: Как просмотреть этапы вычисления формул
Надо отметить, что эта формула является формулой массива. Об этом могут сказать фигурные скобки, в которые заключена данная формула. А вводится такая формула в ячейку сочетанием клавиш — Ctrl+Shift+Enter. После того, как мы ввели эту формулу в C2 мы её должны скопировать и вставить в несколько строк так, чтобы точно отобразить все уникальные элементы. Как только формула в нижних ячейках вернет #ЧИСЛО! — это значит все элементы отображены и ниже протягивать формулу нет смысла. Чтобы ошибку избежать и сделать формулу более универсальной(не протягивая каждый раз до появления ошибки) можно использовать нехитрую проверку:
для Excel 2007 и выше:
{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1));»»)}
{=IFERROR(INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1));»»)}
для Excel 2003:
{=ЕСЛИ(ЕОШ(НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1));»»;ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1)))}
{=IF(ISERR(SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1));»»;INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1)))}
Тогда вместо ошибки #ЧИСЛО!(#NUM!) у вас будут пустые ячейки(не совсем пустые, конечно — с формулами :-)).

Чуть подробнее про отличия и нюансы формул ЕСЛИОШИБКА и ЕСЛИ(ЕОШ можно прочесть в этой статье: Как в ячейке с формулой вместо ошибки показать 0

Способ 3: код VBA

Данный подход потребует разрешения макросов и базовых знаний о работе с ними. Если не уверены в своих знаниях для начала рекомендую прочитать эти статьи:

Оба приведенных ниже кода следует помещать в стандартный модуль. Макросы должны быть разрешены.

Исходные данные оставим в том же порядке — список с данными расположен в столбце «А»(А1:А51, где А1 — заголовок). Только выводить список мы будем не в столбец С, а в столбец Е, начиная с ячейки Е2:

Sub Extract_Unique() Dim vItem, avArr, li As Long ReDim avArr(1 To Rows.Count, 1 To 1) With New Collection On Error Resume Next For Each vItem In Range(«A2», Cells(Rows.Count, 1).End(xlUp)).Value ‘Cells(Rows.Count, 1).End(xlUp) – определяет последнюю заполненную ячейку в столбце А .Add vItem, CStr(vItem) If Err = 0 Then li = li + 1: avArr(li, 1) = vItem Else: Err.Clear End If Next End With If li Then [E2].Resize(li).Value = avArr
End Sub

Sub Extract_Unique() Dim vItem, avArr, li As Long ReDim avArr(1 To Rows.Count, 1 To 1) With New Collection On Error Resume Next For Each vItem In Range(«A2», Cells(Rows.Count, 1).End(xlUp)).Value ‘Cells(Rows.Count, 1).

End(xlUp) – определяет последнюю заполненную ячейку в столбце А .Add vItem, CStr(vItem) If Err = 0 Then li = li + 1: avArr(li, 1) = vItem Else: Err.Clear End If Next End With If li Then [E2].Resize(li).

Value = avArr End Sub

С помощью данного кода можно извлечь уникальные не только из одного столбца, но и из любого диапазона столбцов и строк. Если вместо строки
Range(«A2», Cells(Rows.Count, 1).End(xlUp)).Value
указать Selection.

Value, то результатом работы кода будет список уникальных элементов из выделенного на активном листе диапазона. Только тогда неплохо бы и ячейку вывода значений изменить — вместо [E2] поставить ту, в которой данных нет.

Так же можно указать конкретный диапазон:

Range(«A2:C30»).Value

Или другой столбец:

Range(«C2», Cells(Rows.Count, 3).End(xlUp)).Value

Range(«C2», Cells(Rows.Count, 3).End(xlUp)).Value

здесь отдельно стоит обратить внимание то, что в данном случае помимо изменения А2 на С2 изменилась и цифра 1 на 3. Это указание на номер столбца, в котором необходимо определить последнюю заполненную ячейку, чтобы код не просматривал лишние ячейки. Подробнее про это можно прочитать в статье: Как определить последнюю ячейку на листе через VBA?

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

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

Указанные ячейки будут просмотрены, из них будут отобраны только уникальные значения(пустые ячейки при этом пропускаются) и результирующий список будет записан, начиная с указанной ячейки.

Sub Extract_Unique() Dim x, avArr, li As Long Dim avVals Dim rVals As Range, rResultCell As Range
  On Error Resume Next ‘запрашиваем адрес ячеек для выбора уникальных значений Set rVals = Application.InputBox(«Укажите диапазон ячеек для выборки уникальных значений», «Запрос данных», «A2:A51», Type:=8) If rVals Is Nothing Then ‘если нажата кнопка Отмена Exit Sub End If ‘если указана только одна ячейка — нет смысла выбирать If rVals.Count = 1 Then MsgBox «Для отбора уникальных значений требуется указать более одной ячейки», vbInformation, «www.excel-vba.ru» Exit Sub End If ‘отсекаем пустые строки и столбцы вне рабочего диапазона Set rVals = Intersect(rVals, rVals.Parent.UsedRange) ‘если указаны только пустые ячейки вне рабочего диапазона If rVals Is Nothing Then MsgBox «Недостаточно данных для выбора значений», vbInformation, «www.excel-vba.ru» Exit Sub End If avVals = rVals.Value ‘запрашиваем ячейку для вывода результата Set rResultCell = Application.InputBox(«Укажите ячейку для вставки отобранных уникальных значений», «Запрос данных», «E2», Type:=8) If rResultCell Is Nothing Then ‘если нажата кнопка Отмена Exit Sub End If ‘определяем максимально возможную размерность массива для результата ReDim avArr(1 To Rows.Count, 1 To 1) ‘при помощи объекта Коллекции(Collection) ‘отбираем только уникальные записи, ‘т.к. Коллекции не могут содержать повторяющиеся значения With New Collection On Error Resume Next For Each x In avVals If Len(CStr(x)) Then ‘пропускаем пустые ячейки .Add x, CStr(x) ‘если добавляемый элемент уже есть в Коллекции — возникнет ошибка ‘если же ошибки нет — такое значение еще не внесено, ‘добавляем в результирующий массив If Err = 0 Then li = li + 1 avArr(li, 1) = x Else ‘обязательно очищаем объект Ошибки Err.Clear End If End If Next End With ‘записываем результат на лист, начиная с указанной ячейки If li Then rResultCell.Cells(1, 1).Resize(li).Value = avArr
End Sub

Sub Extract_Unique() Dim x, avArr, li As Long Dim avVals Dim rVals As Range, rResultCell As Range On Error Resume Next ‘запрашиваем адрес ячеек для выбора уникальных значений Set rVals = Application.

InputBox(«Укажите диапазон ячеек для выборки уникальных значений», «Запрос данных», «A2:A51», Type:=8) If rVals Is Nothing Then ‘если нажата кнопка Отмена Exit Sub End If ‘если указана только одна ячейка — нет смысла выбирать If rVals.Count = 1 Then MsgBox «Для отбора уникальных значений требуется указать более одной ячейки», vbInformation, «www.excel-vba.

ru» Exit Sub End If ‘отсекаем пустые строки и столбцы вне рабочего диапазона Set rVals = Intersect(rVals, rVals.Parent.UsedRange) ‘если указаны только пустые ячейки вне рабочего диапазона If rVals Is Nothing Then MsgBox «Недостаточно данных для выбора значений», vbInformation, «www.excel-vba.ru» Exit Sub End If avVals = rVals.

Value ‘запрашиваем ячейку для вывода результата Set rResultCell = Application.InputBox(«Укажите ячейку для вставки отобранных уникальных значений», «Запрос данных», «E2», Type:=8) If rResultCell Is Nothing Then ‘если нажата кнопка Отмена Exit Sub End If ‘определяем максимально возможную размерность массива для результата ReDim avArr(1 To Rows.

Count, 1 To 1) ‘при помощи объекта Коллекции(Collection) ‘отбираем только уникальные записи, ‘т.к. Коллекции не могут содержать повторяющиеся значения With New Collection On Error Resume Next For Each x In avVals If Len(CStr(x)) Then ‘пропускаем пустые ячейки .

Add x, CStr(x) ‘если добавляемый элемент уже есть в Коллекции — возникнет ошибка ‘если же ошибки нет — такое значение еще не внесено, ‘добавляем в результирующий массив If Err = 0 Then li = li + 1 avArr(li, 1) = x Else ‘обязательно очищаем объект Ошибки Err.Clear End If End If Next End With ‘записываем результат на лист, начиная с указанной ячейки If li Then rResultCell.Cells(1, 1).Resize(li).Value = avArr End Sub

Способ 4: Сводные таблицы

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

  • Выделяем один или несколько столбцов в таблице, переходим на вкладку Вставка(Insert) -группа Таблица(Table)Сводная таблица(PivotTable)
  • В диалоговом окне Создание сводной таблицы(Create PivotTable) проверяем правильность выделения диапазона данных (или установить новый источник данных)
  • указываем место размещения Сводной таблицы:
    • На новый лист (New Worksheet)
    • На существующий лист (Existing Worksheet)
  • подтверждаем создание нажатием кнопки OK

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

  • выделил диапазон A1:B51 на листе Извлечение по критерию
  • вызвал меню вставки сводной таблицы: вкладка Вставка(Insert) -группа Таблица(Table)Сводная таблица(PivotTable)
    выбрал вставить на новый лист(New Worksheet)
  • назвал этот лист Уникальные сводной таблицей
  • поле Данные поместил в область строк
  • поле ФИО в область фильтра. Почему? Чтобы удобно было выбирать одно или несколько ФИО и в сводной отображался бы список уникальных месяцев только для выбранных фамилий
    Как сделать список в excel без повторений?

В чем неудобство работы со сводными в данном случае: при изменении в исходных данных сводную таблицу придется обновлять вручную: Выделить любую ячейку сводной таблицы -Правая кнопка мыши —Обновить(Refresh) или вкладка Данные(Data)Обновить все(Refresh all)Обновить(Refresh).

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

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

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

О чем речь: если в одном столбце фамилии, а во втором(В) некие данные(в файле это месяцы) и требуется извлечь уникальные значения столбца В только для выбранной фамилии.

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

  • Скачать пример:
  •   Tips_All_ExtractUnique.xls (108,0 KiB, 14 512 скачиваний)
  • Также см.:
    Работа с дубликатами
    Как подсчитать количество повторений
    Общие сведения о сводных таблицах

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

Источник: https://www.excel-vba.ru/chto-umeet-excel/kak-poluchit-spisok-unikalnyxne-povtoryayushhixsya-znachenij/

В Excel есть множество функций, позволяющих получить очень полезные результаты в математике и финансах, если назвать всего две категории. По этой причине мы рекомендуем вам установить Microsoft Office и прочтите эту статью, из которой вы узнаете чтобы перечислить все комбинации с функцией КОМБИНАТ в Excel 

Что такое комбинация?

Вероятно, комбинация — это метод подсчета, используемый для получить количество групп элементов что можно взять из набора. Важно отметить, что элементы не повторяются, порядок не имеет значения, можно использовать числовые значения или символы, что выражается формулой C n, k = n! / (нк)! * к!

Функция COMBINATE в Excel

Функция КОМБИНАТ — это формула Excel, которая позволяет получить количество комбинаций для набора элементов. Таким образом, функция COMBINATE в Excel предоставляет общее количество групп, которые могут быть созданы из определенного количества элементов.

Функция COMBINAT в Excel поддерживает только числовые значения, и если некоторый текст включен в ячейки, которые будут аргументами формулы, будет получен усеченный результат, а на выходе #VALUE! Если один из аргументов содержит значение меньше 0, функция возвращает ошибку # ЧИСЛО!  

Как перечислить все комбинации с функцией COMBINATE в Excel

Если вы хотите перечислить все комбинации с функцией COMBINATE в Excel, необходимо знать синтаксис требуется эту формулу и применить дополнительную процедуру в случае, если список групп включает текст вместо числовых значений.

Каков синтаксис функции КОМБИНАТ в Excel?

Синтаксис функции КОМБИНАТ в Excel имеет два аргумента. Первый аргумент относится к общему количеству элементов, а второй — к количеству элементов, разрешенных в каждой комбинации. Оба аргумента обязательны и выражаются так: = КОМБИНАТ (число, размер)  

Перечислите количество возможных комбинаций с функцией КОМБИНАТ в Excel

Чтобы перечислить количество возможных комбинаций с помощью функции COMBINATE в Excel, вам необходимо вставить список предметов который будет использоваться как диапазон ячеек. Предположим, у вас есть список из восьми учеников, и вы хотите сгруппировать их в пары. Чтобы увидеть список всех возможных комбинаций, нам понадобится функция COMBINAT.

Напишите имя каждого ученика от A1 до A8. Для этого вы можете создать сводную таблицу . Перейдите к строке формул и выберите категорию «Математика и тригонометрия». Найдите функцию COMBINAT и нажмите «ОК». В «Число» нажмите значок красной стрелки, чтобы выбрать диапазон A1: A8, а в «Размер» введите 2 и нажмите «ОК». 

Список всех комбинаций с функцией COMBINATE в Excel

Если вам нужно перечислить все комбинации с Функция COMBINATE в Excel, это необходимо создать макрос для выполнения процедуры. Для этого разделите имена на два столбца (A и B) и нажмите «Alt + F11». Таким образом вы получите доступ к редактору Visual Basic. Затем нажмите «Вставить» и «Модуль».

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

  • Под комбайном ()
  • Dim i как целое, j как целое, LastRA как целое, LastRB как целое, Aux как целое
  • Вспомогательный = 1
  • LastRA = Диапазон («A4»). Конец (xlUp) .Row
  • LastRB = Диапазон («B4»). Конец (xlUp) .Row
  • Для i = 1 ТБ LastRA
  • Для j = 1 ТБ LastRB
  • Диапазон («C» & Aux) = Range («A» & i) & Range («B» & j)
  • Вспомогательный = Вспомогательный + 1
  • Следующий j
  • Затем я
  • End Sub

Как работает макрос для выполнения слияния

Чтобы комбинация была проведена, вы должны указать, что из всего «n» элементов (8 имен учащихся) возможно получить группы элементов без повторения и независимо от порядка, в котором они появляются.

При выборе диапазона или всех элементов столбец «C» получит возможные комбинации посредством поворота в два цикла для столбцов A и B. Удобно отметить, что если вы решите загрузите и установите LibreOffice на вашем компьютере вы не сможете разработать макрос, потому что это программное обеспечение несовместимо с приложениями Visual Basic.  

Ezoic

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

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

Изменено: Cupon04.09.2019 14:49:10

 

Dima S

Пользователь

Сообщений: 2063
Регистрация: 01.01.1970

а смысл?
если можно посчитать в массиве и выдать результат.
Зачем миллионы строк с однотипными формулами?

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

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

Изменено: Cupon04.09.2019 15:05:45

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

Может кто нибудь помочь ? Или подскажите, куда можно обратиться.

Может это все-таки не в excel делать. Буду благодарен за любую подсказку

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#5

05.09.2019 09:48:25

Цитата
Cupon: Может кто нибудь помочь?

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

Изменено: Jack Famous05.09.2019 09:51:05

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

#6

05.09.2019 10:10:17

Jack Famous

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

Цитата
Так вот анализ нужно проводить в коде и полученный результат уже выводить на лист

можно подробнее, или хотя бы пример такого кода

Прикрепленные файлы

  • sochetaniya_bez_povtoreniy тест.xlsx (27.61 КБ)

Изменено: Cupon05.09.2019 10:14:09

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#7

05.09.2019 10:33:44

Цитата
Cupon: конечная цифра

вы добавили 2 столбца. Что за конечная цифра (строго говоря, число тогда уж)?

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

да, верно — число
как видно из расчета полученных данных

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Cupon, вы не поняли — вы добавили 2 столбца, то есть 2*кол-во строк чисел. Вам их сумма нужна, среднее, минимум/максимум? Что в итоге-то нужно?

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

Идут 6 столбцов с числами. в 7 столбце высчитывается число из предыдущих шести. Именно оно мне нужно

Изменено: Cupon05.09.2019 10:51:07

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Cupon, ещё раз: 7ой столбец это МИЛЛИОНЫ итоговых чисел (по количеству строк).  Я понял, что вам нужно это число (+ округление), но их по-прежнему очень много и я пытаюсь выяснить, что вы с ними будете делать. Суммировать, сортировать… Неужели вы просто потом весь этот массив куда-то копируете?

Изменено: Jack Famous05.09.2019 10:55:08

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

аа) дальше что
дальше мне необходимо подбить по количеству сколько будет получившихся одинаковых чисел (а они будут). Потом рисую график
например 0.11 — 500 шт, 0.05 — 300 шт. и т.д.

Изменено: Cupon05.09.2019 10:57:57

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Cupon, ну наконец-то)) тут пришёл главный по комбинаторике

— если он подскажет, то предложу какой-нибудь тупой перебор в коде…

не подскажу, потому что не вдупляю ваш алгоритм

Название темы:

«Комбинаторика. Перебор всех сочетаний с выводом списка повторений»

Изменено: Jack Famous05.09.2019 11:10:17

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

Jack Famous

спасибо большое. буду ждать)
Название темы поменять не могу

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#15

05.09.2019 11:11:30

Цитата
Cupon: спасибо большое. буду ждать

поторопился я с обещаниями — прощу прощения…

Цитата
Cupon: Название темы поменять не могу

это для модераторов — они меняют

Изменено: Jack Famous05.09.2019 11:11:39

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

алгоритм там прост: количество сочетаний шести чисел без повтора из определенного числа

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#17

05.09.2019 11:23:40

Цитата
Cupon написал:
Именно оно мне нужно

Вам же не нужны все 13 миллионов чисел в итоге, скорее всего нужно найти оптимальное (максимальное или минимальное) перебирая все возможные сочетания чисел.
Данную задачу (перебор всех сочетаний) можно легко решить макросом, задать критерии оптимальности и выбрать нужное.
Перебрать 13 млн. сочетаний — не долго, не нужно все это сохранять на листе Excel.
Примеры реализации комбинаторики на VBA можно посмотреть здесь:

http://www.excelworld.ru/forum/3-36449-1

Не все задачи можно решать простым перебором, количество комбинаций может быть очень большим, и не хватит времени найти решение перебором

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#18

05.09.2019 11:25:01

Цитата
Cupon: количество сочетаний

ОК — скачайте файл

отсюда

и скажите, какой вариант ваш

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#19

05.09.2019 11:26:54

Цитата
Cupon написал:
дальше мне необходимо подбить по количеству сколько будет получившихся одинаковых чисел (а они будут). Потом рисую график

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

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Cupon, взял Combin за основу.  Смотрите: для 6 понятно — сумму первых 3х делим на сумму остальных 3х и округляем до двух знаков. А если k<>6?

Изменено: Jack Famous05.09.2019 11:56:51

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

#22

05.09.2019 13:40:14

Цитата
Jack Famous написал:
ОК — скачайте файл  отсюда  и скажите, какой вариант ваш

запутался ) у меня сочетание без повторений

Цитата
Jack Famous написал:
Cupon , взял Combin за основу.  Смотрите: для 6 понятно — сумму первых 3х делим на сумму остальных 3х и округляем до двух знаков. А если k<>6?

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

Цитата
Цитата
MCH написал:
вариант 6 из 49

спасибо вам огромное. Я вторую неделю тут мучаюсь) но это естественно все от незнания. А можно сам алгоритм. В будущем хочу еще 5 из 50

Изменено: Cupon05.09.2019 13:40:58

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#23

05.09.2019 13:48:48

Цитата
Cupon написал:
Я думаю методом подбора функций надо выйти на оптимальное решение.

Какую функцию подбираем? какой результат нужен в итоге? для чего все это?
Анализ лотереи?

 

PooHkrd

Пользователь

Сообщений: 6602
Регистрация: 22.02.2017

Excel x64 О365 / 2016 / Online / Power BI

#24

05.09.2019 13:49:22

Цитата
Cupon написал:
хочу еще 5 из 50

гм, а для нечетного количества как рассчитывать столбец с отношением суммы первых трех элементов к сумме последних трех?

Вот горшок пустой, он предмет простой…

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

#25

05.09.2019 14:01:15

тут уже надо искать другую формулу

Цитата
MCH написал: Анализ лотереи?

да. Анализ всех вариантов и сравнение с уже имеющимися. функция (1+2+3)/(4+5+6) придумана чисто для удобства и более-менее выхода на красивую кривую

можно ли увидеть из вашего итога, например  какие варианты шести чисел содержит получившееся число 0,38 ?

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

Посмотрите макрос, он небольшой (40 строчек кода), попробуйте разобраться самостоятельно.
У меня подсчет (перебор всех комбинаций и расчет функции) занимает 4-5 секунд.
Можно при очередном запуске проверять на результат 0,38 и выводит на лист все варианты, только их будет очень много — 400 тыс. вариантов

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

#27

05.09.2019 15:04:05

MCH

да, макрос уже посмотрел….буду разбираться

MCH написал:

Цитата
Можно при очередном запуске проверять на результат 0,38 и выводит на лист все варианты, только их будет очень много — 400 тыс. вариантов

т.е. в этом же макросе внести изменения и выдаст результат ?

 

Jack Famous

Пользователь

Сообщений: 10852
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#28

05.09.2019 15:34:33

Цитата
Cupon: в этом же макросе внести изменения и выдаст результат ?

да — всего пару-тройку строчек добавить, но вы это должны сами сделать, чтобы понять

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Cupon

Пользователь

Сообщений: 23
Регистрация: 04.09.2019

:cry: с фонариком первому тяжело )

Изменено: Cupon05.09.2019 16:37:08

 

PooHkrd

Пользователь

Сообщений: 6602
Регистрация: 22.02.2017

Excel x64 О365 / 2016 / Online / Power BI

#30

05.09.2019 16:28:42

Во вложении вариант на базе Power Query и Power Pivot.
Вот таким запросом формируем строчки из сочетаний:

Скрытый текст

Загружаем их в модель данных и в модели уже рисуем любую формулу, и её выводим в сводную в качестве агрегатора. Работает медленнее чем на VBA, но вдруг кому потребуется.
Во вложении файл с вариантом из 30 по 6. (это чтобы файлик по размеру на форум влез)
Чтобы изменить вариант нужно вместо 20 указать 49 или сколько вам там надо, потом обновить сводную и немножко подождать %).
Обратите внимание, что если будете менять число 6, то поломается формула в столбце Отношение в модели данных, но строчки в модель загрузятся, останется только формулу переписать.
Пробовал готовый вариант сразу в PQ посчитать, но группировка очень уж медленно работает. Ждал 5 минут и бросил.

Прикрепленные файлы

  • СочетанияБезПовторений.xlsx (262.17 КБ)

Изменено: PooHkrd10.09.2019 12:11:27

Вот горшок пустой, он предмет простой…

Например, у меня есть три символа XYZ, теперь я хочу перечислить все возможные перестановки на основе этих трех символов, чтобы получить шесть разных результатов, например: XYZ, XZY, YXZ, YZX, ZXY и ZYX. Как в Excel быстро сгенерировать или составить список всех перестановок на основе разного количества символов?

Сгенерировать или перечислить все возможные перестановки на основе символов с кодом VBA


стрелка синий правый пузырь Сгенерировать или перечислить все возможные перестановки на основе символов с кодом VBA

Следующий код VBA может помочь вам перечислить все перестановки на основе вашего конкретного количества букв, пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: список всех возможных перестановок в Excel

Sub GetString()
'Updateby Extendoffice
    Dim xStr As String
    Dim FRow As Long
    Dim xScreen As Boolean
    xScreen = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
    If Len(xStr) < 2 Then Exit Sub
    If Len(xStr) >= 8 Then
        MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
        Exit Sub
    Else
        ActiveSheet.Columns(1).Clear
        FRow = 1
        Call GetPermutation("", xStr, FRow)
    End If
    Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
    Dim i As Integer, xLen As Integer
    xLen = Len(Str2)
    If xLen < 2 Then
        Range("A" & xRow) = Str1 & Str2
        xRow = xRow + 1
    Else
        For i = 1 To xLen
            Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
        Next
    End If
End Sub

3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится окно подсказки, напоминающее вам ввести символы, которые вы хотите перечислить, все перестановки, см. снимок экрана:

перестановки списка документов 1

4. После ввода символов, а затем нажмите OK все возможные перестановки отображаются в столбце A активного рабочего листа. Смотрите скриншот:

перестановки списка документов 2

Внимание: Если длина введенного символа равна или превышает 8 символов, этот код не будет работать, потому что существует слишком много перестановок.

перестановки списка документов 3


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

Если вам нужно сгенерировать все возможные комбинации на основе данных из нескольких столбцов, возможно, нет хорошего способа справиться с задачей. Но, Kutools for Excel‘s Список всех комбинаций Утилита поможет вам быстро и легко перечислить все возможные комбинации. Нажмите, чтобы скачать Kutools for Excel!

документ перечислить все комбинации

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


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

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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

офисный дно

Комментарии (13)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:
  • Размещение текста на странице word
  • Размещение текста в ячейке excel
  • Размещение текста в таблице word
  • Размещение текста в колонках в word
  • Размещение таблицы в excel