Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Суммирование по непостоянному интервалу - Мир MS Excel

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_, DrMini  
Суммирование по непостоянному интервалу
vev57 Дата: Воскресенье, 19.03.2017, 00:16 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Помогите написать формулу суммирования последнего столбца (см. прикрепление) в диапазоне от текущего нуля до ближайшего в столбце "Изменение". Таких интервалов будет несколько, количество строк в интервалах - произвольное.
Спасибо.
К сообщению приложен файл: 5108889.xls (23.0 Kb)
 
Ответить
СообщениеПомогите написать формулу суммирования последнего столбца (см. прикрепление) в диапазоне от текущего нуля до ближайшего в столбце "Изменение". Таких интервалов будет несколько, количество строк в интервалах - произвольное.
Спасибо.

Автор - vev57
Дата добавления - 19.03.2017 в 00:16
vev57 Дата: Воскресенье, 19.03.2017, 11:26 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Что - задача нерешаема ?
Если упростить - как в формуле суммирования подставить в одну из границ интервала вычисленное значение ?
Применительно к приведённому выше примеру надо просуммировать данные столбца F от последней строки до вычисленной строки №4
 
Ответить
СообщениеЧто - задача нерешаема ?
Если упростить - как в формуле суммирования подставить в одну из границ интервала вычисленное значение ?
Применительно к приведённому выше примеру надо просуммировать данные столбца F от последней строки до вычисленной строки №4

Автор - vev57
Дата добавления - 19.03.2017 в 11:26
Nic70y Дата: Воскресенье, 19.03.2017, 11:35 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Вдруг правильно (ю)
Код
=СУММ(ИНДЕКС(D$1:D4;СУММПРОИЗВ(МАКС((D$4:D4=0)*СТРОКА(D$4:D4)))):D4)
К сообщению приложен файл: 5108889.xls (26.5 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Воскресенье, 19.03.2017, 11:40
 
Ответить
СообщениеВдруг правильно (ю)
Код
=СУММ(ИНДЕКС(D$1:D4;СУММПРОИЗВ(МАКС((D$4:D4=0)*СТРОКА(D$4:D4)))):D4)

Автор - Nic70y
Дата добавления - 19.03.2017 в 11:35
vev57 Дата: Воскресенье, 19.03.2017, 14:04 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
=СУММ(ИНДЕКС(D$1:D4;СУММПРОИЗВ(МАКС((D$4:D4=0)*СТРОКА(D$4:D4)))):D4)

Суммировать нужно по столбцу F в диапазоне "от 0 до 0" столбца D, т.е. по выложенному примеру д.б. сумма F4:F14
 
Ответить
Сообщение
=СУММ(ИНДЕКС(D$1:D4;СУММПРОИЗВ(МАКС((D$4:D4=0)*СТРОКА(D$4:D4)))):D4)

Суммировать нужно по столбцу F в диапазоне "от 0 до 0" столбца D, т.е. по выложенному примеру д.б. сумма F4:F14

Автор - vev57
Дата добавления - 19.03.2017 в 14:04
Wasilich Дата: Воскресенье, 19.03.2017, 14:40 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
в диапазоне "от 0 до 0" столбца D, т.е. по выложенному примеру д.б. сумма F4:F14
Обязательно формулой? А если макросом?
[vba]
Код
Sub smm()
  Dim x#, i&
  x = 0
  For i = 4 To Range("D" & Rows.Count).End(xlUp).Row
     If Cells(i, "D") = 0 Then
        x = x + Cells(i, "F")
        Cells(i, "H") = x
        x = 0
     Else
        x = x + Cells(i, "F")
     End If
  Next
End Sub
[/vba]


Сообщение отредактировал Wasilich - Воскресенье, 19.03.2017, 18:37
 
Ответить
Сообщение
в диапазоне "от 0 до 0" столбца D, т.е. по выложенному примеру д.б. сумма F4:F14
Обязательно формулой? А если макросом?
[vba]
Код
Sub smm()
  Dim x#, i&
  x = 0
  For i = 4 To Range("D" & Rows.Count).End(xlUp).Row
     If Cells(i, "D") = 0 Then
        x = x + Cells(i, "F")
        Cells(i, "H") = x
        x = 0
     Else
        x = x + Cells(i, "F")
     End If
  Next
End Sub
[/vba]

Автор - Wasilich
Дата добавления - 19.03.2017 в 14:40
Nic70y Дата: Воскресенье, 19.03.2017, 14:41 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
по Вашему примеру подойдет просто
Код
=СУММ()
т.к. 0 ни какого значения на сумму не окажет,
нарисуйте более подробный пример с ответом(ми)


ЮMoney 41001841029809
 
Ответить
Сообщениепо Вашему примеру подойдет просто
Код
=СУММ()
т.к. 0 ни какого значения на сумму не окажет,
нарисуйте более подробный пример с ответом(ми)

Автор - Nic70y
Дата добавления - 19.03.2017 в 14:41
vev57 Дата: Воскресенье, 19.03.2017, 15:06 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
по Вашему примеру подойдет просто
=СУММ()
т.к. 0 ни какого значения на сумму не окажет,

Не подойдёт к сожалению !
В самом начале писАл, что таких интервалов будет несколько, больше десятка, и количество строк в интервалах будет различны.

нарисуйте более подробный пример с ответом(ми)

Что Вы имеете в виду ? Добавить данных в примере ?
 
Ответить
Сообщение
по Вашему примеру подойдет просто
=СУММ()
т.к. 0 ни какого значения на сумму не окажет,

Не подойдёт к сожалению !
В самом начале писАл, что таких интервалов будет несколько, больше десятка, и количество строк в интервалах будет различны.

нарисуйте более подробный пример с ответом(ми)

Что Вы имеете в виду ? Добавить данных в примере ?

Автор - vev57
Дата добавления - 19.03.2017 в 15:06
vev57 Дата: Воскресенье, 19.03.2017, 15:08 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Обязательно формулой? А если макросом?

Хотелось бы именно формулой, поскольку частенько ими пользуюсь, но вот с этой задачей не справился, а хотелось бы разобраться. Тем более, что аналогичные вопросы уже возникали.
 
Ответить
Сообщение
Обязательно формулой? А если макросом?

Хотелось бы именно формулой, поскольку частенько ими пользуюсь, но вот с этой задачей не справился, а хотелось бы разобраться. Тем более, что аналогичные вопросы уже возникали.

Автор - vev57
Дата добавления - 19.03.2017 в 15:08
Nic70y Дата: Воскресенье, 19.03.2017, 16:05 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
интервалов будет несколько
значит сумм будет тоже несколько?
или как?
Что Вы имеете в виду ?
в примере один интервал и напротив каждой строки результат.
а как вы хотите видеть реально?


ЮMoney 41001841029809
 
Ответить
Сообщение
интервалов будет несколько
значит сумм будет тоже несколько?
или как?
Что Вы имеете в виду ?
в примере один интервал и напротив каждой строки результат.
а как вы хотите видеть реально?

Автор - Nic70y
Дата добавления - 19.03.2017 в 16:05
vev57 Дата: Воскресенье, 19.03.2017, 16:55 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
в примере один интервал и напротив каждой строки результат.

Интервалов несколько. В первом посте об этом писАл, и потом еще об этом упоминал

а как вы хотите видеть реально?

В прикреплении более подробный пример
К сообщению приложен файл: 3190524.xls (26.5 Kb)
 
Ответить
Сообщение
в примере один интервал и напротив каждой строки результат.

Интервалов несколько. В первом посте об этом писАл, и потом еще об этом упоминал

а как вы хотите видеть реально?

В прикреплении более подробный пример

Автор - vev57
Дата добавления - 19.03.2017 в 16:55
Udik Дата: Воскресенье, 19.03.2017, 17:20 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Если правильно понял
Код

=ЕСЛИ(D4=0;СУММ(ИНДЕКС(F5;1):ИНДЕКС(F5:$F$21;ПОИСКПОЗ(0;D5:$D$21;0)));"")
К сообщению приложен файл: 0t.xlsx (12.9 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеЕсли правильно понял
Код

=ЕСЛИ(D4=0;СУММ(ИНДЕКС(F5;1):ИНДЕКС(F5:$F$21;ПОИСКПОЗ(0;D5:$D$21;0)));"")

Автор - Udik
Дата добавления - 19.03.2017 в 17:20
vev57 Дата: Воскресенье, 19.03.2017, 17:24 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Если правильно понял

Правильно !!!
Спасибо, плюсую.
 
Ответить
Сообщение
Если правильно понял

Правильно !!!
Спасибо, плюсую.

Автор - vev57
Дата добавления - 19.03.2017 в 17:24
vev57 Дата: Воскресенье, 19.03.2017, 17:32 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Если правильно понял

Только есть одно маленькое замечание: количество строк данных заранее неизвестно, а в формуле используется конструкция $21, что в общем не устраивает по вышеуказанной причине
 
Ответить
Сообщение
Если правильно понял

Только есть одно маленькое замечание: количество строк данных заранее неизвестно, а в формуле используется конструкция $21, что в общем не устраивает по вышеуказанной причине

Автор - vev57
Дата добавления - 19.03.2017 в 17:32
Udik Дата: Воскресенье, 19.03.2017, 17:40 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
а в формуле используется конструкция $21

Ну можно с запасом взять, 1 000 или 10 000


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
а в формуле используется конструкция $21

Ну можно с запасом взять, 1 000 или 10 000

Автор - Udik
Дата добавления - 19.03.2017 в 17:40
vev57 Дата: Воскресенье, 19.03.2017, 17:46 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Только есть одно маленькое замечание: количество строк данных заранее неизвестно, а в формуле используется конструкция $21, что в общем не устраивает по вышеуказанной причине

При более подробном изучении найден ещё один нюанс: в формуле "вручную" вводится начало интервала - например, для 2-й суммы
=ЕСЛИ(D15=0;СУММ(ИНДЕКС(F16;1):ИНДЕКС(F16:$F$22;ПОИСКПОЗ(0;D16:$D$22;0)));"") это значения F16 и D16.
Мне логика вычисления представлялась несколько иначе: при обнаружении "0" в столбце D ищется в нём же предыдущий "0" и в этом диапазоне (от "0" до "0") данные столбца F суммируются.
А если вручную вводить границы интервала, как в Вашем примере, то проще просто вручную суммировать в нужном диапазоне.
 
Ответить
Сообщение
Только есть одно маленькое замечание: количество строк данных заранее неизвестно, а в формуле используется конструкция $21, что в общем не устраивает по вышеуказанной причине

При более подробном изучении найден ещё один нюанс: в формуле "вручную" вводится начало интервала - например, для 2-й суммы
=ЕСЛИ(D15=0;СУММ(ИНДЕКС(F16;1):ИНДЕКС(F16:$F$22;ПОИСКПОЗ(0;D16:$D$22;0)));"") это значения F16 и D16.
Мне логика вычисления представлялась несколько иначе: при обнаружении "0" в столбце D ищется в нём же предыдущий "0" и в этом диапазоне (от "0" до "0") данные столбца F суммируются.
А если вручную вводить границы интервала, как в Вашем примере, то проще просто вручную суммировать в нужном диапазоне.

Автор - vev57
Дата добавления - 19.03.2017 в 17:46
vev57 Дата: Воскресенье, 19.03.2017, 17:50 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Ну можно с запасом взять, 1 000 или 10 000

А конструкция типа
=ПОИСКПОЗ(1;J:J;1)
может сработать в данном случае, как Вы считаете ?
 
Ответить
Сообщение
Ну можно с запасом взять, 1 000 или 10 000

А конструкция типа
=ПОИСКПОЗ(1;J:J;1)
может сработать в данном случае, как Вы считаете ?

Автор - vev57
Дата добавления - 19.03.2017 в 17:50
Udik Дата: Воскресенье, 19.03.2017, 18:04 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
А конструкция типа

тогда поиск будет идти от первой строки, и находить будет 1-й ноль, всегда на одном месте. Только в вашей формуле будет 1 искать.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Воскресенье, 19.03.2017, 18:07
 
Ответить
Сообщение
А конструкция типа

тогда поиск будет идти от первой строки, и находить будет 1-й ноль, всегда на одном месте. Только в вашей формуле будет 1 искать.

Автор - Udik
Дата добавления - 19.03.2017 в 18:04
Udik Дата: Воскресенье, 19.03.2017, 18:10 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
в формуле "вручную" вводится начало интервала

А как по-другому-то? Один раз ввёл формулу и протянул на весь столбец.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
в формуле "вручную" вводится начало интервала

А как по-другому-то? Один раз ввёл формулу и протянул на весь столбец.

Автор - Udik
Дата добавления - 19.03.2017 в 18:10
vev57 Дата: Воскресенье, 19.03.2017, 18:12 | Сообщение № 19
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
тогда поиск будет идти от первой строки, и находить будет 1-й ноль
Ну, это смотря какое значение 3-му параметру задать :)
 
Ответить
Сообщение
тогда поиск будет идти от первой строки, и находить будет 1-й ноль
Ну, это смотря какое значение 3-му параметру задать :)

Автор - vev57
Дата добавления - 19.03.2017 в 18:12
vev57 Дата: Воскресенье, 19.03.2017, 18:29 | Сообщение № 20
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
А как по-другому-то?

Глупый, наверное, вопрос - но тем не менее.
Существует ли в Exel возможность формировать адрес ячейки ?
Что я имею в виду: имя столбца мне известно - к примеру F. Номер строки с "0" можно найти ПОИСКПОЗ; пусть это будет строка 13.
Можно как-то сформировать адрес F13, чтобы его использовать в качестве одной из границ диапазона при суммировании ?
 
Ответить
Сообщение
А как по-другому-то?

Глупый, наверное, вопрос - но тем не менее.
Существует ли в Exel возможность формировать адрес ячейки ?
Что я имею в виду: имя столбца мне известно - к примеру F. Номер строки с "0" можно найти ПОИСКПОЗ; пусть это будет строка 13.
Можно как-то сформировать адрес F13, чтобы его использовать в качестве одной из границ диапазона при суммировании ?

Автор - vev57
Дата добавления - 19.03.2017 в 18:29
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!