2015-07-10 1 views
-1

У меня поток потоков, идущий по всему ряду 37, где каждый столбец представляет месяц (т. Е. B37 - денежный поток в январе, C37 февраля и т. Д.), И я хочу иметь функцию, которая находит, в каком месяце эти денежные потоки идут от отрицательного до положительного, а затем вычислить разницу между этими двумя месяцами (последний отрицательный месяц и первый положительный месяц). Я в настоящее время:Найдите точку безубыточности, а затем вычислите разницу смежных ячеек, каждая из которых является динамической?

=INDEX($B$2:DQ$2,MATCH(TRUE,B37:DQ37>0,0)) 

Который успешно возвращенный месяц безубыточный, но теперь я хочу, чтобы это также вычислить разницу между последним отрицательным и первым положительным месяцем. Чтобы еще больше усложнить ситуацию, «точка безубыточности» не всегда будет одинаковой, поскольку она изменяется на основе входных параметров. Например, если поток денежных средств в ячейке F37 отрицательный, тогда денежные потоки, начинающиеся с G37, являются положительными, я хочу вернуть месяц, связанный с G37 (скажем, ячейкой G2), а затем рассчитать разницу между ячейками F37 и G37. Однако это не всегда будет F37 & G37 ... в зависимости от входных значений на другом листе, точка, где значение переходит от отрицательного значения в положительное, может быть I37 и J37.

Я чувствую, что есть способ сделать это, используя SUMIFS в сочетании с INDEX и MATCH, но я просто не могу точно определить, как это сделать.

+2

Ну, как насчет предоставления немного более подробно о условия, которые определяют, может ли она быть или не быть одной ячейкой или другой. Это, безусловно, поможет. Объясните бизнес-логику, объясните ввод, объясните ожидаемый результат. Поместите это в свой вопрос, а не комментарий. – teylyn

+0

@bish спасибо за отзыв, это мой первый раз, используя этот ресурс. Я отредактировал свой вопрос, чтобы включить текущую формулу, которую я использую, и добавил еще немного фона (он не позволит мне добавить фотографию) – Justin

+0

@teylyn благодарит за комментарий. Прошу прощения за плохое объяснение. Я добавил больше к моему вопросу, который, надеюсь, разъясняет, что я делаю и планирую сделать. Спасибо за ваше участие, я ценю это. – Justin

ответ

0

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

Ваши объяснения по-прежнему очень многословны и непонятны. Я предполагаю, что формула, которую вы имеете для того, что вы называете безубыточным, является первым положительным значением. Для того, чтобы вычислить разницу между этим и последнее отрицательное значение, которое по определению должно быть на одну ячейку влево, а затем вычесть 1 из результата функции Match

=INDEX($B$2:DQ$2,MATCH(TRUE,B37:DQ37>0,0))-INDEX($B$2:DQ$2,MATCH(TRUE,B37:DQ37>0,0)-1) 
+0

Большое вам спасибо, это именно то, что я искал. В случае, если я буду задавать вопрос в будущем, я постараюсь сделать его более понятным и менее многословным. К сожалению, они не позволяют новым пользователям публиковать фотографии, поскольку это будет бесконечно разъяснять. Приветствия. – Justin

+0

Если вы разместите ссылку на изображение, которое находится на сайте совместного доступа к файлам, то люди могут следовать за ним. Во многих случаях люди будут редактировать ваш пост и помещать изображение в сообщение. Теперь, другое, что вы делаете: когда кто-то решает вашу проблему, вы отмечаете эту должность как ответ. Это как сказать спасибо на этом сайте. После того, как у вас будет больше очков репутации, вы также можете повысить репутацию сообщения, чтобы поблагодарить людей, чьи сообщения вы считаете полезными. – teylyn

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