2017-01-20 5 views
0

У меня вопрос, который меня озадачил. Я чувствую, что я очень близок к ответу, но не могу создать адекватное решение. Я пробовал вложенный IF заявления, включающий и функцию включение или функцию, и я не могу придумать что-то достаточно прочное, чтобы ответить на этот вопросПолучить excel для создания групп данных на основе значений ячеек

Вот мой вопрос

Я создаю программу, которая автоматически анализирует запас с использованием уравнения осциллятора. Результаты этих уравнений (в теории) предсказывают, как скот будет действовать в ближайшей перспективе.

В этой формуле формула считается запасом, если расчетный осциллятор ниже 30 и перекуплен, если он выше 80. Я хотел бы сгруппировать ячейки по содержимому вычисленного значения осциллятора.

В начале периода начинается с первым экземпляром значения при или ниже 30 после предыдущего вхождения значения в или более чем 80.

Период закрыт с первым вхождением значения в или более 80, возникающих после ранее идентифицированного значения = < 30.

Будут моменты, когда значение не соответствует периоду. Например, значение 50, зажатое между окончанием последнего периода и началом следующего периода, не будет иметь группы.

Я приложил 2 фотографии.

Первое изображение - пример того, как могут выглядеть данные. Столбец% D - результат вычисляемого осциллятора. Важно отметить, что я хотел бы расширить это решение до нескольких акций, каждый из которых имеет разные данные. Я буду использовать его для анализа акций в разное время (например, 6-месячный период или 12-месячный период). Следовательно, решение должно быть достаточно динамичным, чтобы соответствовать различным количествам ячеек и различным распределениям данных.

Вторая фотография - пример того, как бы хотелось, чтобы результат выглядел. Я добавил раздел комментариев для объяснения аргументации группировки в случае, если мое описание выше не имеет смысла.

Изображение 1 Image 1- example of what input data could look like

Изображение 2 Image 2- Example of what I would like the desired result to look like

Пожалуйста, дайте мне знать, если я могу уточнить что-нибудь для вас. Любые идеи или помощь с благодарностью

+0

Вы ищете раствор Excel или VBA? –

+0

И в конце периода 2 для значения 80, должно быть 2 в поле периода, а также правильно? –

+0

@VBA Пит, вы правы. Я пропустил 2 в примере. Хороший улов. Меня не волнует его VBA или EXCEL. Что вам легче. Ive баловался обоими –

ответ

1

Положите это в В2 и скопируйте:

=IF(AND(NOT(ISNUMBER(B1)),A2<=30),MAX($B$1:B1)+1,IF(MAX($B$1:B1)=0,"",IF(AND(ISNUMBER(B1),A1>=80),"",B1))) 

enter image description here

+0

Нет полностью правильно. Если у вас есть два 80 друг за другом, они будут включать оба в период. –

+0

@VBAPete посмотреть последний комментарий Я считаю, что второй 80 был опечаткой, поскольку он должен был превышать 80. –

+0

@Scott Craner Прошу прощения за отсутствие ясности. VBAPete является правильным.Эта вторая 80 не была опечаткой, и, к сожалению, формула ломается, если есть последовательные 80 значений –

Смежные вопросы