Здравствуйте! Прошу помощи знатоков в решении возникшей задачи.
Дано: лист с огромным кол-вом столбцов и строк. Из этой таблицы нужно выбрать некоторые ячейки и суммировать значения в ячейку на другом листе. Можно, конечно, сделать это руками, но значений очень много. Есть вероятность ошибиться. При этом рядом с ячейкой со значением нет еще какой-то, где стоял бы некий идентификационный признак (к примеру, Иванов, Петров и т.п.)
Вопрос: можно ли каким-то образом задать некий признак или формат ячейкам нужным и потом суммировать все ячейки с листа, отвечающих данному признаку? Например, залить нужные ячейки определенным цветом (желтым) и сложить все желтые клетки. Или сделать примечание у клетки с определенным словом и найти все ячейки с таким примечанием? Цвет привел для примера, хорошо было бы внешний вид таблицы не менять.
Здравствуйте! Прошу помощи знатоков в решении возникшей задачи.
Дано: лист с огромным кол-вом столбцов и строк. Из этой таблицы нужно выбрать некоторые ячейки и суммировать значения в ячейку на другом листе. Можно, конечно, сделать это руками, но значений очень много. Есть вероятность ошибиться. При этом рядом с ячейкой со значением нет еще какой-то, где стоял бы некий идентификационный признак (к примеру, Иванов, Петров и т.п.)
Вопрос: можно ли каким-то образом задать некий признак или формат ячейкам нужным и потом суммировать все ячейки с листа, отвечающих данному признаку? Например, залить нужные ячейки определенным цветом (желтым) и сложить все желтые клетки. Или сделать примечание у клетки с определенным словом и найти все ячейки с таким примечанием? Цвет привел для примера, хорошо было бы внешний вид таблицы не менять.Дроныч
а нельзя их проставить, вместо всяких заливок и т.п.?
К сожалению, нет. Таблица уже сверстана. Нужные ячейки это "итого" по четырем столбикам. Эти 4 столбика многократно повторяются. Каждые 4 столбика это отдельный объект строительства. И он может относиться к разным группам: собственными силами, субподряд, проест собственными силами, проект субподряд и т.п. Нужно сделать сводную табличку и собрать итоговую сумму по направлениям. Самое банальное - пройтись по всей таблице и просуммировать руками, но есть возможность ошибиться, да и потом таблица будет расти, нужно будет каждый раз руками досуммировать
а нельзя их проставить, вместо всяких заливок и т.п.?
К сожалению, нет. Таблица уже сверстана. Нужные ячейки это "итого" по четырем столбикам. Эти 4 столбика многократно повторяются. Каждые 4 столбика это отдельный объект строительства. И он может относиться к разным группам: собственными силами, субподряд, проест собственными силами, проект субподряд и т.п. Нужно сделать сводную табличку и собрать итоговую сумму по направлениям. Самое банальное - пройтись по всей таблице и просуммировать руками, но есть возможность ошибиться, да и потом таблица будет расти, нужно будет каждый раз руками досуммироватьДроныч
Сообщение отредактировал Дроныч - Воскресенье, 08.01.2017, 11:16
Разными цветами пометил ячейки, которые нужно суммировать. Таких объектов больше сотни. расположены в таблице произвольно. Объекты относятся к 6 разным направлениям. В примере взял только два.
Нужно составить сводную таблицу, где будет 6 строк. А в столбиках будет план/факт доходов и расходов.
Сложность в том, что помечать к какому типу объекта относится конкретная ячейка нужно руками. Ну или просто промотать всю таблицу и ручками просуммировать
Сделал пример.
Разными цветами пометил ячейки, которые нужно суммировать. Таких объектов больше сотни. расположены в таблице произвольно. Объекты относятся к 6 разным направлениям. В примере взял только два.
Нужно составить сводную таблицу, где будет 6 строк. А в столбиках будет план/факт доходов и расходов.
Сложность в том, что помечать к какому типу объекта относится конкретная ячейка нужно руками. Ну или просто промотать всю таблицу и ручками просуммироватьДроныч
Напрашивается небольщая функция на VBA, которая сравнивает формат и исходя из этого выводит сумму, но один черт надо метить эти форматом.
[vba]
Код
Function SumiIFFormat(SumRange As Range, FormatCell As Range) Dim result Dim Mycell As Object InteriorColor = FormatCell.Interior.Color For Each Mycell In SumRange If IsNumeric(Mycell) And _ Mycell.Interior.Color = InteriorColor Then _ result = result + Mycell.Value Next SumiIFFormat = result End Function
[/vba]
Сейчас контроль только на совпадение фона.
Дроныч,
Напрашивается небольщая функция на VBA, которая сравнивает формат и исходя из этого выводит сумму, но один черт надо метить эти форматом.
[vba]
Код
Function SumiIFFormat(SumRange As Range, FormatCell As Range) Dim result Dim Mycell As Object InteriorColor = FormatCell.Interior.Color For Each Mycell In SumRange If IsNumeric(Mycell) And _ Mycell.Interior.Color = InteriorColor Then _ result = result + Mycell.Value Next SumiIFFormat = result End Function
[/vba]
Сейчас контроль только на совпадение фона.bmv98rus