Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перебор вариантов - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перебор вариантов (Формулы/Formulas)
Перебор вариантов
Кайли Дата: Суббота, 02.12.2017, 11:26 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Имеется 9 столбцов с цифрами по строкам. нужен перебор вариантов. Сам перебор нестандартен тем что в столбцах числа не от 1-10 ти . а имеют различные. максимум от 1-го до 6. Количество вариантов мной несложным вычислением комбинаций подсчитано если не ошибаюсь 48600. Нужно отобразить все возможные варианты как указано в примере из двух столбцов, а в задаче нужно вывести все 9 столбцов -(Нужно перебрать все 9 столбцов. как подбор 9-ти значного кода )соответственно первый код 111111111 а последний 655333322 нужно вывести весь список по строчно вниз Наглядно это очень просто а вот сообразить мне пока трудно.
К сообщению приложен файл: 2381318.xlsx(10Kb)


Привет Мир!

Сообщение отредактировал Кайли - Суббота, 02.12.2017, 12:43
 
Ответить
СообщениеИмеется 9 столбцов с цифрами по строкам. нужен перебор вариантов. Сам перебор нестандартен тем что в столбцах числа не от 1-10 ти . а имеют различные. максимум от 1-го до 6. Количество вариантов мной несложным вычислением комбинаций подсчитано если не ошибаюсь 48600. Нужно отобразить все возможные варианты как указано в примере из двух столбцов, а в задаче нужно вывести все 9 столбцов -(Нужно перебрать все 9 столбцов. как подбор 9-ти значного кода )соответственно первый код 111111111 а последний 655333322 нужно вывести весь список по строчно вниз Наглядно это очень просто а вот сообразить мне пока трудно.

Автор - Кайли
Дата добавления - 02.12.2017 в 11:26
vikttur Дата: Суббота, 02.12.2017, 12:02 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2555
Репутация: 460 ±
Замечаний: 0% ±

Не увидел сязи задачи с примером. Перебирать варианты любых двух столбцов? Двух рядом? Всех?

Цитата
в столбцах числа не от 1-10 ти . а имеют различные. максимум от 1-го до 6.

Что различные? Числа любые или только цифры до 6? или в столбце максимум чисел - 6?

Зачем писать в личку?
Цитата
Числа перебираются как подбор девятизначного кода. В столбцах цифры указаны такие какие есть, соответственно первый код 111111111 а последний 655333322

Почему не 655544433 (по количеству наибольших цифр)?


Сообщение отредактировал vikttur - Суббота, 02.12.2017, 12:50
 
Ответить
СообщениеНе увидел сязи задачи с примером. Перебирать варианты любых двух столбцов? Двух рядом? Всех?

Цитата
в столбцах числа не от 1-10 ти . а имеют различные. максимум от 1-го до 6.

Что различные? Числа любые или только цифры до 6? или в столбце максимум чисел - 6?

Зачем писать в личку?
Цитата
Числа перебираются как подбор девятизначного кода. В столбцах цифры указаны такие какие есть, соответственно первый код 111111111 а последний 655333322

Почему не 655544433 (по количеству наибольших цифр)?

Автор - vikttur
Дата добавления - 02.12.2017 в 12:02
MCH Дата: Суббота, 02.12.2017, 22:42 | Сообщение № 3
Группа: Админы
Ранг: Старожил
Сообщений: 1825
Репутация: 698 ±
Замечаний: ±

решение под конкретную задачу:
[vba]
Код
Sub www()
    Dim i1&, i2&, i3&, i4&, i5&, i6&, i7&, i8&, i9&, k&
    For i1 = 1 To 6
    For i2 = 1 To 5
    For i3 = 1 To 5
    For i4 = 1 To 3
    For i5 = 1 To 3
    For i6 = 1 To 3
    For i7 = 1 To 3
    For i8 = 1 To 2
    For i9 = 1 To 2
        k = k + 1
        Cells(k, 1).Resize(, 9) = Array(i1, i2, i3, i4, i5, i6, i7, i8, i9)
    Next i9, i8, i7, i6, i5, i4, i3, i2, i1
End Sub
[/vba]
 
Ответить
Сообщениерешение под конкретную задачу:
[vba]
Код
Sub www()
    Dim i1&, i2&, i3&, i4&, i5&, i6&, i7&, i8&, i9&, k&
    For i1 = 1 To 6
    For i2 = 1 To 5
    For i3 = 1 To 5
    For i4 = 1 To 3
    For i5 = 1 To 3
    For i6 = 1 To 3
    For i7 = 1 To 3
    For i8 = 1 To 2
    For i9 = 1 To 2
        k = k + 1
        Cells(k, 1).Resize(, 9) = Array(i1, i2, i3, i4, i5, i6, i7, i8, i9)
    Next i9, i8, i7, i6, i5, i4, i3, i2, i1
End Sub
[/vba]

Автор - MCH
Дата добавления - 02.12.2017 в 22:42
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перебор вариантов (Формулы/Formulas)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!