PDA

Показать полную графическую версию : [решено] Сумма по нарастающей из разных листов


sov44
31-03-2015, 16:52
Подскажите с формулой, чтобы получить сумму по нарастающей для значений из разных листов? В частности в ячейку А5 из листа 1 значение из ячейки С5 листа 1 и из ячейки А4 листа 2
Попытка получить нарастающее формулой =СУММ($C$5:C5) не работает.

a_axe
31-03-2015, 17:21
sov44, честно говоря не очень понял фразу "по нарастающей"
В частности в ячейку А5 из листа 1 значение из ячейки С5 листа 1 и из ячейки А4 листа 2 »
если имеется в виду, что А5 должно быть суммой С5 и А4 листа2, то формула такая:
=C5+Лист2!A4
если имеется в виду не это, поясните вашу мысль

sov44
31-03-2015, 18:46
честно говоря не очень понял фразу "по нарастающей" »
Имеется ввиду, что каждое новое значение, введённое в ячейку С5 увеличивает значение А5 на это значение. Ввёл в С5 цифру 3, в А5 стало 3, затем ввёл в С5 цифру 5, в А5 стало 8.
Главное понять принцип "приращения", чтобы затем допилить таблицу excel под свои нужды.

Iska
31-03-2015, 19:26
sov44, никак.

Используйте принцип не «новое значение, введённое в ячейку С5», а «значение, введённое в C5, новое значение — в C6, ещё одно новое — в C7» и т.д. Т.е., используйте диапазоны ячеек.

okshef
31-03-2015, 22:29
sov44, решение макросами:
Alt+F11
в код листа 1 вставьте
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [C5]) Is Nothing Then Exit Sub
Application.EnableEvents = False
first = [a5]
first = first + Target.Value
[a5] = first
10 Application.EnableEvents = True
End Sub

В код листа 2 вставьте
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [A4]) Is Nothing Then Exit Sub
Application.EnableEvents = False
first = Worksheets(1).[a5]
first = first + Target.Value
Worksheets(1).[a5] = first
10 Application.EnableEvents = True
End Sub
Сохраните файл в книгу с поддержкой макросов (расширение xlsm). Пользуйтесь




© OSzone.net 2001-2012