Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Номер строки k-го наибольшего
 
И так имеем столбец значений, рядом то что должно быть. ТО есть для одинаковых чисел места распределяются перебором снизу вверх, так же как и в функции наибольшее/наименьшее k-е значение. Там ведь с одного конца перебирают массив и при одинаковых значениях присваивают второму одинаковому значении не такое же K, а K+1. Так и тут, перебором снизу вверх, при повторяющемся значении присваиваем ему следующий по порядку ранг, а не этот же.
5     6
1     2
1     1
2     3
4     5
6     7
4     4
8     8
только хотелось бы чтобы в строчку это было
5       8 4 7 5 3 1 2 6
1
1
2
4
6
4
8
Номер строки k-го наибольшего
 
Спасибо, но поиск ПОИСКПОЗ не подошёл. Он ищет тупо определённое число перебором сверху вниз, и найдя ближайшее равное значение-ставит номер строки в диапазоне заданном. То есть если будет 5 одинаковых значений, то он всё время будет останавливаться на одной ближайшей равной ячейке и отображать номер её строки. То есть из 32 позиций разных, отобразятся не все, одна и та же позиция будет присвоена разным ячейкам, хотя у каждой из них должна быть своя.
Перечитал похожие темы, задача там немного другая, но нашёл главный вопрос который упустил при составлении задачи, и чтобы не путать пытающихся помочь сейчас на него отвечу.
"...По каким критериям распределять одинаковые места?"
Номер строки k-го наибольшего
 
Здравствуйте.
С помощью формулы нашёл по порядку для массива из 32 значений (столбца) 1-е наибольшее значение, 2-е наибольшее и т.д. =НАИБОЛЬШИЙ($A1:$A32;B$34)
Но мне нужно знать какое место занимает каждое из этих наибольших k-х значений в этом самом массиве из 32 ячеек (столбце).
Как вытащить значение расположения этих наибольших в массиве. Пробовал через =ПОИСКПОЗ(НАИБОЛЬШИЙ($A1:$A32;B$34);$A1:$A32) , но получилась ерунда какая-то.  
Поиск в массиве снизу вверх
 
Спасибо. Сообразил наконец.  
Поиск в массиве снизу вверх
 
Сергей, число большее либо равное ста. Для примера из первого поста. И номер строки этой ячейки, найденной ячейки перебором снизу.
Изменено: Vadim147 - 20.04.2016 12:34:51
Поиск в массиве снизу вверх
 
Виктор, если последняя строка-формула из первого поста, то что поменяется-то. Будет просто номер строки снизу. Поиск ячеек ведь по условию будет как и прежде вестись перебором сверху вниз. А нужно снизу вверх, и уж потом номер этой строки с найденной ячейкой.
Если значение >=100 есть и вверху и внизу. Он мне ведь верхнее найдёт, а не нижнее.
Поиск в массиве снизу вверх
 
Добавил в вашу формулу "11-" как и писали. Строку 8 не получил. Перед этим поменял значения ячеек на дробные. Так понял что там где в формуле +1
тоже нужно было менять.
Все же хотелось бы вариант в первом посте переделать. Да и для себя увидеть на будущее как это можно менять.
Поиск в массиве снизу вверх
 
Цитата
vikttur написал: =ПОИСКПОЗ(100;C1:C10)
Сортировка не подходит. По-тому и написал что перебором надо снизу. Таких значения может быть ведь несколько как в начале так и в конце.
Ближайшее снизу перебором и надо.
Изменено: Vadim147 - 20.04.2016 12:14:04
Поиск в массиве снизу вверх
 
В самом первом посте определился >=100. Разве нет.
Поиск в массиве снизу вверх
 
Тогда искать будет значение строго равное 100. А нужно >=100.
Поиск в массиве снизу вверх
 
Здравствуйте.
Есть формула поиска в массиве.

={МИН(ЕСЛИ(C5:C10>=100;СТРОКА(C5:C10);""))}     (пример в файле)
Ищет номер ближайшей сверху строки ячейки, в которой значение >=100. То есть перебор по условию идёт с ячейки С5 потом С6 ...С10.
А как сделать чтобы поиск по условию шёл наоборот с ячейки С10 потом С9...С5 ?
Чтобы искал номер ближайшей строки ячейки, которая >=100, снизу.
МИН поменяется на МАКС, но как перебрать снизу вверх не пойму.
Изменено: Vadim147 - 20.04.2016 11:41:35
ПОИСКПОЗ() с перебором не сверху вниз, а наоборот.
 
Спасибо, для нужд подойдёт.
На будущее мне и не только.
Может есть стандартные правила в формулах, как можно менять диапазон вверх ногами. Очень не хватает в стандартных формулах в экселе опции этой.
Будь то СУММАПРОИЗВ ( А1:А20; В1:В20) где нельзя задавать диапазон так  СУММАПРОИЗВ ( А1:А20; В20:В1), или другие формулы где фигурируют массивы данных.
В каждом конкретном случае приходится мудрить индивидуально.
Может есть простые способы переворачивать массивы?
ПОИСКПОЗ() с перебором не сверху вниз, а наоборот.
 
Доброго времени суток.
Есть такая формула ПОИСКПОЗ(), если в диапазоне где ищется искомое число будет не одно это число, а несколько, то ПОИСКПОЗ() ставит номер строки в диапазоне той что будет ближайшей сверху вниз. А как сделать так чтобы строка выписывалась наоборот самая дальняя от "сверху-вниз"
В примере в столбике С как поискпоз делает в реале, а в столбике D - как хотелось бы получить.
Сумма через N ячеек в диапазоне
 
Спасибо, приму на вооружение.)
Сумма через N ячеек в диапазоне
 
ikki, Дело в том, что считать такие суммы надо будет скользящим окно. Думаю что вариант с единичками не подойдёт.
vikttur, данные значения не имеют, пример  с малыми данными в первом посте, просто вместо десятков строк в данных в столбце будут десятки тысяч, и считать скользящим окном такая формула будет долго.
Сумма через N ячеек в диапазоне
 
А нет ли менее ресурсоёмкого варианта формулы? Эксель вешает капитально при больших объёмах данных. Понимаю что макрос быстрее, но всё же, может менее "тяжёлая" формула есть.
Изменено: Vadim147 - 06.02.2015 18:13:07
Сумма через N ячеек в диапазоне
 
Спасибо, правильно ли я понял, что сумма через одну ячейку будет =СУММПРОИЗВ(A1:A15*(ОСТАТ(СТРОКА(A1:A15);2)=ОСТАТ(СТРОКА(A1);2)))
через 2 будет =СУММПРОИЗВ(A1:A15*(ОСТАТ(СТРОКА(A1:A15);3)=ОСТАТ(СТРОКА(A1);3)))
через 3 будет =СУММПРОИЗВ(A1:A15*(ОСТАТ(СТРОКА(A1:A15);4)=ОСТАТ(СТРОКА(A1);4))) и так далее?
PS. Еще раз спасибо.
Сумма через N ячеек в диапазоне
 
Доброго времени суток.
В файле пример сумм ячеек через 1 и 2, растянутые вниз.
Нашел много тем с суммированием через строку для четных и не четных, типа =СУММПРОИЗВ(I2:I10;--(ОСТАТ(СТРОКА(2:10);2)=0))
или =СУММПРОИЗВ(P1:P7;ОСТАТ(СТРОКА(P1:P7);2))
Но если растянуть эти формулы вниз, то получается все наперекосяк.
Не правильно считает формула: равные числа не равны?
 
Спасибо, округление вставлю.
Не правильно считает формула: равные числа не равны?
 
Но если после запятой оставлять определенное число знаков, то некорректны будут другие более точные расчеты в книге.
Тогда выход только один - формулу так переделать  =ЕСЛИ(ОКРУГЛ(C$1;0)>ОКРУГЛ($A3;0);$B2;"" ;)  ? Или есть другие варианты?
Изменено: Vadim147 - 06.01.2015 18:34:39
Не правильно считает формула: равные числа не равны?
 
Но ведь это не деление, это разница, как  может быть результат (0,17135-0,1714)*100000  равен 4,9999999945 он ведь должен быть равен 5 строго.
Изменено: Vadim147 - 06.01.2015 18:29:37
Не правильно считает формула: равные числа не равны?
 
Здравствуйте.
Простая формула =ЕСЛИ(C$1>$A3;$B2;"") а результат не корректный. В формуле получается что по условию 5>5 оказывается верно.
В файле на листе 1 как считает, на листе 2 как должно быть. Почему так ?
Пересчёт диапазона и запись результатов
 
Leanna, Спасибо большое, более менее похоже на то что нужно, покручу в своих файлах, если будут не состыковки, то отпишусь тут.
Еще раз спасибо за терпение и настойчивость в желании помочь)). С наступающим еще раз!
Пересчёт диапазона и запись результатов
 
 У вас делает расчет, записывает на лист 2 21 строку с результатами, вставляю другие значения в столбец А, но результат-записывает ниже первоначального результата на листе 2, а должен при смене ряда результат записывать ВМЕСТО тех 21 результирующих строк на листе 2.
Пересчёт диапазона и запись результатов
 
Спасибо, только вот еще пара мелких моментов остались,
1-можно все это делать без удаления исходного столбца А.

2-можно макрос не по кнопке делать а автоматом при открытии файла, и чтоб макрос тоже автоматом рассчитывал если данные столбика А будут меняться .
то есть вот для этого неизменного диапазона макрос рассчитает и запишет на лист 2, а если ряд исходный заменить на другой ряд, то уже нет.
Пересчёт диапазона и запись результатов
 
Формулы будут другие, так что формулу смещать не нужно, для примера это просто тут простенькие формулы, нужно сам диапазон А1:А21 смещать, а все остальное останется на месте и перерасчитается само, останется только результаты в строку 25 циклом записывать на лист 2 после каждого нового смещения диапазона А1:А21 .
Изменено: Vadim147 - 29.12.2014 15:45:16
Пересчёт диапазона и запись результатов
 
Если на листе 1 ряд (А1:А21) сместить на строчку вверх , то строка с результатами 25 поменяется тоже, и так далее ряд смещаем на строчку вверх, все изменения строки 25 записываем в строки на листе 2. Так понятнее?
Изменено: Vadim147 - 29.12.2014 15:42:38
Пересчёт диапазона и запись результатов
 
Ну вот смотрите, у вас макрос просто 25-ю строчку одну по нажатию записывает в строчку  на листе 2, а надо как в примере- это уже готовый результат, который требуется.
Изменено: Vadim147 - 29.12.2014 15:42:27
Пересчёт диапазона и запись результатов
 
Наоборот-в начало списка, то есть первый расчет-25 строчка будет строчкой 1 на листе 2, второй расчёт-25 строчка будет 2-й строчкой на лите 2 и так далее.
У вас макрос не делает перерасчет и и еще каждый раз  надо нажимать кнопку, а если данных много, это по сто раз нажимать надо будет.
Пересчёт диапазона и запись результатов
 
Цитата
vikttur пишет: Только макросом.
спасибо за сокращение), стремление максимально разжёванно объяснить задачу иногда выливается в ещё большую запутанность.)
Цитата
Сергей пишет: ну исходя из "желаемого" результата на листе 2, почему бы не протянуть теже самые формулы с листа 1 строки 25 а потом копировать и сохранить как значение (макрорекодером можно если руками тяжко)
Формулы другие будут и от исходного столбца еще данные преобразовываться будут, получим массив из столбцов после преобразований, формулы эти растянуть нельзя будет, формулы что в примере просто так прикрутил. Расчётов и данных будет гораздо больше, пример простенький для понимания.
Изменено: Vadim147 - 29.12.2014 14:25:30
Страницы: 1 2 След.
Наверх