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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 15:39   #1
Locust
Новичок
Джуниор
 
Регистрация: 31.03.2009
Сообщений: 2
Сообщение сумма и произведение чисел с проверкой на кратность..

Найти сумму ,произведение, количество нечетных чисел от 0 до 1000, кратных 3 и 5.
Заранее спасибо
Locust вне форума Ответить с цитированием
Старый 31.03.2009, 15:53   #2
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Только слово "пожалуйста" в вопросах было бы не лишним
Количество
=СУММПРОИЗВ((ОСТАТ(СТРОКА((A1:A1001 ))-1;3)=0)*(ОСТАТ(СТРОКА(A1:A1001)-1;5)=0)*(ОСТАТ(СТРОКА(A1:A1001)-1;2)<>0))
Лень - двигатель прогресса!

Последний раз редактировалось IFRSoff; 01.04.2009 в 12:02.
IFRSoff вне форума Ответить с цитированием
Старый 31.03.2009, 16:05   #3
Locust
Новичок
Джуниор
 
Регистрация: 31.03.2009
Сообщений: 2
По умолчанию

Спасибо большое)))
Locust вне форума Ответить с цитированием
Старый 01.04.2009, 11:17   #4
Sh_Alex
Пользователь
 
Регистрация: 02.02.2009
Сообщений: 59
По умолчанию

Предложенный «IFRSoff» вариант решения не отвечает условиям задачи, дает не правильный ответ и кроме этого совершенно не защищен от изменений на листе, где прописана данная формула.
Насколько я понимаю, функция =СТРОКА(1:1000), дает удобное и короткое написание массива последовательных чисел от 1 до 1000, но с ней нужно обращаться очень осторожно. Ее удобно применить одноразово, то есть прописать в какую-либо ячейку и получить результат. При копировании ее в другую строку функция изменит свои параметры, так же это произойдет в случае добавления или удаления строк из диапазона .
Я бы предложил создать именованную функцию, использующую статичный массив, например, «массив_1000» со ссылкой на скрытый лист =СТРОКА(Лист3!$1:$1000), как в прилагаемом файле.
Тогда задача решалась бы следующими формулами:
количество чисел, удовлетворяющих условию =СУММПРОИЗВ((ОСТАТ(Массив_1000;2)<> 0)*(ОСТАТ(Массив_1000;3)=0)*(ОСТАТ( Массив_1000;5)=0))
сумма этих чисел =СУММПРОИЗВ((ОСТАТ(Массив_1000;2)<> 0)*(ОСТАТ(Массив_1000;3)=0)*(ОСТАТ( Массив_1000;5)=0)*(Массив_1000)).
Произведение этих чисел, я думаю, интереса не представляет, так как это примерно 495^33.
С уважением, Александр.
Вложения
Тип файла: rar Сумма кратных.rar (1.6 Кб, 38 просмотров)
Sh_Alex вне форума Ответить с цитированием
Старый 01.04.2009, 12:41   #5
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Цитата:
Сообщение от Sh_Alex Посмотреть сообщение
Предложенный «IFRSoff» вариант решения не отвечает условиям задачи, дает не правильный ответ и кроме этого совершенно не защищен от изменений на листе, где прописана данная формула.
Насколько я понимаю, функция =СТРОКА(1:1000), дает удобное и короткое написание массива последовательных чисел от 1 до 1000, но с ней нужно обращаться очень осторожно. Ее удобно применить одноразово, то есть прописать в какую-либо ячейку и получить результат. При копировании ее в другую строку функция изменит свои параметры, так же это произойдет в случае добавления или удаления строк из диапазона .
Я бы предложил создать именованную функцию, использующую статичный массив, например, «массив_1000» со ссылкой на скрытый лист =СТРОКА(Лист3!$1:$1000), как в прилагаемом файле.
Тогда задача решалась бы следующими формулами:
количество чисел, удовлетворяющих условию =СУММПРОИЗВ((ОСТАТ(Массив_1000;2)<> 0)*(ОСТАТ(Массив_1000;3)=0)*(ОСТАТ( Массив_1000;5)=0))
сумма этих чисел =СУММПРОИЗВ((ОСТАТ(Массив_1000;2)<> 0)*(ОСТАТ(Массив_1000;3)=0)*(ОСТАТ( Массив_1000;5)=0)*(Массив_1000)).
Произведение этих чисел, я думаю, интереса не представляет, так как это примерно 495^33.
С уважением, Александр.
Спасибо за столь подробный ответ и что вы в отличие от меня уделили этому заданию столько времени. Отдельное спасибо, за комментарии к моему ответу. Я рад, что вы такой внимательный)) Ну я думаю, что автор темы (вопроса) не дебил и сам понимает, что его условия не совсем удовлетворены, т.к. это очевидно, если вникнуть в задание. А я лишь дал направление решения таких задач.
Еще раз спасибо.
Лень - двигатель прогресса!
IFRSoff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить произведение P кубов трех чисел a, b и c, если их сумма меньше нуля, произведение P модулей NoUserName Помощь студентам 3 01.03.2009 18:10
C++ Массив 4х веществ элементов произведение положительных чисел anr Помощь студентам 1 14.01.2009 18:43
Сумма и произведение элементов массива Zid@ne Общие вопросы C/C++ 5 23.12.2008 19:22
произведение всех чисел апрол Помощь студентам 3 08.12.2008 19:00
вычислить произведение четных чисел в каждой строке массива. Oliver Sykes Паскаль, Turbo Pascal, PascalABC.NET 5 09.10.2008 03:43