Доброе время суток. Столкнулся с такой проблемой. Не знаю как подойти и как ее решить с помощью макроса. Сравнить два массива и подобрать значения. Эти массивы все время меняются (их формирует другая программа) и по количеству столбцов они не одинаковые. Причем 1 массив является основным (эталонным). Мне нужно сравнить 1 массив со вторым. Причем со второго массива подобрать значение наиболее подходящее для значения из первого массива т.е. 590 должно подойти 600. И так для каждого значения 1 массива. И результат вывести на другой лист. Есть два массива 1массив 2массив 590 и 800 516 2450 1939 900 419 1200 590 600 516 500 1939 450 419 320 210
Пример данного отчета выкладываю. Интересующие столбцы (массива)окрашены . Эталонный массив окрашен в желтый.
Доброе время суток. Столкнулся с такой проблемой. Не знаю как подойти и как ее решить с помощью макроса. Сравнить два массива и подобрать значения. Эти массивы все время меняются (их формирует другая программа) и по количеству столбцов они не одинаковые. Причем 1 массив является основным (эталонным). Мне нужно сравнить 1 массив со вторым. Причем со второго массива подобрать значение наиболее подходящее для значения из первого массива т.е. 590 должно подойти 600. И так для каждого значения 1 массива. И результат вывести на другой лист. Есть два массива 1массив 2массив 590 и 800 516 2450 1939 900 419 1200 590 600 516 500 1939 450 419 320 210
Пример данного отчета выкладываю. Интересующие столбцы (массива)окрашены . Эталонный массив окрашен в желтый.kadekin
Какой перебор? Какой выбор? Потрудитесь внятно изложить описание ошибки, условия задачи и подготовить пример в соответствии с Правилами форума.
Какой перебор? Какой выбор? Потрудитесь внятно изложить описание ошибки, условия задачи и подготовить пример в соответствии с Правилами форума.Формуляр
Excel 2003 EN, 2013 EN
Сообщение отредактировал Формуляр - Пятница, 16.08.2013, 11:45
Мне нужно подобрать для первого массива значение из второго массива как можно близкое значение. Например в первом массиве значения 1200, 500, 800, 900, 2500 Во втором массиве 2500, 450, 1000, 1000 После запуска (формула или макроса) что лучше и проще . Мы должны получить что значениям первого массива 1200 не подходит ни чего (так как это значение уже отобрано) 500 не подходит ни чего 800 подходит 1000 900 подходит 1000 2500 подходит 2500
Как решить эту задачу я не знаю по этому прошу помощи подсказки или совета.
Мне нужно подобрать для первого массива значение из второго массива как можно близкое значение. Например в первом массиве значения 1200, 500, 800, 900, 2500 Во втором массиве 2500, 450, 1000, 1000 После запуска (формула или макроса) что лучше и проще . Мы должны получить что значениям первого массива 1200 не подходит ни чего (так как это значение уже отобрано) 500 не подходит ни чего 800 подходит 1000 900 подходит 1000 2500 подходит 2500
Как решить эту задачу я не знаю по этому прошу помощи подсказки или совета.kadekin
Какая задача? Нужно найти оптимально подходящие заготовки (с наименьшими обрезками), либо на оптимизацию не обращаем внимание?
Алгоритм для VBA: сортируем оба массива по убыванию, берем из второго массива нужный размер и ищем его в первом, как только нашелся тот, который больше нужного - выбираем, и так далее, в данном случае об оптимизации речь не идет, но алгоритм получается очень быстрым и на больших массивах будет быстро работать. Если данных не много, то лучше сделать перебор, с выбором оптимального варианта
Сколько всего может быть чисел?
Какая задача? Нужно найти оптимально подходящие заготовки (с наименьшими обрезками), либо на оптимизацию не обращаем внимание?
Алгоритм для VBA: сортируем оба массива по убыванию, берем из второго массива нужный размер и ищем его в первом, как только нашелся тот, который больше нужного - выбираем, и так далее, в данном случае об оптимизации речь не идет, но алгоритм получается очень быстрым и на больших массивах будет быстро работать. Если данных не много, то лучше сделать перебор, с выбором оптимального варианта
Совершенно верно "берем из второго массива нужный размер и ищем его в первом"оптимизация не нужна. Количество строк в массиве не будет привышать 200 Хотелось бы на VBA макросом в EXCELE
Совершенно верно "берем из второго массива нужный размер и ищем его в первом"оптимизация не нужна. Количество строк в массиве не будет привышать 200 Хотелось бы на VBA макросом в EXCELEkadekin