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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2016, 16:38   #1
Alisher1973
 
Регистрация: 06.02.2016
Сообщений: 4
По умолчанию Сравнение данных по нескольким таблицам

Мне нужна программа, которая по декадам (каждые 10 дней) выдаёт общий результат (на Microsoft Excel 2007). Загвоздка в том, что я никак не могу вытащить итог декады (бывают и разные и одинаковые данные каждый день а бывает, что нет ничего). И всё это должно суммироваться. Отличие идёт по 4 столбцам (Отправитель, Получатель, Т/п выхода, Товар)! Я сделал чтобы в конце плюсовались все дни декады, но и там присутствую пустые строки! Отправляю пример (но там первые 10 дней! В итоге за 10 дней суммируются те позиции у которых совпадают Отправитель, Получатель, Т/п входа (он везде один и тот же), Т/п выхода, Товар, Вид транспорта (он везде один и тот же). Если они не совпадают они тоже должны быть в таблице. В кратце-я хочу знать откуда, куда, через какой пост и какой тот или иной товар, его вес и количество вагонов ушли через мой пост.
Отчёты за каждый день закладывают каждый день, а каждые 10 дней и за весь месяц мне нужен отдельный отчёт. (то есть, соответственно, будут ещё листы 11,12...31). Это делается каждые 10 дней (период берётся только 10 ней, то есть 1-10, 11-20, 21-28 или 29 или 30 или 31 (в зависимости от месяца)). А в конце месяца подводится общий итог за весь месяц. Заранее, спасибо!
Yanwar1.rar
Alisher1973 вне форума Ответить с цитированием
Старый 06.02.2016, 17:13   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1. добавить в начале колонку ДАТА и писать дату каждой операции
2. ВСЕ данные вносить на один лист
3. навесить фильтр
4. включаете фильтр по дате и видите данные за ЛЮБОЙ день, НЕДЕЛЮ, за МЕСЯЦ, КВАРТАЛ, ГОД за ЛЮБОЙ период между дата1 и дата2.

1-2 записи в день...
одного листа будет достаточно чтобы записывать данные ближайшие 1.5 тыс.лет

и... макросы при такой системе записи не нужны
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 06.02.2016, 19:03   #3
Alisher1973
 
Регистрация: 06.02.2016
Сообщений: 4
По умолчанию

Данные должны вводиться каждый день!
Alisher1973 вне форума Ответить с цитированием
Старый 06.02.2016, 19:50   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

строчка за строчкой
в каждой строчке - дата
и... ни каких проблем
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 06.02.2016, 21:28   #5
Alisher1973
 
Регистрация: 06.02.2016
Сообщений: 4
По умолчанию

Каждый день (1-1ое число,2-2-ое число и так до 31-го) мы вводим в компьютер данные о том откуда (отправитель), куда (получатель) через наш таможенный пост (Т/п входа) транзитом, через территорию России до следующего таможенного поста (Т/п выход) проходит разный товар (товар)! Он идёт вагонами (Вид транспорта)! Эти данные мы вводим каждый день (1 вводим 1-го числа, 2 - 2-го числа и т.д.)! Эти данные мы отправляем также каждый день в областную таможню (т.е. там так же будет шапка и ничего лишнего, чтобы не печаталось! Мы также каждые 10 дней с 1-го по 10, с 11-го по 20 и с 21-го по .....(зависит от месяца) сдаём так же данные в областную таможню о том сколько вагонов и сколько тонн в каком направлении прошли через наш пост! И в конце месяца тоже! Т.е. в декаде и в месячном отчёте так же ничего лишнего не печатается (так же сверху будет шапка) хотя Ваш вариант выбора по числам вообще супер (бывает, что спрашивают и другие дни)! Но если Отправитель, получатель, Т/п выход и товар все эдентичны, но в разные дни и разное или одинаковое количество вагонов или вес, то это в отчёте должно всё суммироваться. Если хотя-бы одно поле разное (Отправитель, Получатель, Т/п выход, Товар), то это показывается отдельно!
Допустим 1-го числа пришло из Литвы транзитом в Казахстан через наш пост ЖПП Суземка и через другой пост Комсомольский (Т/п выход) Пиломатериал 200 тонн Ж/д транспортом в количестве 3 вагона и пришло из Белоруссии транзитом в Казахстан через наш пост ЖПП Суземка и через другой пост Комсомольский (Т/п выход) Пиломатериал 400 тонн Ж/д транспортом в количестве 5 вагонов. И 2-го числа пришло из Литвы транзитом в Казахстан через наш пост ЖПП Суземка и через
другой пост Комсомольский (Т/п выход) Пиломатериал 300 тонн Ж/д транспортом в количестве 4 вагона. В отчёте за 10 дней должен быть итог такой:
Литва Казахстан ЖПП Суземка Комсомольский Пиломатериал 500 Ж/д 7
Белоруссия Казахстан ЖПП Суземка Комсомольский Пиломатериал 400 Ж/д 5
Т.е. одинаковое суммируется а отличия показываются отдельно!

Последний раз редактировалось Alisher1973; 06.02.2016 в 21:41. Причина: Ошибка
Alisher1973 вне форума Ответить с цитированием
Старый 06.02.2016, 23:36   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а что ГТД (грузовые таможенные декларации) отменили?
брокеры не оформляют документы и не передают электронные копии ГТД в пункте пересечения грузом таможенной границы государтсва и информации о каждой ГТД нет в таможенной базе?

к чему этот цирк?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.02.2016, 03:28   #7
Alisher1973
 
Регистрация: 06.02.2016
Сообщений: 4
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а что ГТД (грузовые таможенные декларации) отменили?
брокеры не оформляют документы и не передают электронные копии ГТД в пункте пересечения грузом таможенной границы государтсва и информации о каждой ГТД нет в таможенной базе?

к чему этот цирк?
Это отдельный отчёт И ГТД не отменили (обычная бюрократия)!

Всем спасибо! Проблема решена!

Последний раз редактировалось Alisher1973; 07.02.2016 в 13:57.
Alisher1973 вне форума Ответить с цитированием
Старый 07.02.2016, 14:03   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

cм. вложение

лист Report (переименовал Декада) - универсальный отчет заполняете 2 ячейки (с какого числа и сколько дней), жмете там, где написано "НАЖМИТЕ"

Код:
Sub SummData()
  Dim ws As Long, r As Long, key As String, c9 As String, d, v
  On Error Resume Next:  c9 = Chr(9):  Set d = CreateObject("Scripting.Dictionary")
  For ws = Cells(3, 3) To Cells(3, 3) + Cells(3, 4) - 1
    key = Worksheets("" & ws).Name
    If Err Then
      Err.Clear
    Else
      With Worksheets(key)
        r = 6
        Do While Not IsEmpty(.Cells(r, 2))
          key = Join(Application.Transpose(Application.Transpose(.Cells(r, 2).Resize(1, 5).Value)), c9) & c9 & .Cells(r, 8)
          If d.exists(key) Then
            d(key) = Val(Replace(Split(d(key), c9)(0), ",", ".")) + .Cells(r, 7) & c9 _
                   & Val(Replace(Split(d(key), c9)(1), ",", ".")) + .Cells(r, 9)
          Else
            d.Add key, .Cells(r, 7) & c9 & .Cells(r, 9)
          End If
          r = r + 1
        Loop
      End With
    End If
  Next
  On Error GoTo 0
  If Not IsEmpty(Cells(6, 1)) Then Cells(6, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 9).Clear
  Cells(6, 2).Resize(d.Count, 1).Value = WorksheetFunction.Transpose(d.keys)
  For r = 6 To 5 + d.Count
    Cells(r, 8).Resize(1, 2) = Split(d(Cells(r, 2).Value), c9)
    Cells(r, 2).Resize(1, 6) = Split(Cells(r, 2), c9):  Cells(r, 1) = r - 5
    v = Cells(r, 7).Value: Cells(r, 7) = Cells(r, 8): Cells(r, 8) = v
  Next
End Sub
Вложения
Тип файла: rar Yanwar1.rar (60.6 Кб, 12 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 07.02.2016 в 14:09.
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение таблиц по нескольким значениям anatoliy1992 SQL, базы данных 14 21.07.2015 17:07
Сравнение в экселе по нескольким признакам Охра Microsoft Office Excel 8 05.08.2014 01:33
Применение привилегий сразу к нескольким таблицам Muramidaza БД в Delphi 0 18.03.2014 22:44
UPDATE OR INSERT по нескольким таблицам в одной процедуре Dozent БД в Delphi 1 21.02.2013 16:40
Объединить запрос к нескольким таблицам в один (php+MySql) Maxx PHP 17 23.08.2010 16:32