Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Excel, произведение и макс. число в интервале 
:(
    Опции темы
FastKill
Дата 20.5.2005, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.12.2002

Репутация: нет
Всего: нет



Здравтсвуйте,

тут такая задача:
есть таблица, допустим, 20 на 30, в ней записаны разные рациональные числа
задан некий интервал, допустим [5;25)
нужно рассчитать:
1. Максимальное число в этой теблице, принадлежащее этому интервалу
2. произведение чисел из таблицы, подпадающих под этот интервал

как лучше это сделать? обычным ПРОИЗВЕД никак не получается..

заранее спасибо
PM MAIL   Вверх
likhobory
Дата 20.5.2005, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20




Код
Set myRange = Worksheets(1).Range("a1:a10")
answer1 = WorksheetFunction.Max(myRange)
answer2 = WorksheetFunction.Product(myRange)



--------------------
PM MAIL   Вверх
FastKill
Дата 20.5.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.12.2002

Репутация: нет
Всего: нет



спасибо, вопрос решён
можно ещё так smile

Код
=ПРОИЗВЕД(ЕСЛИ(B2:K11<25;B2:K11;1))/ПРОИЗВЕД(ЕСЛИ(B2:K11<5;B2:K11;1))
=МАКС(ЕСЛИ(B2:K11<25;B2:K11;0))

PM MAIL   Вверх
likhobory
Дата 20.5.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



FastKill, да можно, конечно, но это функции рабочего листа, а не "чистый" VBA, тогда уж логичней было бы создать тему здесь: http://forum.vingrad.ru/index.php?showforum=131 smile


--------------------
PM MAIL   Вверх
Staruha
Дата 20.5.2005, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Вот это да код С++ очень похож на формулы xl.


--------------------
Возмездие настигнет
PM MAIL   Вверх
likhobory
Дата 20.5.2005, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



smile тсс, это маскировка smile


--------------------
PM MAIL   Вверх
Гость_pashulka
Дата 21.5.2005, 20:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если нажать на кнопку Код, то по умолчанию вставляется именно код C++ причём на других форумах подобного "капкана" не наблюдается,
возможно отсюда и возникают подобные "нюансы"
Что касается разделения ответов на формулы или код, то этом разделе форума также присутствуют ответы, где решение осуществленно с помощью формул.
А вот, что действительно важно, так это то, что обе формулы являются формулами массива, а из представленного текста этого не видно.
  Вверх
Staruha
Дата 21.5.2005, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Тот кто пишет формулами врядли знают про массивы .Для них это диапазон


--------------------
Возмездие настигнет
PM MAIL   Вверх
Гость_pashulka
Дата 21.5.2005, 22:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











IMHO Человек должен говорить и отвечать только за себя, а не других, поэтому за всех людей, которые знают, что представляют из себя формулы говорить не буду, а выскажу сугубо частное мнение.
Если формула является формулой массива, то публиковать её необходимо именно как формулу массива, так как это имеет принципиальное значение, например :

=МАКС(A1:A15)
{=МАКС(ЕСЛИ(A1:A15<25;A1:A15))}

Попробуйте ввести последнюю формулу, как обычную формулу и Вы увидите, что она возвратит некорректный результат

  Вверх
FastKill
Дата 21.5.2005, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 30.12.2002

Репутация: нет
Всего: нет



извиняйте, забыл фигурные скобки поставить smile
а вообще, если при вводе нажимать не просто Enter, а Shift+Ctrl+Enter, то всё само собой будет..
PM MAIL   Вверх
Гость_pashulka
Дата 21.5.2005, 23:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Для того, чтобы после ввода нажать CTRL+SHIFT+ENTER нужно знать, что введенная формула представляет собой именно формулу массива, ведь наличие в формуле ссылки на диапазон ячеек ещё не говорит о том, что это именно формула массива. Так что повторюсь ещё раз, но публиковать формулы лучше так, как это сделал человек, который Вам их и написал smile т.е. с учётом всех их особенностей
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0778 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.