Вопрос от подписчика: Возможно ли в Ecxel создать такую формулу? Сумма данных в зависимости от значения в ячейке
Здравствуйте ! Мое имя Сергей. Нужна Ваша помощь в задаче:
1) Все вычисления будут выполнятся на одном листе. Учет долгов клиентов с отображением общей суммы в закрепленной области листа.
2) В Ячейках А1, A2, A3, A4 будут находится постоянные текстовые записи (Паша, Маша, Даша, Коля) . Эти стоки являются закрепленной областью экрана в верхней части листа.
3) Ячейки сбоку от этих записей (B1, B2, B3, B4) будут зависимыми ячейками и будут суммировать долг из ячейки. Например В10. Тогда как ячейка А10 будет содержать выпадающий список — Паша, Маша, Даша, Коля.
4) В зависимости от того что будет выбрано в ячейке А10 — к примеру «Маша», заданные цифровые данные из ячейки В10 должны быть прибавлены к ячейке в закрепленной области в Ячейку В2 т. к. А2 Содержит Запись- «Маша». И соответственно Если выбрать в ячейке А10 — «Коля» , то данные из ячейки В10 будут прибавлены к ячейке В4.
5) Таких ячеек как А10 и В10 будет 40 в листе, но ячейки в закрепленной области должны из них суммировать данные в ячейки В1, В2, В3 или В4. В зависимости от выбора из выпадающего списка.
Реально ли такое вычисление задать в электронных таблицах ? Буду благодарен за образец формулы для ячеек из столбца В*.
Ответ:
Для решения данной задачи следует выполнить следующие действия:
- Закрепить область со списком сверху листа, как показано на рисунке ниже:
- Создать выпадающий список, как показано на рисунке ниже или описано в статье «Как сделать раскрывающийся список в excel«:
- Добавить макрос проверки данных и суммирования значений:Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As RangeSet KeyCells = Range(«A10»)If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
Dim a As String
Dim r As Integer
Dim c As Integera = Target.Value
r = 20
c = 20For Each Cell In Range(«Лист1!A1:A4»)
If Cell.Value = Target.Value Thenr = Cell.Row
c = Cell.ColumnCells(r, (c + 1)).Value = Cells(r, (c + 1)).Value + Cells(10, 2).Value
End If
NextEnd If
End SubПринцип работы макроса:
- В ячейку B10 вноситься число
- В ячейке A10 выбирается имя
- При изменении ячейки A10 происходит сравнение ее значения с перечнем в ячейках A1-A4 и при совпадении суммирование с ячейками B1-B4 .
Пример файла с макросом можно скачать по ссылке: http://ruexcel.ru/goodfiles-summ/
Подсказка: Теперь, когда Вы научились раскрашивать ячейки в разные цвета, в зависимости от содержащихся в них значений, возможно, Вы захотите узнать, сколько ячеек выделено определённым цветом, и посчитать сумму значений в этих ячейках. Хочу порадовать Вас, это действие тоже можно сделать автоматически, и решение этой задачи мы покажем в статье, посвящённой вопросу Как в Excel посчитать количество, сумму и настроить фильтр для ячеек определённого цвета . Мы показали лишь несколько из возможных способов сделать таблицу похожей на полосатую зебру, окраска которой зависит от значений в ячейках и умеет меняться вместе с изменением этих значений. Если Вы ищите для своих данных что-то другое, дайте нам знать, и вместе мы обязательно что-нибудь придумаем.