Доброго, уважаемые гуру. Знаю аналогичный вопрос задавался, но я только осваиваю Excel и так и не смог переделать те формулы, что встречал под свою задачу. Суть - есть массив из множества строк и столбцов. У каждого столбца есть заголовок. Для простоты, в примере одна строка (точнее одна строка со значениями + строка с заголовками). Нужно в ней найти максимумы значений по убыванию и вывести отдельно как значение максимума, так и заголовок столбца, в котором этот максимум находится. (см.файл) Я начал было делать это с помощью формул ПОИСКПОЗ и НАИБОЛЬШЕЕ. И вроде бы всё хорошо - если к функции НАИБОЛЬШЕЕ вопросов нет, то вот с ПОИСКПОЗ возникла загвоздка - как известно, функция ПОИСКПОЗ, находит только первую позицию максимума, и даже если этих максимумов несколько, то выводится всё равно только позиция первого. В общем во вложении собс-но массив и что нужно получить - чуть правее. Большая просьба, формула должна быть универсальной - к вопросу о том, что со временем, необходимость в количестве найденных максимумов может возрасти, вплоть до длины массива. Собс-но сам массив состоит из только целых положительных чисел от 1 и до (в теории) до бесконечности. ps Excel 2007.
Доброго, уважаемые гуру. Знаю аналогичный вопрос задавался, но я только осваиваю Excel и так и не смог переделать те формулы, что встречал под свою задачу. Суть - есть массив из множества строк и столбцов. У каждого столбца есть заголовок. Для простоты, в примере одна строка (точнее одна строка со значениями + строка с заголовками). Нужно в ней найти максимумы значений по убыванию и вывести отдельно как значение максимума, так и заголовок столбца, в котором этот максимум находится. (см.файл) Я начал было делать это с помощью формул ПОИСКПОЗ и НАИБОЛЬШЕЕ. И вроде бы всё хорошо - если к функции НАИБОЛЬШЕЕ вопросов нет, то вот с ПОИСКПОЗ возникла загвоздка - как известно, функция ПОИСКПОЗ, находит только первую позицию максимума, и даже если этих максимумов несколько, то выводится всё равно только позиция первого. В общем во вложении собс-но массив и что нужно получить - чуть правее. Большая просьба, формула должна быть универсальной - к вопросу о том, что со временем, необходимость в количестве найденных максимумов может возрасти, вплоть до длины массива. Собс-но сам массив состоит из только целых положительных чисел от 1 и до (в теории) до бесконечности. ps Excel 2007.daledale
vikktur Спасибо за ответ. 1. Поясню. Нужно не просто максимум 1 найти. А последовательно N значений максимумов в порядке убывания. 2. И если я правильно понимаю: ПОИСКПОЗ(НАИБОЛЬШИЙ() - эта функция, в простом виде (!)при одинаковых значениях максимума в массиве выдаст только первое найденное значение столбца, в котором встретится максимум. Т.е. в моём конкретном случае для значения 32, нужно чтобы было и п2 и п9.
vikktur Спасибо за ответ. 1. Поясню. Нужно не просто максимум 1 найти. А последовательно N значений максимумов в порядке убывания. 2. И если я правильно понимаю: ПОИСКПОЗ(НАИБОЛЬШИЙ() - эта функция, в простом виде (!)при одинаковых значениях максимума в массиве выдаст только первое найденное значение столбца, в котором встретится максимум. Т.е. в моём конкретном случае для значения 32, нужно чтобы было и п2 и п9.daledale
Nic70y >надо 2 ячейки тянуть Это я не вам, а вашему коллеге. У него одна формула только, показывающая только позиции и эти позиции задваивались. В вашем случае, да понял что две.
Nic70y >надо 2 ячейки тянуть Это я не вам, а вашему коллеге. У него одна формула только, показывающая только позиции и эти позиции задваивались. В вашем случае, да понял что две.daledale
Сообщение отредактировал daledale - Воскресенье, 27.01.2019, 22:17
vikttur Прошу прощения. Да, понял логику. У меня же значения заголовков чередуются через столбец с непосредственными значениями максимумов. И да, при копировании и вставке через столбец, всё в порядке. Прошу прощения. Огромное Вам спасибо тоже за помощь!
vikttur Прошу прощения. Да, понял логику. У меня же значения заголовков чередуются через столбец с непосредственными значениями максимумов. И да, при копировании и вставке через столбец, всё в порядке. Прошу прощения. Огромное Вам спасибо тоже за помощь!daledale
Сообщение отредактировал daledale - Воскресенье, 27.01.2019, 22:27
Можно тоже вопрос, в связи с этим? Есть ли какая-то возможность, чтобы при копировании (у меня правда через столбец), чтобы последнее значение динамически менялось, ну т.е. формат функции такой: =Наибольший(A2:N2,k), т.е. чтобы это k - сначала было 1, потом при копировании 2 итд.
Можно тоже вопрос, в связи с этим? Есть ли какая-то возможность, чтобы при копировании (у меня правда через столбец), чтобы последнее значение динамически менялось, ну т.е. формат функции такой: =Наибольший(A2:N2,k), т.е. чтобы это k - сначала было 1, потом при копировании 2 итд.daledale
=Наибольший(A2:N2,k), т.е. чтобы это k - сначала было 1, потом при копировании 2 итд.
Я разве не это показал?
Код
...СТОЛБЕЦ(B1)/2...
Цитата
Это я не вам, а вашему коллеге. У него одна формула только,
Это формула для определения названия. Формула запысывается, естественно, через столбец. Число определять помощью НАИМЕНЬШИЙ или ГПР. Это все написано в сообщении, где формула.
Цитата
=Наибольший(A2:N2,k), т.е. чтобы это k - сначала было 1, потом при копировании 2 итд.
Я разве не это показал?
Код
...СТОЛБЕЦ(B1)/2...
Цитата
Это я не вам, а вашему коллеге. У него одна формула только,
Это формула для определения названия. Формула запысывается, естественно, через столбец. Число определять помощью НАИМЕНЬШИЙ или ГПР. Это все написано в сообщении, где формула.vikttur
Сообщение отредактировал vikttur - Воскресенье, 27.01.2019, 23:30
vikttur Тоже нашёл проблему. В общем расширил массив, разумеется подправив формулу (диапазон). И при одном повторяющемся значении вышла ошибка, точнее неверно указывается позиция. Во вложении файл. Само определение максимума я взял у вашего коллеги (формулу), а вот с определением позиции - проблема. Во вложении файл.
vikttur Тоже нашёл проблему. В общем расширил массив, разумеется подправив формулу (диапазон). И при одном повторяющемся значении вышла ошибка, точнее неверно указывается позиция. Во вложении файл. Само определение максимума я взял у вашего коллеги (формулу), а вот с определением позиции - проблема. Во вложении файл.daledale
vikttur Может я что-то не так делаю, но чет не работает. Поправка, правда, с моей стороны - в массиве могут быть 0. В общем перенёс обе формулы, в рабочий лист, с изменением границ разумеется - (там массив несколько другой) - чет не работает. Во вложении файл. Массив CU$:AAZ$ Значения нужно положить попарно в ячейки ABL+ABM и далее ABN+ABO итд. Формулы в ячейки ABL+ABM положил. Не работает. Во вложении файл. ps Массив будет расти вниз 2-3к+ строк, каждый раз все значения массива будут увеличиваться на 1 в случайном порядке.
vikttur Может я что-то не так делаю, но чет не работает. Поправка, правда, с моей стороны - в массиве могут быть 0. В общем перенёс обе формулы, в рабочий лист, с изменением границ разумеется - (там массив несколько другой) - чет не работает. Во вложении файл. Массив CU$:AAZ$ Значения нужно положить попарно в ячейки ABL+ABM и далее ABN+ABO итд. Формулы в ячейки ABL+ABM положил. Не работает. Во вложении файл. ps Массив будет расти вниз 2-3к+ строк, каждый раз все значения массива будут увеличиваться на 1 в случайном порядке.daledale
Три правых символа, котоые получаем функцией ПРАВБ (RIGHTB) - номер столбца. Значит: - или диапазон в ИНДЕКС (INDEX) начинать со столбца А; - или от полученного номера отнимать номер столбца перед диапазоном с данными.
Если предполагается, что диапазон захватит столбцы после 999-го, в формуле нужно умножать на 0,0001
Три правых символа, котоые получаем функцией ПРАВБ (RIGHTB) - номер столбца. Значит: - или диапазон в ИНДЕКС (INDEX) начинать со столбца А; - или от полученного номера отнимать номер столбца перед диапазоном с данными.
Если предполагается, что диапазон захватит столбцы после 999-го, в формуле нужно умножать на 0,0001vikttur
Сообщение отредактировал vikttur - Понедельник, 28.01.2019, 23:07
Был массив A$:T$. Результаты вычислений писались начиная с V2, их позиции - начиная с W2. Была ваша формула: =ИНДЕКС($A$1:$T$1;ПРАВБ(ТЕКСТ(НАИБОЛЬШИЙ($A$2:$T$2+СТОЛБЕЦ($A$2:$T$2)*0,001;СТОЛБЕЦ(B1)/2);"0,000");3)) ********* Массив стал CU$:AAZ$. Результаты вычислений пишутся, начиная с ABL2, сами позиции - начиная с ABM2 Формулу изменил на: =ИНДЕКС($CU$1:$AAZ$1;ПРАВБ(ТЕКСТ(НАИБОЛЬШИЙ($CU$2:$AAZ$2+СТОЛБЕЦ($CU$2:$AAZ$2)*0,001;СТОЛБЕЦ(CV1)/2);"0,000");3)) Не работает. Что не так?
Добавлено: Поигрался дополнительно. Все нули заменил на произвольное число >0. Ошибка исчезла. Насколько правильно работает посмотрю.
vikttur
Спасибо за ответ.
Был массив A$:T$. Результаты вычислений писались начиная с V2, их позиции - начиная с W2. Была ваша формула: =ИНДЕКС($A$1:$T$1;ПРАВБ(ТЕКСТ(НАИБОЛЬШИЙ($A$2:$T$2+СТОЛБЕЦ($A$2:$T$2)*0,001;СТОЛБЕЦ(B1)/2);"0,000");3)) ********* Массив стал CU$:AAZ$. Результаты вычислений пишутся, начиная с ABL2, сами позиции - начиная с ABM2 Формулу изменил на: =ИНДЕКС($CU$1:$AAZ$1;ПРАВБ(ТЕКСТ(НАИБОЛЬШИЙ($CU$2:$AAZ$2+СТОЛБЕЦ($CU$2:$AAZ$2)*0,001;СТОЛБЕЦ(CV1)/2);"0,000");3)) Не работает. Что не так?
Добавлено: Поигрался дополнительно. Все нули заменил на произвольное число >0. Ошибка исчезла. Насколько правильно работает посмотрю.daledale
Сообщение отредактировал daledale - Вторник, 29.01.2019, 10:08
И всё таки не зашло, что-то. С вашего разрешения упрощу задачу. Условно массив из N строк. В 1-ой строке слова, причем не последовательные, а совершенно произвольные. В последующих, в столбце, соответствующим каждому слову числа, в хаотичном порядке, целые, положительные, не повторяющиеся. Нужно Создать новый массив из этих двух строк - сортируются числа по убыванию, но вместо чисел - ставятся слова-заголовки столбцов.... в общем проще показать на примере, см вложение.
И всё таки не зашло, что-то. С вашего разрешения упрощу задачу. Условно массив из N строк. В 1-ой строке слова, причем не последовательные, а совершенно произвольные. В последующих, в столбце, соответствующим каждому слову числа, в хаотичном порядке, целые, положительные, не повторяющиеся. Нужно Создать новый массив из этих двух строк - сортируются числа по убыванию, но вместо чисел - ставятся слова-заголовки столбцов.... в общем проще показать на примере, см вложение.daledale