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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2019, 08:59   #1
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию функция вместо сводной таблицы

У меня есть данные в 3-х колонках. Надо чтобы эти данные суммировались согласно данным колонок. Пример во вложение. Не хочется использовать сводную таблицу.
Вложения
Тип файла: rar 1пример.rar (7.0 Кб, 43 просмотров)
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 27.09.2019, 09:53   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В цикле загнали в структуру/словарь вида
Цитата:
Строка-Инвойст
Массив(1)-
(0) - Инвойс
(1) - Вес
и просуммировали
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 30.09.2019, 09:01   #3
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

А можно в самом примере? Я ведь не далек в этих делах)
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 30.09.2019, 12:41   #4
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

Если не функцию, то код бы
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 30.09.2019, 16:36   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

на основе кода (c) Hugo121

Код:
Sub SvodByHugo()
   Dim lr As Long, i As Long
   Dim a, b, temp As String
   Dim oDict1 As Object
   Dim cnt As Long, indx As Long
   lr = Cells(Rows.Count, 2).End(xlUp).Row
   a = Range(Cells(2, 1), Cells(lr, 3)).Value
   ReDim b(1 To UBound(a), 1 To 2)
      
   Set oDict1 = CreateObject("Scripting.Dictionary")
   For i = 1 To UBound(a)
       With oDict1
           temp = a(i, 2) & " (" & a(i, 3) & ")"
           If Not .Exists(temp) Then
             cnt = cnt + 1
               .Add temp, cnt
               b(cnt, 1) = temp
               b(cnt, 2) = a(i, 1)
            Else
             indx = oDict1(temp)
             b(indx, 2) = b(indx, 2) + a(i, 1)
           End If
       End With
   Next
  
  
   Range("K2:L" & lr).ClearContents
   Range("K2:L" & cnt + 1) = b
  
  
End Sub

полезные темы

http://www.planetaexcel.ru/forum.php?thread_id=26105

https://programmersforum.ru/showthread.php?t=92538

Последний раз редактировалось Serge_Bliznykov; 30.09.2019 в 16:47.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.10.2019, 10:10   #6
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

Код:
СУММЕСЛИ
вполне справилось с задачей
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Старый 01.10.2019, 10:23   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Iskin Посмотреть сообщение
вполне справилось с задачей

интересно, а как Вы через СУММЕСЛИ выбрали уникальные значения ИНВОЙС ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.10.2019, 10:33   #8
Iskin
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 307
По умолчанию

Пока по колонке С. А хвостик добавить из С к номеру инвойса, даже мне не трудно.
Думайте глобально - действуйте локально!
Iskin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестроение Сводной таблицы Andersan Microsoft Office Excel 0 06.06.2013 15:16
Создание сводной таблицы tinka Microsoft Office Excel 1 20.08.2010 15:04
Данные из двух полей исх. таблицы в одно поле сводной таблицы Strelec79 Microsoft Office Excel 2 02.08.2009 13:59
Автообновление сводной таблицы kzld Microsoft Office Excel 0 07.07.2009 15:58