Всем добрый день. Подскажите можно ли получить решение задаче через Exel Суть: Есть 50 ячеек с разными цветами(именно цвета заполнение). Нужно подобрать все возможные комбинации цветов по 2, 3, 4 цвета.
Пример:
1 ячейка = желтый 2 ячейка = красный 3 ячейка = белый варианты решения: желтый - красный - белый белый- красный - желтый красный - белый - желтый и т.д
Всем добрый день. Подскажите можно ли получить решение задаче через Exel Суть: Есть 50 ячеек с разными цветами(именно цвета заполнение). Нужно подобрать все возможные комбинации цветов по 2, 3, 4 цвета.
Пример:
1 ячейка = желтый 2 ячейка = красный 3 ячейка = белый варианты решения: желтый - красный - белый белый- красный - желтый красный - белый - желтый и т.дГость
MCH, их будут просто удалять построчно. Т.е условно двое человек сидят весь день и оценивают сочетаются они или нет. Это займет объемное кол-во времени, но мы хотя бы сократив время на ручное забивание этих вариантов.
MCH, их будут просто удалять построчно. Т.е условно двое человек сидят весь день и оценивают сочетаются они или нет. Это займет объемное кол-во времени, но мы хотя бы сократив время на ручное забивание этих вариантов.Гость
Приложите файл, как вы это видите, кикие должны быть цвета, и какой должен получится результат. На перебор 5,6 млн комбинаций (даже если оценивать одну комбинацию за 1 секунду) потребуется более 2 месяцев (а два человека - более месца).
Может сократить кол-во вариантов? К примеру если есть три цвета (желтый, красный, белый) то может оценить это как одну комбинацию а не 6 возможных вариантов перестановок? желтый, красный, белый желтый, белый, красный красный, желтый, белый красный, белый, желтый белый, желтый, красный белый, красный, желтый
да и 5 млн комбинаций сочетаний на лист Excel не поместится
Приложите файл, как вы это видите, кикие должны быть цвета, и какой должен получится результат. На перебор 5,6 млн комбинаций (даже если оценивать одну комбинацию за 1 секунду) потребуется более 2 месяцев (а два человека - более месца).
Может сократить кол-во вариантов? К примеру если есть три цвета (желтый, красный, белый) то может оценить это как одну комбинацию а не 6 возможных вариантов перестановок? желтый, красный, белый желтый, белый, красный красный, желтый, белый красный, белый, желтый белый, желтый, красный белый, красный, желтый
да и 5 млн комбинаций сочетаний на лист Excel не поместитсяMCH
Вообще возможно ли оперировать не данными внутри ячейки, а ее свойством (цвет заливки ячейки) Если это не возможно, то задача не решаема потому что задача именно визуальная, а не текстовая.
Тоесть может ли при формуле подтягиваться цвет ячейки, а не данные внутри нее.
MCH, давайте я зайду с другой стороны.
Вообще возможно ли оперировать не данными внутри ячейки, а ее свойством (цвет заливки ячейки) Если это не возможно, то задача не решаема потому что задача именно визуальная, а не текстовая.
Тоесть может ли при формуле подтягиваться цвет ячейки, а не данные внутри нее.Гость
5 миллионов комбинаций формул? Даже если бы и могли оперировать цветами - вряд ли хватило бы ресурсов... И места на одном листе нет. Это нужно/можно делать макросом. Алгоритм не скажу - не делал, кажется что сложно.
5 миллионов комбинаций формул? Даже если бы и могли оперировать цветами - вряд ли хватило бы ресурсов... И места на одном листе нет. Это нужно/можно делать макросом. Алгоритм не скажу - не делал, кажется что сложно.Hugo
Можно такое макросом сделать В примере реализовано без учета перестоновок цветов Можно вручную задавать кол-во цветов (в D1), предварительно раскрасив ячейки в столбце A А также указать небходимое кол-во выбираемых цветов (в D2)
---- Дабавил перестановки цветов, файл перезалил
Можно такое макросом сделать В примере реализовано без учета перестоновок цветов Можно вручную задавать кол-во цветов (в D1), предварительно раскрасив ячейки в столбце A А также указать небходимое кол-во выбираемых цветов (в D2)
А смысл генерить сразу все 5 миллионов? Генерите себе построчно по 65 тысяч на лист 2003. Просмотрели цвета, сохранили удачные комбинации - следующие 65 тысяч берем. "Выбор" строки делаете, проставив, например, 1 в специально выделенную колонку (индикатор такой). Если охота мышкой дабл-кликать, то можно несложный макрос набросать. По окончании просмотра отсортировали по этой индикаторной колонке и удалили ненужные строки.
А смысл генерить сразу все 5 миллионов? Генерите себе построчно по 65 тысяч на лист 2003. Просмотрели цвета, сохранили удачные комбинации - следующие 65 тысяч берем. "Выбор" строки делаете, проставив, например, 1 в специально выделенную колонку (индикатор такой). Если охота мышкой дабл-кликать, то можно несложный макрос набросать. По окончании просмотра отсортировали по этой индикаторной колонке и удалили ненужные строки.Gustav
Тоесть может ли при формуле подтягиваться цвет ячейки, а не данные внутри нее.
И всё-таки, и всё-таки. Более подчиняясь любопытству, нежели практической потребности, смастерил пользовательскую функцию, которая, будучи введенной в некоторую текущую ячейку рабочего листа, умеет закрасить другую ячейку. При этом, правда, предыдущее значение (и формат) другой ячейки убиваются, но для игр с цветом это, наверное, не так уж и важно.
Вот VBA-код этой функции: [vba]
Code
Function ЗакрасьСоседа(color As Long, rowOffset As Long, colOffset As Long) As String
Dim strXML As String Dim rng As Range Dim strColor As String
Set rng = Application.Caller Set rng = rng.Offset(rowOffset, colOffset) ЗакрасьСоседа = rng.Address(False, False)
If rowOffset = 0 And colOffset = 0 Then Exit Function
Для возможного "Мозгового штурма": в принципе можно попробовать "на спор" внедрить цветовую заливку внутрь текущего XML-значения другой ячейки, вначале получив ее предыдущее значение по Range.Value(11) и разобравшись с частоколом тегов. Результатом должно стать "неубивание" предыдущего значения и формата при натравливании на нее функции "ЗакрасьСоседа". Кто хочет - попробуйте на досуге, у меня пока на это хотелки не хватило...
Quote (Гость)
Тоесть может ли при формуле подтягиваться цвет ячейки, а не данные внутри нее.
И всё-таки, и всё-таки. Более подчиняясь любопытству, нежели практической потребности, смастерил пользовательскую функцию, которая, будучи введенной в некоторую текущую ячейку рабочего листа, умеет закрасить другую ячейку. При этом, правда, предыдущее значение (и формат) другой ячейки убиваются, но для игр с цветом это, наверное, не так уж и важно.
Вот VBA-код этой функции: [vba]
Code
Function ЗакрасьСоседа(color As Long, rowOffset As Long, colOffset As Long) As String
Dim strXML As String Dim rng As Range Dim strColor As String
Set rng = Application.Caller Set rng = rng.Offset(rowOffset, colOffset) ЗакрасьСоседа = rng.Address(False, False)
If rowOffset = 0 And colOffset = 0 Then Exit Function
Для возможного "Мозгового штурма": в принципе можно попробовать "на спор" внедрить цветовую заливку внутрь текущего XML-значения другой ячейки, вначале получив ее предыдущее значение по Range.Value(11) и разобравшись с частоколом тегов. Результатом должно стать "неубивание" предыдущего значения и формата при натравливании на нее функции "ЗакрасьСоседа". Кто хочет - попробуйте на досуге, у меня пока на это хотелки не хватило... Gustav
MCH, есть еще у меня вопрос. 1. Почему происходит замена цвета при комбинировании, я в первом столбце выбрал цвета по RGB, а после компоновки они заменяются(другие оттенки) 2. И еще вопрос, такой в первом столбце у ячеек хочу прописать названия цвета и чтобы они дальше так же указались после компоновки.
MCH, есть еще у меня вопрос. 1. Почему происходит замена цвета при комбинировании, я в первом столбце выбрал цвета по RGB, а после компоновки они заменяются(другие оттенки) 2. И еще вопрос, такой в первом столбце у ячеек хочу прописать названия цвета и чтобы они дальше так же указались после компоновки.