Страницы: 1
RSS
Поиск в массиве (именно в массиве, а не в диапазоне ячеек)
 
Добрый день,

это моя первая тема, я не сумел найти ничего подобного поиском.

У меня есть некий числовой ряд, несколько упрощая - частоты событий (ряд распределения)
Я строю "функцию распределения", то есть накапливаю частоты, потом останется поделить на сумму всех частот, у меня будет накопленная вероятность, то есть я-таки получу функцию распределения. Кстати, ряд будет сортированный.

Мне нужно найти в этом ряду первое значение, превышающее определенный предел, скажем, 90%.

Все предельно просто и понятно: построй ряд, подключи ПОИСКПОЗ с неточным поиском, благо ряд точно отсортированный, и будет тебе счастье. Беда в том, что я НЕ ХОЧУ заполнять диапазон на листе. Я хочу искать в массиве. Ну вот так мне надо.

То есть, по сути, у меня есть ряд (вот это диапазон), скажем
5 12 7 3 18 9 ....
и параметр
40

Мне нужна формула, которая выдаст номер (столбец или смещение относительно первого элемента диапазона) первого элемента, накопленная сумма с которым от начала диапазона превысит значение параметра.
В моем примере массив сумм будет выглядеть как 5 17 24 27 45 54, формула должна выдать 5, потому что сумма первых пяти превышает параметр, а первых четырех - еще нет.

Спасибо
 
Нужно уточниться с терминологией. Речь идет о функции VBA или формуле Excel?
Владимир
 
вариант
Код
=ПОИСКПОЗ(1=1;ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(A1;;;;СТОЛБЕЦ(A1:F1)))>=40;0)
Лень двигатель прогресса, доказано!!!
 
Речь идет о формуле. Макрос тут делать нечего писать, это неинтересно.

Предложенная формула не сработала, выдала НД. естественно, я поправил диапазон на актуальный.
 
у меня работает если что то не работает надо показывать пример в файле и вообще пример в файле нужно прикладывать изначально
Лень двигатель прогресса, доказано!!!
 
Да, Вы правы, извините, пожалуйста, вот файл.
 
это формула массива и в поискпоз последний аргумент должен стоять 0
Лень двигатель прогресса, доказано!!!
 
Да, спасибо, так она работает в случае, когда все начинается с первой колонки. Когда я сдвигаю диапазон вправо, работать перестает, выдает 1. Естественно, я меняю адрес диапазона в формуле и завершаю ввод в строке формул ctrl shift enter
 
Цитата
Михаил Ободовский написал:
сдвигаю диапазон вправо
До куда сдвигаете?
 
Скажем, он начинается с F1, количество элементов неизменное
 
=ПОИСКПОЗ(1=1;ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(F1;;;;СТОЛБЕЦ(F99:K99)-СТОЛБЕЦ(F99)+1))>=40;)
Изменено: Михаил Л - 20.06.2020 15:06:50
 
Михаил Л, формула работает
Спасибо
Страницы: 1
Наверх