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

Страницы: 1
Определение амплитуды
 
Павел, Благодарю Вас за помощь ;)
Определение амплитуды
 
Да насчет заливки это не особо критично, просто хотел понять, как устроен код.

У меня возник вопрос по еще одной строке:

Код
For l = 2 To UBound(Arr, 1)
Это обозначаются переменная для исходных данных из 2го столбца до конца массива, я правильно понял?
Определение амплитуды
 
Павел, Доброе утро!
Пробовал внести изменения в код, для выделения ячеек, и заметил, что они выделяются с погрешностью (в 1-2 ячейки), как можно это поправить?
И хотел уточнить, какой строкой кода вы выводите результат в столбец "D"
Определение амплитуды
 
спасибо, буду пробовать.
Определение амплитуды
 
Цитата
Павел пишет:
Выделяете ячейку Cells(CurRange.Find(d, lookAt:=xlWhole).Row - .Cells(1).Row + 1, здесь_укажите_номер _столбца)

номер или буквенное обозначение?
Определение амплитуды
 
Павел, хотел спросить у вас, а чтобы в Вашем коде выделить другим цветом мах и мин, надо добавить

Код
Interior.ColorIndex = 43 'zero
      .Interior.ColorIndex = 45 'max

в
Код
Arr(CurRange.Find(d, lookAt:=xlWhole).Row - .Cells(1).Row + 1, 0) = d
и
Zero = .Cells(l, 1)


или я ошибаюсь?
Определение амплитуды
 
Павел Спасибо Большое!
Да, конечно может мой вопрос покажется дурацким, но я не совсем понял, как вставляется кнопка  :oops:
Определение амплитуды
 
Павел Это гениально!
Только один нюанс, можно ли сделать, так, чтобы значения при выводе соответствовали тем же строкам? Либо выделялись другим цветом в исходном массиве?
Определение амплитуды
 
Да, одно значение для одного интервала.
Можно извлечь в другой столбец либо выделить значение в столбце с экстремумами
Изменено: exspe - 08.11.2013 14:37:30
Определение амплитуды
 
В примере который приложен к первому сообщению, столбец который выделен оранжевым и есть часть моего массива. Из массива с помощью формулы
Код
 "=ЕСЛИ(И(E3<E2;E3<=E4);"min";ЕСЛИ(И(E3>E2;E3>=E4);"max";ЕСЛИ(ИЛИ(И(E3*E2<=0;ABS(E3)<ABS(E2));И(E3*E4<=0;ABS(E3)<ABS(E4)));"ZERO";"")))".

были определены экстремумы (нули, максимумы и минимумы). Дело в том, что на этих интервалах (между нулями) не одно максимальное и минимальное значение, для решения моей задачи мне необходимо найти один (самое большое значение) максимум. Формулу которую вы мне посоветовали для определения максимумов
Код
=ЕСЛИ(ABS(A2)<ABS(A1);A1;"")

она мне выдает ряд максимальных значений между нулями, чтобы отбросить лишние максимальные значения и выбрать наибольший максимум из найденного ряда формула
Код
=МАКС(с:с)
мне не подходит, т.к. мой массив больше 100000 строк, т.е. равносильно ручной переборки значений, хотелось бы подобрать формулу, которая позволила определить эти максимальные значения сразу во всем массиве.
Прикрепил схематический рисунок, на котором изображен интервал между двумя нулями из большого массива, мне надо определить max3, и так со всеми интервалами во всем массиве.

Извините, что я сразу не объяснил поподробней.
Определение амплитуды
 
Формула =Макс(с:с) не подходит, т.к. в ручную искать интервалы очень долго, т.к. массивы очень большие порядка 100000 строк, поэтому требуется формула позволяющая сразу определить максимумы на заданых участках в массиве.
Определение амплитуды
 
Павел немного не понимаю, как обозначаются нули в формуле =ЕСЛИ(ABS(A2)<ABS(A1);A1;"" ;) , но идею понимаю, буду про бывать, спасибо за совет.
А формуле МАКС(С:С) (с:с) - массив от нуля до нуля подразумевается? Возможно ли написать формулу для всего массива, чтобы она сама определяла максимальное значение между нулями, а то данных много, применять МАКС(С:С) не совсем удобно.
Изменено: exspe - 08.11.2013 08:12:45
Определение амплитуды
 
Формула выводит ряд значений, а в моем случае нужно одно значение между нулями.
Определение амплитуды
 
Цитата
ну и взять максимум максимумов..
Я понимаю, что взять максимум максимумов, но я не могу сообразить как это
Определение амплитуды
 
Здравствуйте!
Возникла проблема в работе с экселем, а именно в написание формулы для определения максимального/минимального значения на участках в одном большом массиве.
Задача такая:
Имеется очень большой массив данных около 100000 значений, с Божей помощью из этого массива были определены все экстремумы (макс, мин, нули) этой кривой с помощью формулы
Код
=ЕСЛИ(И(E3<E2;E3<=E4);"min";ЕСЛИ(И(E3>E2;E3>=E4);"max";ЕСЛИ(ИЛИ(И(E3*E2<=0;ABS(E3)<ABS(E2));И(E3*E4<=0;ABS(E3)<ABS(E4)));"ZERO";"")))


Встал вопрос как найти максимальное значение между нулями для нахождения амплитуды волны.
P.s. Как найти амплитуду знаю, нужна помощь для нахождения  (max, min) волны между нулями
Страницы: 1
Наверх