Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/вычисление увеличения суммы с помощью суммесли - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
вычисление увеличения суммы с помощью суммесли
Пашка Дата: Суббота, 14.09.2013, 22:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Помогите понять как вычислить из за каких позиций и на какую сумму выросла общая сумма с февраля по август. Спасибо!
К сообщению приложен файл: 4463912.xls (97.0 Kb)
 
Ответить
СообщениеПомогите понять как вычислить из за каких позиций и на какую сумму выросла общая сумма с февраля по август. Спасибо!

Автор - Пашка
Дата добавления - 14.09.2013 в 22:30
_Boroda_ Дата: Суббота, 14.09.2013, 22:34 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16787
Репутация: 6557 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Файл перевложил
К сообщению приложен файл: 8355941_3.xls (66.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Файл перевложил

Автор - _Boroda_
Дата добавления - 14.09.2013 в 22:34
Пашка Дата: Суббота, 14.09.2013, 22:38 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
наоборот, с февраля по август сумма выросла на "...". Надо найти из за чего она выросла.
 
Ответить
Сообщениенаоборот, с февраля по август сумма выросла на "...". Надо найти из за чего она выросла.

Автор - Пашка
Дата добавления - 14.09.2013 в 22:38
SergeyKorotun Дата: Суббота, 14.09.2013, 22:56 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
макросом
Размер файла с макросом стал больше 100 кб и не присоединился. Присоединяю в архиве.
К сообщению приложен файл: compare.rar (25.8 Kb)


Сообщение отредактировал SergeyKorotun - Суббота, 14.09.2013, 23:06
 
Ответить
Сообщениемакросом
Размер файла с макросом стал больше 100 кб и не присоединился. Присоединяю в архиве.

Автор - SergeyKorotun
Дата добавления - 14.09.2013 в 22:56
Пашка Дата: Суббота, 14.09.2013, 22:59 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
да, только вы повыделяли коричневым цветом те позиции которые повторяются в двух месяцах. Это конечно хорошо, но мне надо разница сумм между ними.

Мне надо список из за чего и на сколько произошло увеличение. Объем файла очень большой около 12 000 строк.

Красным цветом выделенные новые позиции это круто. Тут все ок.
 
Ответить
Сообщениеда, только вы повыделяли коричневым цветом те позиции которые повторяются в двух месяцах. Это конечно хорошо, но мне надо разница сумм между ними.

Мне надо список из за чего и на сколько произошло увеличение. Объем файла очень большой около 12 000 строк.

Красным цветом выделенные новые позиции это круто. Тут все ок.

Автор - Пашка
Дата добавления - 14.09.2013 в 22:59
Пашка Дата: Суббота, 14.09.2013, 23:10 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
SergeyKorotun, да, это то что нужно!!! только как это сделать для 12 000 строк?)
 
Ответить
СообщениеSergeyKorotun, да, это то что нужно!!! только как это сделать для 12 000 строк?)

Автор - Пашка
Дата добавления - 14.09.2013 в 23:10
SergeyKorotun Дата: Суббота, 14.09.2013, 23:13 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
ALT + F8, Изменить, скопировать макрос в буфер и перенести в реальную книгу. Макрос сам определит последнюю строку.
 
Ответить
СообщениеALT + F8, Изменить, скопировать макрос в буфер и перенести в реальную книгу. Макрос сам определит последнюю строку.

Автор - SergeyKorotun
Дата добавления - 14.09.2013 в 23:13
SergeyKorotun Дата: Суббота, 14.09.2013, 23:19 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
учел замечание _Boroda_ по поводу пробелов, а также отключил обновление страницы
[vba]
Код
Sub qwerty()
      Dim lr_fm As Long
      Dim lr_lm As Long
      Application.ScreenUpdating = False
      lr_fm = Cells(Rows.Count, 1).End(xlUp).Row
      lr_lm = Cells(Rows.Count, 1).End(xlUp).Row
      For i = 4 To lr_lm     'август
         fnd_name = False
         sum_equal = True
         For j = 4 To lr_fm  'февраль
            If Trim(Range("A" & i)) = Trim(Range("F" & j)) Then
               fnd_name = True
               If Range("B" & i) > Range("G" & j) Then
                  sum_equal = False
                  Range("C" & i) = Range("B" & i) - Range("G" & j)
                  Exit For
               Else
                  Range("C" & i) = "не увеличилась"
               End If
            End If
         Next j
         If Not fnd_name Then
            Range("C" & i) = "new"
         End If
      Next i
      Application.ScreenUpdating = True
End Sub
[/vba]


Сообщение отредактировал SergeyKorotun - Суббота, 14.09.2013, 23:27
 
Ответить
Сообщениеучел замечание _Boroda_ по поводу пробелов, а также отключил обновление страницы
[vba]
Код
Sub qwerty()
      Dim lr_fm As Long
      Dim lr_lm As Long
      Application.ScreenUpdating = False
      lr_fm = Cells(Rows.Count, 1).End(xlUp).Row
      lr_lm = Cells(Rows.Count, 1).End(xlUp).Row
      For i = 4 To lr_lm     'август
         fnd_name = False
         sum_equal = True
         For j = 4 To lr_fm  'февраль
            If Trim(Range("A" & i)) = Trim(Range("F" & j)) Then
               fnd_name = True
               If Range("B" & i) > Range("G" & j) Then
                  sum_equal = False
                  Range("C" & i) = Range("B" & i) - Range("G" & j)
                  Exit For
               Else
                  Range("C" & i) = "не увеличилась"
               End If
            End If
         Next j
         If Not fnd_name Then
            Range("C" & i) = "new"
         End If
      Next i
      Application.ScreenUpdating = True
End Sub
[/vba]

Автор - SergeyKorotun
Дата добавления - 14.09.2013 в 23:19
Пашка Дата: Суббота, 14.09.2013, 23:20 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
секунду, испробую)


Сообщение отредактировал Пашка - Суббота, 14.09.2013, 23:21
 
Ответить
Сообщениесекунду, испробую)

Автор - Пашка
Дата добавления - 14.09.2013 в 23:20
SergeyKorotun Дата: Суббота, 14.09.2013, 23:25 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
файл = параметры = центр управление безопасностью = параметры центра управления безопасностью = параметры макросов = включить все макросы.
Это в 2010 екселе.
Примерно там же в 2007.
 
Ответить
Сообщениефайл = параметры = центр управление безопасностью = параметры центра управления безопасностью = параметры макросов = включить все макросы.
Это в 2010 екселе.
Примерно там же в 2007.

Автор - SergeyKorotun
Дата добавления - 14.09.2013 в 23:25
Пашка Дата: Суббота, 14.09.2013, 23:34 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
в этом уже вроде разобрался. Влепил макрос в 1 строку, excel задумался на 5 минут)
 
Ответить
Сообщениев этом уже вроде разобрался. Влепил макрос в 1 строку, excel задумался на 5 минут)

Автор - Пашка
Дата добавления - 14.09.2013 в 23:34
SergeyKorotun Дата: Суббота, 14.09.2013, 23:39 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Структуры листов в примере и реальном файле должны совпадать: столбцы одни и те же должны быть заполнены, и начинаться с той же строки.
 
Ответить
СообщениеСтруктуры листов в примере и реальном файле должны совпадать: столбцы одни и те же должны быть заполнены, и начинаться с той же строки.

Автор - SergeyKorotun
Дата добавления - 14.09.2013 в 23:39
SergeyKorotun Дата: Суббота, 14.09.2013, 23:45 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
эту строку [vba]
Код
Range("C" & i) = "не увеличилась"
[/vba] можете заменить на [vba]
Код
Range("C" & i) = ""
[/vba] и тогда пустые ячейки будут означать что сума не увеличилась.
 
Ответить
Сообщениеэту строку [vba]
Код
Range("C" & i) = "не увеличилась"
[/vba] можете заменить на [vba]
Код
Range("C" & i) = ""
[/vba] и тогда пустые ячейки будут означать что сума не увеличилась.

Автор - SergeyKorotun
Дата добавления - 14.09.2013 в 23:45
Пашка Дата: Воскресенье, 15.09.2013, 00:27 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
SergeyKorotun, что то не клеится. Или у меня голова не варит... Почему то на некоторые позиции ставит new даже если они есть и там и там.

Ща еще буду копашиться.
 
Ответить
СообщениеSergeyKorotun, что то не клеится. Или у меня голова не варит... Почему то на некоторые позиции ставит new даже если они есть и там и там.

Ща еще буду копашиться.

Автор - Пашка
Дата добавления - 15.09.2013 в 00:27
SergeyKorotun Дата: Воскресенье, 15.09.2013, 00:33 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Попробуйте скопировать из одного месяца значения той ячейки, в которой вы считаете что данные одинаковые и вставить в другой месяц в соответствующую ячейку и запустите макрос. Если не напишет "new", значит данные одинаковые только визуально, как например "а" и "a", а на самом деле разные. В примере одна "а" русская, а вторая - английская.
 
Ответить
СообщениеПопробуйте скопировать из одного месяца значения той ячейки, в которой вы считаете что данные одинаковые и вставить в другой месяц в соответствующую ячейку и запустите макрос. Если не напишет "new", значит данные одинаковые только визуально, как например "а" и "a", а на самом деле разные. В примере одна "а" русская, а вторая - английская.

Автор - SergeyKorotun
Дата добавления - 15.09.2013 в 00:33
Пашка Дата: Воскресенье, 15.09.2013, 01:09 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
ну я не знаю, мне по впр находило гораааздо меньше строк... У меня разница между месяцами должна быть 8 млн, а тут только новых позиций на сумму 21 млн. Что то где то не сходится... Я новые позиции наверно тогда вытащу с помощью впр, а разницу в суммах возьму с твоего примера. Тогда вроде бы все более менее сойдется...
 
Ответить
Сообщениену я не знаю, мне по впр находило гораааздо меньше строк... У меня разница между месяцами должна быть 8 млн, а тут только новых позиций на сумму 21 млн. Что то где то не сходится... Я новые позиции наверно тогда вытащу с помощью впр, а разницу в суммах возьму с твоего примера. Тогда вроде бы все более менее сойдется...

Автор - Пашка
Дата добавления - 15.09.2013 в 01:09
SergeyKorotun Дата: Воскресенье, 15.09.2013, 01:33 | Сообщение № 17
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
файл приложи и напиши в каких ячейках не должно писать "new"
 
Ответить
Сообщениефайл приложи и напиши в каких ячейках не должно писать "new"

Автор - SergeyKorotun
Дата добавления - 15.09.2013 в 01:33
Пашка Дата: Воскресенье, 15.09.2013, 01:57 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
5 мб сюда не залезут. Если можно я ссылку кину... http://www.ex.ua/738223286854
 
Ответить
Сообщение5 мб сюда не залезут. Если можно я ссылку кину... http://www.ex.ua/738223286854

Автор - Пашка
Дата добавления - 15.09.2013 в 01:57
SergeyKorotun Дата: Воскресенье, 15.09.2013, 02:05 | Сообщение № 19
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
а в каких строках не должно быть "new"?
 
Ответить
Сообщениеа в каких строках не должно быть "new"?

Автор - SergeyKorotun
Дата добавления - 15.09.2013 в 02:05
SergeyKorotun Дата: Воскресенье, 15.09.2013, 02:29 | Сообщение № 20
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
строки, в которых есть "~", ексель не находит. "~" обошел. Если еще что-то не находит, указывайте номера строк.
[vba]
Код
Sub qwerty()
     Dim lr_fm As Long
     Dim lr_lm As Long
     Application.ScreenUpdating = False
     lr_fm = Cells(Rows.Count, 1).End(xlUp).Row
     lr_lm = Cells(Rows.Count, 1).End(xlUp).Row
     For i = 4 To lr_lm     'август
         fnd_name = False
         sum_equal = True
         For j = 4 To lr_fm  'февраль
             If Replace(Trim(Range("A" & i)), "~", "-") = Replace(Trim(Range("F" & j)), "~", "-") Then
             fnd_name = True
             If Range("B" & i) > Range("G" & j) Then
                 sum_equal = False
                 Range("C" & i) = Range("B" & i) - Range("G" & j)
                 Exit For
             Else
                 Range("C" & i) = "не увеличилась"
             End If
             End If
         Next j
         If Not fnd_name Then
             Range("C" & i) = "new"
         End If
     Next i
     Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
Сообщениестроки, в которых есть "~", ексель не находит. "~" обошел. Если еще что-то не находит, указывайте номера строк.
[vba]
Код
Sub qwerty()
     Dim lr_fm As Long
     Dim lr_lm As Long
     Application.ScreenUpdating = False
     lr_fm = Cells(Rows.Count, 1).End(xlUp).Row
     lr_lm = Cells(Rows.Count, 1).End(xlUp).Row
     For i = 4 To lr_lm     'август
         fnd_name = False
         sum_equal = True
         For j = 4 To lr_fm  'февраль
             If Replace(Trim(Range("A" & i)), "~", "-") = Replace(Trim(Range("F" & j)), "~", "-") Then
             fnd_name = True
             If Range("B" & i) > Range("G" & j) Then
                 sum_equal = False
                 Range("C" & i) = Range("B" & i) - Range("G" & j)
                 Exit For
             Else
                 Range("C" & i) = "не увеличилась"
             End If
             End If
         Next j
         If Not fnd_name Then
             Range("C" & i) = "new"
         End If
     Next i
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - SergeyKorotun
Дата добавления - 15.09.2013 в 02:29
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!