Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 29.06.2014, 22:12   #1
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию Поиск максимального значения из нескольких диапазонов-строк.

Помогите решить очень интересную головоломку элементарными формулами Excel (без макросов). Возможно ли?
Изменяя слева ячейки (указаны на скриншоте значения 50, 2, 2, 50, 2, 4) и изменяя критерий (2) нужно получать максимальное значение из соответствующих им строк. Если слева значение 2 повторяется 3 раза, то им соответствуют 3 строки (строки 2+3+5) из которых должно выбираться ОДНО максимальное значение (в нашем случае при выбранном критерии 2 итог формулы должен быть 55 и т.д.).
Условия:
1) Количество строк и столбцов может быть разным;
2) Цифры 50, 2, 2, 50, 2, 4 могут изменяться;
3) Критерий 2 может изменяться.
4) Решить элементарными формулами Excel без макросов (фигурные скобки как массив приветствуются).

Файл Excel прикрепил! Буду очень благодарен, если Гуру решат эту головоломку

Головоломка.jpg
Головоломка2.zip

Последний раз редактировалось Tidus; 29.06.2014 в 22:33.
Tidus вне форума Ответить с цитированием
Старый 30.06.2014, 10:49   #2
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,318
По умолчанию

не стоит элементарные задач называть головоломками.
Вложения
Тип файла: rar Головоломка2.rar (6.8 Кб, 12 просмотров)
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 30.06.2014, 19:39   #3
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
не стоит элементарные задачи называть головоломками.
Точно! Игорь как всегда на высоте! Ваша формула работает, но не всегда.
Формула:
{=МАКС(E9:H14*(D9:D14=J9))}

Пишет ошибку ЗНАЧ!, если в списке значений содержатся ячейки с содержимым ="" или ссылки на такие ячейки. Как можно исправить ситуацию? Нули в ячейках писать не хотелось бы, поскольку нули в таблице не нужны.

Последний раз редактировалось Tidus; 30.06.2014 в 20:54.
Tidus вне форума Ответить с цитированием
Старый 30.06.2014, 21:59   #4
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,318
По умолчанию

см. вложение (добавил проверку на число, собственно, это можно было сделать и самостоятельно)

и... подсчет уникальных значений в двух диапазонах тоже работает
Вложения
Тип файла: rar Головоломка2.rar (6.8 Кб, 13 просмотров)
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 30.06.2014 в 22:02.
IgorGO вне форума Ответить с цитированием
Старый 30.06.2014, 22:21   #5
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
см. вложение (добавил проверку на число)
и... подсчет уникальных значений в двух диапазонах тоже работает
УРА! Заработало!
Игорь, не все такие гении в программировании. Я с массивами ещё не до конца разобрался. Если разобраться и посмотреть на формулу, она вроде бы маленькая и кажется, что простая, но это не так. Фигурные скобки в как массив я так понимаю запускают цикл пересчета несколько раз по кругу внутри массива?
Tidus вне форума Ответить с цитированием
Старый 01.07.2014, 01:26   #6
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,318
По умолчанию

если в А1 написать 1, в А2 2, в А3 3, а В1 5, а в С1 =МАКС(В1+А1:А3)
то в С1 получим 6
а если ввести формулу как формулу массива (поставить курсов в С1 и Ctrl+Shift+Enter), то в С1 уже будет 8.

в формулах массива арифметические или логические операции выполняются над каждым элементом массива.
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск максимального значения WorldMaster Общие вопросы по программированию, компьютерный форум 8 31.01.2013 07:15
Поиск максимального значения в батнике ICE1589 Помощь студентам 0 24.11.2011 15:42
Поиск максимального и минимального значения в массиве WIN32APIist Общие вопросы C/C++ 5 28.12.2010 00:24
поиск максимального значения по дате Vorchun Microsoft Office Excel 2 17.01.2010 17:41
Поиск максимального значения функции SKS Паскаль, Turbo Pascal, PascalABC.NET 3 15.01.2009 16:34


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS