Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Сумма по нарастающей из разных листов (http://forum.oszone.net/showthread.php?t=297732)

sov44 31-03-2015 16:52 2490067

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

a_axe 31-03-2015 17:21 2490074

sov44, честно говоря не очень понял фразу "по нарастающей"
Цитата:

Цитата sov44
В частности в ячейку А5 из листа 1 значение из ячейки С5 листа 1 и из ячейки А4 листа 2 »

если имеется в виду, что А5 должно быть суммой С5 и А4 листа2, то формула такая:
=C5+Лист2!A4
если имеется в виду не это, поясните вашу мысль

sov44 31-03-2015 18:46 2490106

Цитата:

Цитата a_axe
честно говоря не очень понял фразу "по нарастающей" »

Имеется ввиду, что каждое новое значение, введённое в ячейку С5 увеличивает значение А5 на это значение. Ввёл в С5 цифру 3, в А5 стало 3, затем ввёл в С5 цифру 5, в А5 стало 8.
Главное понять принцип "приращения", чтобы затем допилить таблицу excel под свои нужды.

Iska 31-03-2015 19:26 2490128

sov44, никак.

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

okshef 31-03-2015 22:29 2490192

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). Пользуйтесь


Время: 21:23.

Время: 21:23.
© OSzone.net 2001-