Вычисление числа комбинаций по формулам комбинаторики в Excel. Перебор всех вариантов перестановок, сочетаний и размещений для множеств без повторений и с повторениями.
Взаимосвязь некоторых распределений в MS EXCEL
Рассмотрим взаимосвязь Биномиального распределения, распределения Пуассона, Нормального распределения и Гипергеометрического распределения. Определим условия, когда возможна аппроксимация одного распределения другим, приведем примеры и графики.
update Опубликовано: 06 ноября 2016
Перестановки с повторениями: Комбинаторика в MS EXCEL
Подсчитаем в MS EXCEL количество перестановок с повторениями из n элементов. С помощью формул выведем на лист все варианты таких перестановок (английский перевод термина: permutations of multisets).
update Опубликовано: 02 февраля 2016
Сочетания с повторениями: Комбинаторика в MS EXCEL
Подсчитаем в MS EXCEL количество Сочетаний с повторениями из n по k (выборка с возвращением). Также с помощью формул выведем на лист соответствующие варианты Сочетаний (английский перевод термина: combinations with …
update Опубликовано: 02 февраля 2016
Разрезка на мерные длины
Требуется разрезать провод на куски определенной длины, так чтобы количество отходов было минимально. Задачу решим методом перебора всех возможных комбинаций разрезки.
update Опубликовано: 25 марта 2015
Размещения без повторений: Комбинаторика в MS EXCEL
Подсчитаем в MS EXCEL количество Размещений из n по k и с помощью формул выведем на лист соответствующие варианты размещений (английский перевод термина: partial permutation или sequence without repetition).
update Опубликовано: 01 февраля 2016
Размещения c повторениями: Комбинаторика в MS EXCEL
Подсчитаем в MS EXCEL количество Размещений с повторениями из n по k (выборка с возвращением). Также с помощью формул выведем на лист соответствующие варианты Размещений (английский перевод термина: sequence with …
update Опубликовано: 02 февраля 2016
Комбинаторика в MS EXCEL
Обзорная статья, в которой приведены основные функции MS EXCEL для вычисления количества перестановок, сочетаний и размещений. Рассмотрены варианты комбинаций без повторений и с повторениями (выборка с возвращением).
update Опубликовано: 01 февраля 2016
Комбинации элементов из нескольких множеств: Комбинаторика в MS EXCEL
Пусть имеется несколько множеств — {A1, A2, A3, А4 …}, {B1, B2, B3, …}, {C1, C2, …}, количество элементов в которых может быть различно. Требуется составить все возможные комбинации элементов …
update Опубликовано: 02 февраля 2016
Сочетания без повторений: Комбинаторика в MS EXCEL
Подсчитаем в MS EXCEL количество сочетаний из n элементов по k. С помощью формул выведем на лист все варианты сочетаний (английский перевод термина: Combinations without repetition).
update Опубликовано: 02 февраля 2016
Кэтти-бри Пользователь Сообщений: 16 |
Добрый вечер, уважаемые гуру Excel. Учусь работать в Экселе, изучая разные задачки. Столкнулась вот с одной запаркой, может кто поможет: Итак, есть две колонки. Например Вопрос. Задать формулами в колонки C и D алгоритм, чтобы перебирались все возможные сочетания (при этом не повторяясь) Изменено: Кэтти-бри — 28.02.2017 16:59:42 |
Кэтти-бри Пользователь Сообщений: 16 |
Догадываюсь, что надо использовать формулу массива, но что-то не получается — видимо навыка не хватает, и где-то ошибаюсь. |
Кэтти-бри Пользователь Сообщений: 16 |
Вот перечитывала, поняла, что неверно сформулировала задачу. Значения должны переноситься не в одну колонку, а в две, т.е. перебор девяти значений как в примере должен происходить в колонках C и D соответственно. т.е. — первые три в C — Вася-Вася-Вася, а в D соответствующие им разные фамилии. |
Ігор Гончаренко Пользователь Сообщений: 13746 |
#4 28.02.2017 17:06:22
обошлось обычным ИНДЕКС, без формул массива Прикрепленные файлы
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
Кэтти-бри Пользователь Сообщений: 16 |
спасибо, всё работает! Вопрос: можно ли быстро переделать так, чтобы результат всё-таки попадал в два разных столбца, потому что при попадании в один возникнут проблемы с дальнейшей работой с данными. Плюс при растягивании формула ведёт себя не очень корректно, продолжаясь с бесконечно повторяющимися фамилиями. |
Ігор Гончаренко Пользователь Сообщений: 13746 |
#6 28.02.2017 17:23:46 в формуле явно видно один ИНДЕКС для имени а второй — для фамилии
формула ведет себя так, как в ней написано Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
Кэтти-бри Пользователь Сообщений: 16 |
#7 28.02.2017 17:27:24
Уже сделала всё, спасибо большое за помощь. Я просто сказала что должно быть в идеале, вдруг вы любите всё делать идеально. Без Вашей подсказки не справилась бы. |
||
Кэтти-бри Пользователь Сообщений: 16 |
Кстати, проблема всё равно не решена, потому в решении, предложенном пользователем Ігор Гончаренко , при повторяющихся значениях в итоговую таблицу может несколько раз попасть одно и то же. |
а если исключить ввод «кривых» значений в данные? Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
Кэтти-бри Пользователь Сообщений: 16 |
#10 28.02.2017 17:56:34
Так вопрос не в «кривых» значениях. Допустим, в этих же колонках например не имя и фамилия, а фамилия и наименование товара. Ну, что продал. Ну скажем: |
||
_Igor_61 Пользователь Сообщений: 3007 |
Здравствуйте! А файл с примером исходных данных никак нельзя показать? Что-то мне подсказывает, что тут дело в изначальной организации данных, а не в необходимости создания формул, которыми сначала нужно наплодить множество комбинаций, а потом из них убирать совпадения. Сделал вариант на основе файла от Ігор Гончаренко, проверяйте. Изменено: _Igor_61 — 28.02.2017 22:57:01 |
Кэтти-бри Пользователь Сообщений: 16 |
Добрый день, _Igor_61 ! Извините, что долго не отвечала, сейчас прикреплю вариант исходника, основанный на вашем же примере. Ваш вариант куда ближе к правде, но он некорректно работает, когда количество заполненных строк и столбцов неодинаково. Я чуть поменяла исходные данные, вот что получилось. |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Файлы удалил: превышен максимально допустимый размер. |
_Igor_61 Пользователь Сообщений: 3007 |
Уфф… Чем дальше в лес… Кэтти-бри, а Вы не могли бы сформулировать итоговую задачу — что в итоге должно получиться? Нужно посчитать кол-во звонков по каждому сотруднику по каждому направлению, или общее время звонков по каждому сотруднику или что-то еще? Понимаю, что Вам наверное интересно сделать перебор формулой, но тот ли это способ для решения задачи? |
Кэтти-бри Пользователь Сообщений: 16 |
_Igor_61
, если вы успели скачать удалённый администрацией файл, то должно получиться следующее: |
Кэтти-бри Пользователь Сообщений: 16 |
_Igor_61
Ну т.е. исходя из вашей формулировки — по общее время звонка по каждому сотруднику по каждому направлению. |
_Igor_61 Пользователь Сообщений: 3007 |
|
Кэтти-бри Пользователь Сообщений: 16 |
Фантастика. Всё правильно, всё работает. Огромное спасибо. Пошла разбираться как Вы этого добились. |
_Igor_61 Пользователь Сообщений: 3007 |
|
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#20 01.03.2017 15:04:25 Доброе время суток.
Кэтти хочет Прикрепленные файлы
Изменено: Андрей VG — 01.03.2017 15:09:38 |
Скажем, у меня есть следующие два столбца данных, и теперь я хочу сгенерировать список всех возможных комбинаций на основе двух списков значений, как показано на скриншоте слева. Возможно, вы можете перечислить все комбинации одну за другой, если есть несколько значений, но, если есть несколько столбцов с несколькими значениями, которые необходимо перечислить, возможные комбинации, вот несколько быстрых приемов, которые могут помочь вам справиться с этой проблемой в Excel .
Перечислите или сгенерируйте все возможные комбинации из двух списков с формулой
Перечислите или сгенерируйте все возможные комбинации из трех или более списков с кодом VBA
Составьте список или сгенерируйте все возможные комбинации из нескольких списков с помощью мощной функции
Перечислите или сгенерируйте все возможные комбинации из двух списков с формулой
Следующая длинная формула поможет вам быстро составить список всех возможных комбинаций значений двух списков. Пожалуйста, сделайте следующее:
1. Введите или скопируйте приведенную ниже формулу в пустую ячейку, в этом случае я введу ее в ячейку D2, а затем нажмите Enter ключ для получения результата, см. снимок экрана:
=IF(ROW()-ROW($D$2)+1>COUNTA($A$2:$A$5)*COUNTA($B$2:$B$4),»»,INDEX($A$2:$A$5,INT((ROW()-ROW($D$2))/COUNTA($B$2:$B$4)+1))&»-«&INDEX($B$2:$B$4,MOD(ROW()-ROW($D$2),COUNTA($B$2:$B$4))+1))
Внимание: В приведенной выше формуле $ A $ 2: $ A $ 5 — это диапазон значений первого столбца, а 2 млрд долларов: 4 млрд долларов — это диапазон значений второго списка, в котором вы хотите перечислить все их возможные комбинации, $ D $ 2 это ячейка, в которую вы поместили формулу, вы можете изменить ссылки на ячейки по своему усмотрению.
2. Затем выберите ячейку D2 и перетащите маркер заполнения вниз к ячейкам, пока не получите пустые ячейки, и все возможные комбинации будут перечислены на основе значений двух списков. Смотрите скриншот:
Перечислите или сгенерируйте все возможные комбинации из трех или более списков с кодом VBA
Возможно, вам будет сложно применить приведенную выше формулу, если есть данные из нескольких столбцов, ее будет сложно изменить. Здесь я представлю код VBA, чтобы быстро с этим справиться.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: генерировать все комбинации из 3 или нескольких столбцов
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A5") 'First column data
Set xDRg2 = Range("B2:B4") 'Second column data
Set xDRg3 = Range("C2:C4") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
Внимание: В приведенном выше коде A2: A5, B2: B4, C2: C4 диапазон данных, который вы хотите использовать, E2 — это выходная ячейка, в которой вы хотите найти результаты. Если вы хотите получить все комбинации из большего количества столбцов, измените и добавьте другие параметры в код по мере необходимости.
3. Затем нажмите F5 ключ для запуска этого кода, и все комбинации из 3 столбцов будут сгенерированы сразу, см. снимок экрана:
Составьте список или сгенерируйте все возможные комбинации из нескольких списков с помощью мощной функции
Если имеется несколько значений списков, необходимо указать возможные комбинации, возможно, вам будет сложно изменить код. Здесь я могу порекомендовать мощный инструмент — Kutools for Excel, он содержит удобную функцию Список всех комбинаций который может быстро перечислить все возможные комбинации на основе заданных списков данных.
Tips:Чтобы применить это Список всех комбинаций функция, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.
После установки Kutools for Excel, пожалуйста, сделайте так:
1. Нажмите Кутулс > Вставить > Список всех комбинаций, см. снимок экрана:
2. В Список всех комбинаций В диалоговом окне выполните операции, как показано в демонстрации ниже:
3. Затем все указанные значения и разделители были перечислены в диалоговом окне, см. Снимок экрана:
4.А затем нажмите Ok Кнопка, и появится окно подсказки, напоминающее вам о выборе ячейки для вывода результата, см. снимок экрана:
5. Нажмите OK, все возможные комбинации на основе данных списков были сгенерированы на листе, как показано на следующем снимке экрана:
Нажмите, чтобы скачать Kutools for Excel Сейчас !
Больше относительных статей:
- Создать все комбинации из 3 или нескольких столбцов
- Предположим, у меня есть 3 столбца данных, теперь я хочу сгенерировать или перечислить все комбинации данных в этих 3 столбцах, как показано ниже. Есть ли у вас какие-нибудь хорошие методы решения этой задачи в Excel?
- Найдите все комбинации, равные заданной сумме
- Например, у меня есть следующий список чисел, и теперь я хочу знать, какая комбинация чисел в списке дает в сумме 480, на следующем скриншоте вы можете увидеть, что есть пять групп возможных комбинаций, которые в сумме равны до 480, например, 300 + 60 + 120, 300 + 60 + 40 + 80 и т. д. В этой статье я расскажу о некоторых методах определения суммирования ячеек до определенного значения в Excel.
- Сгенерировать или перечислить все возможные перестановки
- Например, у меня есть три символа XYZ, теперь я хочу перечислить все возможные перестановки на основе этих трех символов, чтобы получить шесть разных результатов, например: XYZ, XZY, YXZ, YZX, ZXY и ZYX. Как в Excel быстро сгенерировать или составить список всех перестановок на основе разного количества символов?
- Составьте список всех возможных комбинаций из 4 цифр
- В некоторых случаях нам может потребоваться сгенерировать список всех возможных 4-значных комбинаций чисел от 0 до 9, что означает создание списка 0000, 0001, 0002… 9999. Чтобы быстро решить задачу списка в Excel, я предлагаю вам несколько уловок.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
|
Полный перебор |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |