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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2014, 23: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 в 23:33.
Tidus вне форума Ответить с цитированием
Старый 30.06.2014, 11:49   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

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

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

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

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

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

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

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

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

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

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск максимального значения WorldMaster Общие вопросы по программированию, компьютерный форум 8 31.01.2013 08:15
Поиск максимального значения в батнике ICE1589 Помощь студентам 0 24.11.2011 16: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