Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/МИН и МАКС с условием - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
МИН и МАКС с условием
akademik90 Дата: Среда, 25.01.2017, 15:20 | Сообщение № 1
Группа: Заблокированные
Ранг: Участник
Сообщений: 99
Репутация: 3 ±
Замечаний: 100% ±

Excel 2013 -2016
Уважаемы знатоки ! Нужна ваша помощь! Во вложении файл где отметил желтым там где должны быть формулы МИН и МАКС. Напротив Зеленых строк я поставил формулы в ручную , но напротив темно Синих строк еще не поставил ! Потому что их слишком много! Мне нужно Чтоб МИН И МАКС работала с условием того как у Зеленых строк, она работает от Зеленого до Зеленого ! На синих мне нужно сделать также тока автоматом? Можно ли это сделать так чтоб автоматом От начала синей строки до конца другой синей строки. Думаю что на примере видно что мне нужно ! Формулы просты просто как это автоматизировать?
К сообщению приложен файл: 5810854.xlsx (14.8 Kb)


HOC EST VIVERE BIS, VITA POSSE PRIORE FRUI
 
Ответить
СообщениеУважаемы знатоки ! Нужна ваша помощь! Во вложении файл где отметил желтым там где должны быть формулы МИН и МАКС. Напротив Зеленых строк я поставил формулы в ручную , но напротив темно Синих строк еще не поставил ! Потому что их слишком много! Мне нужно Чтоб МИН И МАКС работала с условием того как у Зеленых строк, она работает от Зеленого до Зеленого ! На синих мне нужно сделать также тока автоматом? Можно ли это сделать так чтоб автоматом От начала синей строки до конца другой синей строки. Думаю что на примере видно что мне нужно ! Формулы просты просто как это автоматизировать?

Автор - akademik90
Дата добавления - 25.01.2017 в 15:20
bmv98rus Дата: Среда, 25.01.2017, 16:00 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
akademik90,
Файл заметно изменился :-)
Операясь на уровни, которые как и прошлые разы определены пробелами для D6 накидал массивную
Код
=MIN(D7:INDEX(D:D;SMALL(ROW(D7:D107)*IF(LEN(A7:A107)-LEN(TRIM(A7:A107))<=LEN(A6)-LEN(TRIM(A6));1;9^9);1)-1))

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

Ну или скрипт писать.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Среда, 25.01.2017, 16:52
 
Ответить
Сообщениеakademik90,
Файл заметно изменился :-)
Операясь на уровни, которые как и прошлые разы определены пробелами для D6 накидал массивную
Код
=MIN(D7:INDEX(D:D;SMALL(ROW(D7:D107)*IF(LEN(A7:A107)-LEN(TRIM(A7:A107))<=LEN(A6)-LEN(TRIM(A6));1;9^9);1)-1))

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

Ну или скрипт писать.

Автор - bmv98rus
Дата добавления - 25.01.2017 в 16:00
akademik90 Дата: Среда, 25.01.2017, 16:04 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник
Сообщений: 99
Репутация: 3 ±
Замечаний: 100% ±

Excel 2013 -2016
bmv98rus, Спасибо за проявленное внимание! Можно файл залить с примером ! У меня чето ссылка не работает!


HOC EST VIVERE BIS, VITA POSSE PRIORE FRUI
 
Ответить
Сообщениеbmv98rus, Спасибо за проявленное внимание! Можно файл залить с примером ! У меня чето ссылка не работает!

Автор - akademik90
Дата добавления - 25.01.2017 в 16:04
bmv98rus Дата: Среда, 25.01.2017, 16:52 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
akademik90,

Однако требует улучшения.В конце, что-то не так. Но для размышления подойдет.
К сообщению приложен файл: Copy_of_5810854.xlsx (15.7 Kb)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеakademik90,

Однако требует улучшения.В конце, что-то не так. Но для размышления подойдет.

Автор - bmv98rus
Дата добавления - 25.01.2017 в 16:52
akademik90 Дата: Четверг, 26.01.2017, 07:30 | Сообщение № 5
Группа: Заблокированные
Ранг: Участник
Сообщений: 99
Репутация: 3 ±
Замечаний: 100% ±

Excel 2013 -2016
bmv98rus, В конце это где ? Блин Как бы ее доработать :( Чтоб она четко работала( !


HOC EST VIVERE BIS, VITA POSSE PRIORE FRUI
 
Ответить
Сообщение bmv98rus, В конце это где ? Блин Как бы ее доработать :( Чтоб она четко работала( !

Автор - akademik90
Дата добавления - 26.01.2017 в 07:30
bmv98rus Дата: Четверг, 26.01.2017, 07:52 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
akademik90,

в 47 строке лажа., хотя правее я делал проверки и они работают нормально. Что касаемо четко, то без связки родитель - потомок, трудно гарантировтаь результат, именно на эту связь я оперался когда делал сравнение двух ваших файлов, только тогда я её получал синтетически, к слову тогда я напоролся на сбой формулы получения уровня из-за двойных пробелов в наименовании статьи, пришлочь тогда помудрить. Если строки не меняются местами сделайте один столбец, и туда вычислить родителя. Это не сложно уровень всегда меньше текущего, если уровень не менялся, то не меняется родитель. Ну а номер строки брать, или имя статьи родителя, или просто с ID уникальным столбец добавить - ваше дело. Просто потом потомков собрать по родителю - элементарно. при этом на любом уровне. Если смогу посмотрю если не справитесь, но сегодня проблемы семейные могут не позволить.

С доп столбцом родителя формулы элементарные получаются, хотя и массива использовал, но пока не выходит с родителем формулой. только если несколько столбцов делать.


А зачем скрыты часть дат? Это и сбило, не посмотрел, что значения есть.

Не работает только в последней строке,так как ниже данных нет.
Массивные для В5 E5
Код
=MIN(D6:INDEX(D:D;SMALL(ROW(D6:INDEX(D:D;COUNTA($A:$A)+3))*IF(LEN($A6:INDEX($A:$A;COUNTA($A:$A)+3))-LEN(TRIM($A6:INDEX($A:$A;COUNTA($A:$A)+3)))<=LEN($A5)-LEN(TRIM($A5));1;9^9);1)-1))
и
Код
=MAX(E6:INDEX(E:E;SMALL(ROW(E6:INDEX(E:E;COUNTA($A:$A)+3))*IF(LEN($A6:INDEX($A:$A;COUNTA($A:$A)+3))-LEN(TRIM($A6:INDEX($A:$A;COUNTA($A:$A)+3)))<=LEN($A5)-LEN(TRIM($A5));1;9^9);1)-1))


Что-то мне подсказывает, что можно проще, но я не знаю как
К сообщению приложен файл: Copy_of_Copy_of.xlsx (16.8 Kb)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 26.01.2017, 22:08
 
Ответить
Сообщениеakademik90,

в 47 строке лажа., хотя правее я делал проверки и они работают нормально. Что касаемо четко, то без связки родитель - потомок, трудно гарантировтаь результат, именно на эту связь я оперался когда делал сравнение двух ваших файлов, только тогда я её получал синтетически, к слову тогда я напоролся на сбой формулы получения уровня из-за двойных пробелов в наименовании статьи, пришлочь тогда помудрить. Если строки не меняются местами сделайте один столбец, и туда вычислить родителя. Это не сложно уровень всегда меньше текущего, если уровень не менялся, то не меняется родитель. Ну а номер строки брать, или имя статьи родителя, или просто с ID уникальным столбец добавить - ваше дело. Просто потом потомков собрать по родителю - элементарно. при этом на любом уровне. Если смогу посмотрю если не справитесь, но сегодня проблемы семейные могут не позволить.

С доп столбцом родителя формулы элементарные получаются, хотя и массива использовал, но пока не выходит с родителем формулой. только если несколько столбцов делать.


А зачем скрыты часть дат? Это и сбило, не посмотрел, что значения есть.

Не работает только в последней строке,так как ниже данных нет.
Массивные для В5 E5
Код
=MIN(D6:INDEX(D:D;SMALL(ROW(D6:INDEX(D:D;COUNTA($A:$A)+3))*IF(LEN($A6:INDEX($A:$A;COUNTA($A:$A)+3))-LEN(TRIM($A6:INDEX($A:$A;COUNTA($A:$A)+3)))<=LEN($A5)-LEN(TRIM($A5));1;9^9);1)-1))
и
Код
=MAX(E6:INDEX(E:E;SMALL(ROW(E6:INDEX(E:E;COUNTA($A:$A)+3))*IF(LEN($A6:INDEX($A:$A;COUNTA($A:$A)+3))-LEN(TRIM($A6:INDEX($A:$A;COUNTA($A:$A)+3)))<=LEN($A5)-LEN(TRIM($A5));1;9^9);1)-1))


Что-то мне подсказывает, что можно проще, но я не знаю как

Автор - bmv98rus
Дата добавления - 26.01.2017 в 07:52
akademik90 Дата: Пятница, 27.01.2017, 09:08 | Сообщение № 7
Группа: Заблокированные
Ранг: Участник
Сообщений: 99
Репутация: 3 ±
Замечаний: 100% ±

Excel 2013 -2016
bmv98rus, Ооооо спасибо! Как попробую отпишусь что и как)


HOC EST VIVERE BIS, VITA POSSE PRIORE FRUI
 
Ответить
Сообщение bmv98rus, Ооооо спасибо! Как попробую отпишусь что и как)

Автор - akademik90
Дата добавления - 27.01.2017 в 09:08
_Boroda_ Дата: Пятница, 27.01.2017, 10:17 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16886
Репутация: 6599 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Как попробую отпишусь

У меня не получилось
=МИН(D6:ИНДЕКС(D:D;НАИМЕНЬШИЙ(СТРОКА(D6:ИНДЕКС(D:D;СЧЁТЗ($A:$A)+3))*ЕСЛИ(ДЛСТР($A6:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)+3))-ДЛСТР(СЖПРОБЕЛЫ($A6:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)+3)))<=ДЛСТР($A5)-ДЛСТР(СЖПРОБЕЛЫ($A5));1;9^9);1)-1))

Пришлось свое придумывать :D
Для любых раскрашенных строк (синих, зеленых, голубых)
Код
=МИН(D5:ИНДЕКС(D5:D905;ЕСЛИОШИБКА(ПОИСКПОЗ(" *";ЕСЛИ((B5:B905="")*(ДЛСТР(A4)-ДЛСТР(СЖПРОБЕЛЫ(A4))=ДЛСТР(A5:A905)-ДЛСТР(СЖПРОБЕЛЫ(A5:A905)));A5:A905;СЖПРОБЕЛЫ(A5:A905));)-1;900)))

Формула массива.
Последняя строка не может быть раскрашенной, поэтому ее стер
К сообщению приложен файл: 5810854_1.xlsx (16.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Как попробую отпишусь

У меня не получилось
=МИН(D6:ИНДЕКС(D:D;НАИМЕНЬШИЙ(СТРОКА(D6:ИНДЕКС(D:D;СЧЁТЗ($A:$A)+3))*ЕСЛИ(ДЛСТР($A6:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)+3))-ДЛСТР(СЖПРОБЕЛЫ($A6:ИНДЕКС($A:$A;СЧЁТЗ($A:$A)+3)))<=ДЛСТР($A5)-ДЛСТР(СЖПРОБЕЛЫ($A5));1;9^9);1)-1))

Пришлось свое придумывать :D
Для любых раскрашенных строк (синих, зеленых, голубых)
Код
=МИН(D5:ИНДЕКС(D5:D905;ЕСЛИОШИБКА(ПОИСКПОЗ(" *";ЕСЛИ((B5:B905="")*(ДЛСТР(A4)-ДЛСТР(СЖПРОБЕЛЫ(A4))=ДЛСТР(A5:A905)-ДЛСТР(СЖПРОБЕЛЫ(A5:A905)));A5:A905;СЖПРОБЕЛЫ(A5:A905));)-1;900)))

Формула массива.
Последняя строка не может быть раскрашенной, поэтому ее стер

Автор - _Boroda_
Дата добавления - 27.01.2017 в 10:17
bmv98rus Дата: Пятница, 27.01.2017, 11:37 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
_Boroda_,

Что-то мне подсказывает, что можно проще, но я не знаю как
собственно а кто-то знает :-) Про MATCH не подумал, думаю быстрее будет чем SMALL . а про столбец B думал но вроде как без него получалось, но это не суть.

akademik90,
Ну про количество ваших строк, которые как я помню бпревышают 5000 это вы догадаетесь и 905 замените. . сравнение уровня возможно нужно вести по
Код
=FIND(TRIM(A4);SUBSTITUTE(A4;"  ";" "))>=FIND(TRIM(A5:A905);SUBSTITUTE(A5:A905;"  ";" "))
- для сравнения это неважно, а вот если уже в наименовании статьи будет двойной пробел, а такое было, то предыдущий вариант не сработает корректно.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 27.01.2017, 11:43
 
Ответить
Сообщение_Boroda_,

Что-то мне подсказывает, что можно проще, но я не знаю как
собственно а кто-то знает :-) Про MATCH не подумал, думаю быстрее будет чем SMALL . а про столбец B думал но вроде как без него получалось, но это не суть.

akademik90,
Ну про количество ваших строк, которые как я помню бпревышают 5000 это вы догадаетесь и 905 замените. . сравнение уровня возможно нужно вести по
Код
=FIND(TRIM(A4);SUBSTITUTE(A4;"  ";" "))>=FIND(TRIM(A5:A905);SUBSTITUTE(A5:A905;"  ";" "))
- для сравнения это неважно, а вот если уже в наименовании статьи будет двойной пробел, а такое было, то предыдущий вариант не сработает корректно.

Автор - bmv98rus
Дата добавления - 27.01.2017 в 11:37
akademik90 Дата: Пятница, 27.01.2017, 13:08 | Сообщение № 10
Группа: Заблокированные
Ранг: Участник
Сообщений: 99
Репутация: 3 ±
Замечаний: 100% ±

Excel 2013 -2016
_Boroda_, bmv98rus, Спасибо ! Я попробую) Кое что доделаю потом датами займусь) Если возникнут вопросы обращусь к ВАМ!


HOC EST VIVERE BIS, VITA POSSE PRIORE FRUI
 
Ответить
Сообщение_Boroda_, bmv98rus, Спасибо ! Я попробую) Кое что доделаю потом датами займусь) Если возникнут вопросы обращусь к ВАМ!

Автор - akademik90
Дата добавления - 27.01.2017 в 13:08
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!