Страницы: 1
RSS
Выборка нескольких наибольших значений по сложному условию
 
Добрый вечер, уважаемые специалисты в области Excel.
Помогите составить формулу поиска нескольких наибольших значений в диапазоне со сложным условием.
В диапазоне имеются дробные числа, которые имеют закономерность от возрастания до падения с последующим подобным шагом. Надо найти каждый наибольший пик таких возрастаний.
 
см. вложение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
=B2=ЕСЛИОШИБКА(МАКС(СМЕЩ(B2;-3;0;7));0)*(B2>2)
 
МатросНаЗебре, Ігор Гончаренко, НЕ СОВСЕМ ТО УВЫ. Я красным цветом выделил какое значение должно быть получено
 
То есть за весь интервал диапазона должно быть получено максимальные значения - в данном случае они выделены красным
 
как вы определяете границы и\или число интервалов?
 
выделено зеленым
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Vik_tor, диапазон в таблице - это цельный интервал. Определяется среднее значение за весь интервал. Это и будет границами для деления по подинтервалам, в которых и находится максимальные значения.
 
Ігор Гончаренко, от себя лично просьба, вставляй формулу, это не сложно, но мне например не нужно открывать файл.
По вопросам из тем форума, личку не читаю.
 
пожалуйста, вот она формула:
=$B2=ма
это формула условного форматирования, на 150% уверен, что она НИЧЕГО не обьясняет и файл нужно открыть
переменная ма, в диспетчере задач, пойду дальше... не сложно
ма это
=МАКС(ЕСЛИ(Лист1!$A$2:$A$38=Лист1!$A8;Лист1!$B$2:$B$38))
но возникает след. вопрос в оригинальном файле а А2:А38 - пусто, какой смысл проверять равенство ЕСЛИ(Лист1!$A$2:$A$38=Лист1!$A8 ???
можна конечно на пальцах обьяснить что внесено в А (там написаны числа 1, 2, 3)
я сильно сомневаюсь это решение устроит автора темы и интересно-ли ему вообще, а всем остальных - кому интересно - откроют файл и посмотрят без всех этих абстрактных обьяснений,
забегая наперед и ограждая от возможных разочарований - скажу: смотреть там нечего, откровений нет, бытовые формулы, собственно они обе сверху написаны))
Изменено: Ігор Гончаренко - 13.09.2022 20:42:16
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, ну ты же понял о чем я, зачем искажать.
Ну к твоему решению конечно можно добавить =COUNTA(C$2:C2) в столбце A.

В УФ
=MAX(IF(LOOKUP(ROW($B$2:$B$38);IF($C$2:C38<>"";ROW($C$2:$C$38)))=LOOKUP(ROW(B2);IF($C$2:C38<>"";ROW($C$2:$C$38)));$B$2:$B$38))=B2
Изменено: БМВ - 13.09.2022 20:48:08
По вопросам из тем форума, личку не читаю.
 
Medvedoc, Есть вариант решения. Выложу, если ответите в своей предыдущей теме.
 
можно иначе.
=B2=MAX(INDEX(B:B;LOOKUP(2;1/(C$2:C2<>"");ROW(C$2:C2))):INDEX(B:B;IFERROR(MATCH("?*";C3:C1000;);1000)
но тогда нужно помещать это в имена, как у Ігор Гончаренко
По вопросам из тем форума, личку не читаю.
 
memo, ответил =) завал по работе был, не смог сразу ответить
 
Выкладываю решение.
Цитата
Medvedoc написал:
Надо найти каждый наибольший пик таких возрастаний.
Для подсветки использовал УФ правило от БМВ, из #11.
Формула для извлечения значений:
Код
=MAX(INDEX(B:B;AGGREGATE(15;6;ROW($C$2:$C$100)/(($C$1:$C$75)<>($C$2:$C$76));INT((ROWS($E$2:E2)-1)*2)+1)):INDEX(B:B;AGGREGATE(15;6;ROW($C$2:$C$100)/(($C$1:$C$75)<>($C$2:$C$76));INT((ROWS($E$2:E2)-1)*2)+3)-1))

ВАЖНО! Для корректной работы формулы в конце диапазона, С2:C75, в данном случае в ячейке С76 должен стоять какой-нибудь символ, можно просто пробел.
Страницы: 1
Наверх