Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.08.2008, 16:56   #1
M-uk
Новичок
Джуниор
 
Регистрация: 13.08.2008
Сообщений: 1
По умолчанию Массив чисел

Всем добрый день!
Подскажите, пожалуйста, есть ли в excel такая функция, которая из массива чисел выбирает например 2 или 3, которые в сумме дают какое-то заданное число?
Например, есть такой массив:

13
145
34
1234
35
234
3423

Я задаю сумму 413. Может ли excel указать, что она складывается из чисел 145, 34 и 234?

Буду очень благодарен за ответ!
M-uk вне форума
Старый 13.08.2008, 21:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

M-uk нет, такой функции, насколько мне известно, нет!
Можно написать макрос тупо перебирающий все варианты... Если чисел будет много и не ограничить, из сколька же чисел может состоять сумма, то перебирать может очень-очень долго...

NB. 1) посмотрите, похожая задача была решена здесь на форуме:
Нахождение в массиве суммы значений, удовлетворяющих условию

2) Вы забыли уточнить -- нужно найти любое сочетание, или все возможные ( например, даны числа 1 1 2 2 3
а нужно получить 5 - какой вариант устроит 2 + 3 или 1+1+3 или 1+2+2 ? :-)
Serge_Bliznykov вне форума
Старый 15.08.2008, 00:15   #3
Maxxximum
 
Регистрация: 14.08.2008
Сообщений: 5
По умолчанию

Для произвольных чисел такой функции, разумеется, нет по причинам, на которые указал Serge_Bliznykov.

Но это возможно при условии, что числа представляют собой последовательность степеней двойки: 1,2,4,8,16,32 и т.д. В этом случае сумма однозначно раскладывается на составляющие. Т.е. 37 это всегда 1+4+32 и никак иначе, поэтому легко раскладывается функциями даже без макросов.
Maxxximum вне форума
Старый 15.08.2008, 02:59   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Вот такое решение.
Формула расставляет нолики и единички по клеткам.
В первой строке:
1-е число - что ищем, вносим вручную, остальные считаются формулами
2-е число - сколько столбцов должно быть заполнено формулой, начиная с третьего столбца
3-е число - сколько строк заполнить формулой (формулу во втором столбике тоже надо размножать)
4-е число - указывает строку с первым совпадением.
Все найденные варианты имеют инверсное изображение, для первого варианта подсвечены слагаемые.
В расчетах может участвовать не более 16 чисел.
Необходимо будет формулами заполнить 16 колонок (с 3-й по 18-ю) и все строки, до конца листа.
Вложения
Тип файла: rar Слагаемые.rar (6.6 Кб, 34 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан двумерный массив случайных чисел. Построить одномерный из исходного, выбрав из него все числа кратные ProWinD Паскаль, Turbo Pascal, PascalABC.NET 2 16.06.2008 20:12
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53
С++ Создать класс содержащий 3х-мерный массив int'ов, заполнять с помощью генератора случайных чисел vipER Помощь студентам 1 22.09.2007 22:08
Как перевести строку из чисел в массив? Andris Паскаль, Turbo Pascal, PascalABC.NET 7 21.09.2007 17:12
ввод чисел bruce Microsoft Office Excel 1 08.02.2007 17:58