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

Вход

Регистрация

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

 

= Мир MS Excel/Создание исполнений по трем критериям - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Создание исполнений по трем критериям
4step Дата: Четверг, 23.03.2023, 14:13 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 0 ±
Замечаний: 40% ±

Добрый день! Нужна помощь в создании вариантов исполнений, где критерием являются три столбца (высота, ширина, глубина) с указанными размерами. Можно ли как-нибудь выполнить эту задачу?
К сообщению приложен файл: razmery.xlsx (10.6 Kb)
 
Ответить
СообщениеДобрый день! Нужна помощь в создании вариантов исполнений, где критерием являются три столбца (высота, ширина, глубина) с указанными размерами. Можно ли как-нибудь выполнить эту задачу?

Автор - 4step
Дата добавления - 23.03.2023 в 14:13
NikitaDvorets Дата: Четверг, 23.03.2023, 14:59 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 611
Репутация: 142 ±
Замечаний: 0% ±

Excel 2019
Добрый день!

Цитата
Можно ли как-нибудь выполнить эту задачу?

Если под "как-нибудь" подразумевать вложенные циклы макроса, то можно...
К сообщению приложен файл: test_279_kombinacii_variantov_.xlsm (39.1 Kb)


Сообщение отредактировал NikitaDvorets - Четверг, 23.03.2023, 15:35
 
Ответить
СообщениеДобрый день!

Цитата
Можно ли как-нибудь выполнить эту задачу?

Если под "как-нибудь" подразумевать вложенные циклы макроса, то можно...

Автор - NikitaDvorets
Дата добавления - 23.03.2023 в 14:59
Serge_007 Дата: Четверг, 23.03.2023, 15:12 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Никита, что бы не "руками" считать заполненные исходные столбцы:
[vba]
Код
    Hr = Application.WorksheetFunction.CountA(Columns(1))
    Wr = Application.WorksheetFunction.CountA(Columns(2))
    Dr = Application.WorksheetFunction.CountA(Columns(3))

    H = Range(Cells(2, 1), Cells(Hr, 1))
    W = Range(Cells(2, 2), Cells(Wr, 2))
    D = Range(Cells(2, 3), Cells(Dr, 3))
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеНикита, что бы не "руками" считать заполненные исходные столбцы:
[vba]
Код
    Hr = Application.WorksheetFunction.CountA(Columns(1))
    Wr = Application.WorksheetFunction.CountA(Columns(2))
    Dr = Application.WorksheetFunction.CountA(Columns(3))

    H = Range(Cells(2, 1), Cells(Hr, 1))
    W = Range(Cells(2, 2), Cells(Wr, 2))
    D = Range(Cells(2, 3), Cells(Dr, 3))
[/vba]

Автор - Serge_007
Дата добавления - 23.03.2023 в 15:12
NikitaDvorets Дата: Четверг, 23.03.2023, 15:37 | Сообщение № 4
Группа: Авторы
Ранг: Ветеран
Сообщений: 611
Репутация: 142 ±
Замечаний: 0% ±

Excel 2019
Serge_007, благодарю.
Полезное дополнение, поправил файл.
 
Ответить
СообщениеSerge_007, благодарю.
Полезное дополнение, поправил файл.

Автор - NikitaDvorets
Дата добавления - 23.03.2023 в 15:37
Pelena Дата: Четверг, 23.03.2023, 16:24 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Формульное решение
К сообщению приложен файл: 9361752.xlsx (84.8 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеФормульное решение

Автор - Pelena
Дата добавления - 23.03.2023 в 16:24
Egyptian Дата: Четверг, 23.03.2023, 23:19 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Еще формульный вариант. Ориентировался по файлу Елены, ибо не имел представления, как должен был выглядеть результат:)
К сообщению приложен файл: 3301115.xlsx (122.4 Kb)


Сообщение отредактировал Egyptian - Пятница, 24.03.2023, 21:50
 
Ответить
СообщениеЕще формульный вариант. Ориентировался по файлу Елены, ибо не имел представления, как должен был выглядеть результат:)

Автор - Egyptian
Дата добавления - 23.03.2023 в 23:19
прохожий2019 Дата: Пятница, 24.03.2023, 00:36 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
PQ
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="TData"]}[Content],
    lst = List.Transform(Table.ToColumns(from),List.RemoveNulls),
    f=(x,y)=>List.TransformMany(x,(i)=>y,(i,j)=>i&{j}),
    acc = List.Accumulate(List.Skip(lst),List.Zip({lst{0}}),f),
    to = Table.FromList(acc,(x)=>x)
in
    to
[/vba]
К сообщению приложен файл: 9820476.xlsx (135.5 Kb)
 
Ответить
СообщениеPQ
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="TData"]}[Content],
    lst = List.Transform(Table.ToColumns(from),List.RemoveNulls),
    f=(x,y)=>List.TransformMany(x,(i)=>y,(i,j)=>i&{j}),
    acc = List.Accumulate(List.Skip(lst),List.Zip({lst{0}}),f),
    to = Table.FromList(acc,(x)=>x)
in
    to
[/vba]

Автор - прохожий2019
Дата добавления - 24.03.2023 в 00:36
4step Дата: Пятница, 24.03.2023, 12:28 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 0 ±
Замечаний: 40% ±

Всех благодарю! Очень помогли. :)
 
Ответить
СообщениеВсех благодарю! Очень помогли. :)

Автор - 4step
Дата добавления - 24.03.2023 в 12:28
  • Страница 1 из 1
  • 1
Поиск:

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