Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2011, 16:15   #1
Kondrat_ivanov
Новичок
Джуниор
 
Регистрация: 25.02.2011
Сообщений: 2
По умолчанию Найти и суммировать

Доброго времени суток! Помогите есть такая проблема надо найти ячейки с одинаковым содержимым и суммировать ячейки рядом, ну и вывести сумму. Тесть ищем значение 5678 оно в ячейке R7C7 значит суммируем R7C8 c следующими найденными по такомуже принципу ! Возможно такое?
Заранее благодарю!
Kondrat_ivanov вне форума Ответить с цитированием
Старый 25.02.2011, 16:32   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Да ,возможно.
Неплохо было бы на данные глянуть,как расположены
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.02.2011, 17:09   #3
Kondrat_ivanov
Новичок
Джуниор
 
Регистрация: 25.02.2011
Сообщений: 2
По умолчанию Данные

Спасибо! Вот пример и нужно отобрать по Счетам взаиморасчетов допустим 5212 и суммировать суммы в ячейке рядом!
Вложения
Тип файла: rar Книга1.rar (2.9 Кб, 10 просмотров)
Kondrat_ivanov вне форума Ответить с цитированием
Старый 25.02.2011, 17:28   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Код:
Option Explicit


Sub Otbor()
    Dim a(), oDict As Object, i As Long, temp As String
    
    a = Range("g5:h" & Range("h" & Rows.Count).End(xlUp).Row).Value

    Set oDict = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(a)
        temp = Trim(a(i, 1))
        If Not oDict.Exists(temp) Then
            oDict.Add temp, CStr(a(i, 2))
        Else
            oDict.Item(temp) = CStr(--oDict.Item(temp) + a(i, 2))
        End If
    Next

    With ThisWorkbook.Worksheets(1)
        .Range("K5").Resize(oDict.Count) = Application.Transpose(oDict.keys)
        .Range("L5").Resize(oDict.Count) = Application.Transpose(oDict.items)
    End With

End Sub
Хотя можно простой формулой обойтись, если уникальные известны:
Код:
=SUMIF($G$5:$G$36;K5;$H$5:$H$36)
В к5=5212
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 25.02.2011 в 17:35.
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммировать диапазон по валюте Screame Microsoft Office Excel 5 06.11.2012 22:53
Суммировать ячейки Djuleta86 Microsoft Office Access 0 17.12.2010 14:48
суммировать одинаковые имена stbo Microsoft Office Excel 4 29.06.2010 12:51
как суммировать в db grid deadneoo Компоненты Delphi 0 01.05.2010 15:41
Суммировать при Н/Д Iskin Microsoft Office Excel 2 14.10.2009 10:05