2016-09-08 3 views
1

Я пытаюсь решить проблему расчета в Excel, которая кажется сложнее, чем я думал .. и я просто не могу найти нужный мне подход в Интернете. Я представлю упрощенную версию того, что хочу, и буду вечно благодарен тому, кто может помочь мне получить результат.Как вернуть значения до достижения порогового значения в Excel

У меня есть следующие строки:

100 // 20/30/10/60/20/80

То, что я хотел бы видеть это:

100 // 20/30/10/40/0/0

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

Есть ли какая-то формула для этого, я не знаю или элегантный способ решения этой проблемы? Помощь очень ценится!

+0

Не понимаю. Вы говорите, что ваши первоначальные значения должны быть перезаписаны новыми значениями? Если нет, можете ли вы привести пример диапазонов - например, для вашей первой строки - в которой лежат исходные значения, а также в которых должны быть результаты? –

+0

Да, я хотел бы переписать значения так, чтобы они кумулятировались до «100», которые у меня есть в первом столбце. – RFM

+0

Тогда вам обязательно понадобится VBA. –

ответ

1

Если у вас есть первая строка, идущая от A2:G2 в Sheet1 (100/20/30/10/60/20/80, соответственно), вы можете использовать следующее, введя формулу в ячейке B2 Sheet2 и перетащив ее в G2.

=IF(COLUMN(B2)=2,'Sheet1'!B2,IF('Sheet1'!B2+SUM(A2:$B2)>='Sheet1'!$A2,'Sheet1'!$A2-SUM(A2:$B2),'Sheet1'!B2)) 
+0

Удивительный, спасибо! Теперь мне просто нужно получить этот результат в самой строке, потому что у меня есть большой лист данных с сотнями строк, и я думаю, что добавление строки каждый раз будет довольно хаотичным. Есть ли способ сделать это? – RFM

+0

Сложно переписать значения формулой, содержащей значение из ячейки, которую вы фактически перезаписываете, без использования VBA. Вы могли бы просто создать новую таблицу и просто соединить ссылки на ячейки, я изменю некоторые абсолютные ссылки, чтобы формула могла быть скопирована по всей таблице. – Jordan

+0

@ RFM Через VBA может быть самый простой способ с точки зрения скорости. Альтернативой является переход к ручным вычислениям, ввод ваших данных (копирование и вставка, а также), а затем либо возврат к автоматическим вычислениям, либо нажмите F9 – Clauric

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