В рамках моей постоянной работы несколько лет назад одной из вещей, с которыми мне приходилось иметь дело, было объединение данных из разных рабочих тетрадей, которыми делятся другие люди.
И одной из распространенных задач было объединить данные таким образом, чтобы не было повторяющихся записей.
Например, ниже представлен набор данных, содержащий несколько записей для одного и того же региона.
И конечным результатом должен быть консолидированный набор данных, в котором каждая страна представлена только один раз.
В этом руководстве я покажу вам, как объединить повторяющиеся строки и суммировать значения для создания единого консолидированного набора данных.
Объединение и суммирование данных с помощью опции консолидации
Если все, что вам нужно сделать, это объединить данные и добавить все значения для повторяющихся записей, лучше всего использовать функцию консолидации в Excel.
Другой метод — использовать сводную таблицу и суммировать данные (далее в этом руководстве).
Предположим, у вас есть набор данных, показанный ниже, в котором название страны повторяется несколько раз.
Хотя это уникальные записи, так как стоимость продажи различается, для целей отчетности вы можете удалить несколько экземпляров одной и той же страны и показать стоимость продаж как одну консолидированную сумму.
Ниже приведены шаги для этого:
- Скопируйте заголовки исходных данных и вставьте их туда, где вы хотите консолидировать данные.
- Выберите ячейку под крайним левым заголовком
- Перейдите на вкладку «Данные».
- В группе «Инструменты для работы с данными» щелкните значок «Консолидировать».
- В диалоговом окне «Консолидировать» выберите «Сумма» в раскрывающемся списке функций (если он еще не выбран по умолчанию).
- Щелкните значок выбора диапазона в поле «Ссылка».
- Выберите диапазон A2: B9 (данные без заголовков)
- Установите флажок в левом столбце.
- Нажмите ОК
Вышеупомянутые шаги объединят данные, удалив повторяющиеся записи и добавив значения для каждой страны.
В конечном результате вы получите уникальный список стран вместе со стоимостью продаж из исходного набора данных.
Я решил получить СУММУ значений из каждой записи. Вы также можете выбрать другие параметры, такие как «Счетчик» или «Среднее» или «Макс. / Мин.».
В этом примере я показал вам, как объединить данные в единый набор данных на листе. вы также можете использовать эту функцию для консолидации данных из нескольких листов в одной книге и даже из нескольких разных книг.
Объедините и суммируйте данные с помощью сводных таблиц
Сводная таблица — это швейцарский армейский нож для нарезки и нарезки данных в Excel.
Он может легко дать вам сводку, которая представляет собой комбинированный набор данных без дубликатов и значений, являющихся суммой всех похожих записей, и многое другое.
Обратной стороной этого метода по сравнению с предыдущим является то, что этот метод требует больше кликов и на несколько секунд больше по сравнению с предыдущим.
Предположим, у вас есть набор данных, показанный ниже, в котором название страны повторяется несколько раз, и вы хотите объединить эти данные.
Ниже приведены шаги по созданию сводной таблицы:
- Выберите любую ячейку в наборе данных
- Щелкните вкладку Вставка
- В группе «Таблицы» выберите параметр «Сводная таблица».
- В диалоговом окне «Создание сводной таблицы» убедитесь, что таблица / диапазон указаны правильно.
- Щелкните существующий лист
- Выберите место, куда вы хотите вставить итоговую сводную таблицу.
- Нажмите ОК.
Вышеупомянутые шаги вставят сводную таблицу в выбранную целевую ячейку.
Теперь с помощью сводной таблицы мы можем делать все, что угодно, включая консолидацию набора данных и удаление дубликатов.
Ниже приведены шаги для этого:
- Щелкните в любом месте области сводной таблицы, и откроется панель сводной таблицы справа.
- Перетащите поле Country в область Row.
- Перетащите и поместите поле «Продажи» в область «Значения».
Вышеупомянутые шаги суммируют данные и дают вам сумму продаж по всем странам.
Если это все, что вам нужно, и вам не нужна сводная таблица, вы можете скопировать данные и вставить их как значения в другое место и удалить сводную таблицу.
Это также поможет вам уменьшить размер вашей книги Excel.
Итак, это два быстрых и простых метода, которые вы можете использовать для консолидации данных, где они объединяют повторяющиеся строки и суммируют все значения в этих записях.
Надеюсь, вы нашли этот урок полезным!
Как сложить и удалить дубли в Excel.
Смотрите также Step -1Name_Wb_I = Workbooks.Item(Int(InputBox(s,Call Toolbar(CInt(Sh), CInt(Sh_Ob)) понял. я бы применилOption Explicit $F3 , а: А сводная, промежду так, чтобы количество5 помощью функции
Формулы. Используйте диапазон приводим ссылку на сводную таблицу, читайте
на другом листе,
Рассмотрим,If Arr_I(0, i) «Выбрать номер книги»))).NameNext iЯ решил свою штатное средство «удалитьFunction Ran(i As
ведь их необходимо прочим, у ТС просуммировалось.1 и т.д.ЧАСТОТАв группе уникальных значений, которые оригинал (на английском в статье «Сводные то в диалоговомкак сложить и удалить = «1» ThenWorkbooks.Item(Name_Wb_I).Activate
MisterYu задач своим путем, дубликаты» и потом Integer, j As сначала туда вывести((( уже есть -Например, в таблицемне нужна суммаможно, например, подсчитатьЗависимости формул были скопированы в языке) . таблицы Excel».
окне консолидации в дубли в ExcelRows(i).DeleteRange(Cells(1, 1), Cells(1,
: Полный код если которым мне понятнее подсчет суммы для Integer) As StringМихаил С. на Лист 2 3 раза встречается по Ане, Мане, количество результатов тестирования,
нажмите кнопку качестве аргумента, заПредположим, что требуется определитьНо мы сделаем строке «создавать связи
. Как выделить дублиEnd If
1)).Select кому нужно и скорость работы
каждого из источникаIf Range(Cells(i, j),: Сводная здесь лучше … товар Y000001 (1
Тане и т.д. попадающих в определенные
Показывать формулы исключением заголовок столбца. количество уникальных значений проще и быстрее.
с исходными данными» в Excel, читайтеSh = ShCol_I = Cells(Rows.Count,Option Explicit меня устраивает.and_evg Cells(i, j)).Text = всего справится.Юрий М шт., 2 шт.Длина столбца огромная, интервалы. Поскольку данная. Например если диапазон в диапазоне, содержащем Выделяем таблицу, нажимаем поставили галочку. Теперь, в статье «Как + 1 2).End(xlUp).RowDim Col AsЕсли кому интересно,: Или воспользоваться сводной
«» Then
Serge 007, я: Я и не и 3 шт.).
повторяющиеся значения вразнобой функция возвращает массив,1 уникальных значений B2:B45, повторяющиеся значения. Например, сочетание клавиш Ctrl если в столбце выделить повторяющиеся значенияCall Toolbar(CInt(Sh), CInt(Sh_Ob))
Nomer_Str_I = Int(InputBox(«Введите Integer то напишу как таблицейRan = 0 правильно понял? :) посмотрел )) Вот Нужно сделать так,
и разные по ее необходимо вводить2
введите если столбец содержит: + T (английская
В изменятся цифры, в Excel» тут.Next i номер строки по
Dim s As решил.MisterYuElseЮрий М файл с макросом чтобы дубли удалились количеству (может быть как формулу массива.3=ROWS(B2:B45)числа 5, 6, 7
на любой раскладке). то и в Как удалить повторяющиесяApplication.Calculation = xlCalculationAutomatic которому будет идти
String1 этап: Прилагаю.Ran = Range(Cells(i,: Пока Prist добирается
и диаграммой. и осталась только две Ани и
Функция
4. и 6, будут Получилась такая сводная этой таблице данные значения, смотрите вApplication.ScreenUpdating = True сверка», «Окно ввода
Dim wb AsЗагоняем данную таблицуУпс файл 1,1 j), Cells(i, j)).Value домой.Arkadius 1 строка с пять Саш…)ПОИСКПОЗ5
К началу страницы найдены три уникальных
таблица с фильтрами. пересчитаются автоматически. Проверяем статье «Как удалитьApplication.EnableEvents = True по реєстру для
excel-office.ru
Подсчет повторяющихся значений (Дубликатов) в MS EXCEL
Workbook в массив: мб. а тутEnd Ifot kaz
: спасибо, покурил немного товаром Y000001. Нона выходе мневыполняет поиск указанного6Для выполнения этой задачи значения — 5, 6 Внизу столбца В – изменим цифру дубли в Excel».Application.DisplayStatusBar = True книги » +
Dim Name_Wb AsFor i = ограничениеEnd Function: The_Prist, браво!!! разных тем и чтобы его количество
в идеале, чтобы элемента в диапазоне7 используйте комбинацию функций и 7; установили автосумму.
12 в ячейке
Итак, нам нужноEnd Sub Name_Wb_I)) String Nomer_Str_I To Col_I
Максимальный размер файла
Sub Base()Только коректировка нужна, действительно через сводную было 6 шт. было ячеек и возвращает8ЕСЛИстроки «Руслан», «Сергей», «Сергей»,
excel2.ru
Подсчет количества уникальных значений среди повторяющихся
Выберем фильтром дубли 1. В2 основной таблицы перед удалением дублей,Sub Макрос6()Nomer_Col_I = Int(InputBox(«ВведитеPublic Stop_Pr AsIf Stop_Pr Then 100 KbDim Name_Wb_I, Name_Wb_J а именно с таблицу вывел сколько (суммой всех строкАня 46 относительную позицию этого9, «Сергей», будут найдены Получилось так. на цифру 2. их сложить. РассмотримCall Wb_Books номер колонки по
BooleanExit ForОбрежу таблицу. As String СУММА ЧИСЕЛ.. то
-
раз повторяется та этого товара).Маня 32 элемента в диапазоне.10
-
СУММ два уникальных значения —Как написать данные одновременно Получилось так.
несколько способов.UserForm1.Show которому будет идти
В этой статье
Function Ran(i AsEnd If
П.С. ДобавилDim Col_I, Col_J
Подсчет количества уникальных значений с помощью фильтра
есть в Вашем или иная дата.И совсем вКсюша 15 и Например, если диапазонA, «Руслан» и «Сергей». в нескольких ячейках,Как работать с таблицейПервый способ.Call Base
-
сверка», «Окно ввода Integer, j AsArr_I(1, i) =Hugo
As Integer решении.. лист Result Теперь вот вопрос.
-
идеале, чтобы оставалась т.д. A1:A3 содержит значенияBЧАСТОТАСуществует несколько способов подсчета смотрите в статье
консолидации, как объединитьСамый простой способEnd Sub
-
по реєстру для Integer) As String i: Покажите рабочий код.
-
Dim Nomer_Str_I, Nomer_Col_I,Столбец Часы1 Строка К примеру у строка с наименьшей
т.е. первый столбец 5, 25 и Данные, количества уникальных значений «Как заполнить ячейки несколько таблиц в – это использовать
-
MisterYu книги » +If Range(Cells(i, j),Arr_I(2, i) =Может он был
Nomer_I_X, Nomer_Str_J, Nomer_Col_J, Физика не 1, меня 3 раза ценой. — идентификационный номер, 38, то формулаДанные
-
ПОИСКПОЗ среди повторяющихся. в Excel одновременно». одну консолидацией, читайте функцию: Кстати название темы Name_Wb_I)) Cells(i, j)).Text = Ran(CInt(i), CInt(Nomer_Col_I)) в файле, не Nomer_J_X, Nomer_J_X1 As 5, 8, а повторилось 07.02.13, 4На примере того
второй столбец сумма
Подсчет количества уникальных значений с помощью функций
=ПОИСКПОЗ(25,A1:A3,0)986иПодсчет количества уникальных значенийПроизведем подсчет всех повторяющихся в статье «Как«Консолидация» в Excel не соответствует задаче.Nomer_I_X = Int(InputBox(«Введите «» ThenArr_I(3, i) = знаю — у
-
Integer нужна СУММА этих раза 08.02.13 и же товара Y000001. повторяющихся значений.
-
возвращает значение 2,РусланДЛСТР
-
с помощью фильтра значений в списке, объединить таблицы в. У нас такаяСуть задачи такова: номер колонки началаRan = 0 CDbl(Ran(CInt(i), CInt(Nomer_I_X))) меня админы кодDim i, j чисел то есть другие даты разное У него разныеjakim поскольку элемент 25
-
Дмитрий.Подсчет количества уникальных значений содержащем повторы. Диапазон Excel». таблица поиск в столбце записи данных», «ОкноElseArr_I(4, i) = режут. Но тот,
-
As Integer 14! кол-во раз. Как цены 10 грн,: Консолидацией, сводной таблицей.
Пример
является вторым в563Назначьте значение 1 каждому с помощью функций
может содержать текстовые
-
Второй способ..
-
одинаковых значений, при ввода по реєстру»))
Ran = Range(Cells(i, Ran(CInt(i), CInt(Nomer_Col_I) + что в теме
Dim Num, S1,
-
ot kaz
-
это свести в 11 грн иKuklP
-
диапазоне.67 из истинных условийС помощью диалогового окна значения и числа.Сложить все дублиНам нужно сложить все нахождении которых удалитьApplication.ScreenUpdating = False j), Cells(i, j)).Value 2) — не работает.
|
|
ot kaz это уже совсем
-
почему. в текстовой строке.ДмитрийВычислите сумму, используя функцию данных и вставить}. Тогда количество значений, дополнительный столбец, в
-
А – отдельноПримерWorkbooks.Item(Name_Wb_I).ActivateCol = 0Next i десяти. Boolean: Естественно:-): Господа,помогите решить проблему. в идеале -tamriko11
Описание функций
-
Функция689СУММ их в новое которые повторяются будет ячейках которого будем все ячейки с11 10,0Sh_Ob = Col_Is = «»2 этапА так да,Dim SumAs Doubleot kazИмею таблицу в
-
если это сильно: сводная таблица неСУММ789. местоположение. С помощью равно 5, т.е. писать название дубля, цифрой 1, отдельно11 15,0 — (Nomer_Col_I -For Each wbИщу одинаковые значение сводная, или удалитьApplication.ScreenUpdating = False: 2The_Prist. Donate на
-
три столбца (№) сложно, то не подходит, потому чтовычисляет сумму всех
-
ДмитрийПодсчитайте количество уникальных значений функции {1, 1, 2, который нужно сложить. все ячейки с22 20,0 1) In Workbooks в массиве по на копии дубликатыApplication.Calculation = xlCalculationManual ЯД. (Вид) (Часы) обязательно. сумму «итого» по
-
чисел, указанных в143 с помощью функцииЧСТРОК 1, 2} (значения Мы будем писать цифрой 2, т.д.11 5,0Sh = 0
Col = Col
support.office.com
Суммирование повторяющихся значений
Arr_I(2, i). и просуммировать формулой.Application.EnableEvents = FalseПо делу..1. Как решитьЧего-то подобного на
идентификационному номеру мне
качестве аргументов. Каждый
56
ЧАСТОТА
можно подсчитать количество
в исходном массиве
дубли в ячейках
Мы не знаем,
22 5,0
For i =
+ 1
После нахождению суммирую
Или как вариант:
Application.DisplayStatusBar = False
Все в принципе
задачу суммирования значений
форуме не нашёл,
надо подставить в
аргумент может быть
237
. Функция
элементов в новом
выделены
С2, С3, С4,
сколько и какие
Результат
Nomer_Str_I To Col_IIf wb.Name = значение соответственно Arr_I(3,
Sub tt()Check = False работает замечательно. Вот (Часы) по одинаковым поэтому обращаюсь к другую таблицу с
диапазоном, ссылкой на67ЧАСТОТА
диапазоне.
жирным
С5. у нас дубли
11 30,0If Stop_Pr Then «» Then i) и записываю
Dim a, i&,Sum = 0
только заполнил 100 значениям (Вид)? Вам. помощью ВРП ячейку, массивом, константой,
235пропускает текстовые иВыделите диапазон ячеек или).А в следующем в большой таблице.22 25,0Exit For
wb.Close True признак повторения ( ii&, s$Stop_Pr = False
строк значениями из2. Можно лиbuchlotnik
а как из
формулой или результатомФормула
нулевые значения. Для убедитесь в том,Если исходный список значений столбце напишем формулу,
На новом листеsboyEnd If
Else у меня «1»)
With [c1].CurrentRegionNomer_Col_I=3 другой таблицы(копировать-вставить-специальная вставка-значения) дополнительно при суммировании: сводная устроит?
сводной таблицы потом выполнения другой функции.Описание (результат)
первого вхождения заданного что активная ячейка находится в диапазоне которая будет искать делаем активной ячейку.: Добрый день.Arr_I(1, i) =
planetaexcel.ru
Удаление дубликатов строк с суммированием значений (Формулы/Formulas)
Name_Wb = wb.Name в массив Arr_I(0,a = .Value:For i =
в итоге при в столбце (№)frion воспользоваться ВРП я Например, функция=СУММ(ЕСЛИ(ЧАСТОТА(A2:A10,A2:A10)>0,1)) значения эта функция находится в таблице.
А7:А16 дублирующие данные в Мы, в нашемВам конечно с
is = s j) = «1» .Clear Nomer_Str_I To Col_I нажатии на «создать вывести номера строк: Спасибо большое! Результат не знаюСУММ(A1:A5)Подсчет количества уникальных числовых возвращает число, равноеУбедитесь в том, что(см. файл примера), то
первом столбце и примере, сделаем активной этим работать, ноArr_I(2, i) =
+ Name_Wb +КодEnd WithIf Stop_Pr Then отчет» процесс обсчета которые сумировались. мне подходит. ВсёLycoвычисляет сумму всех значений в диапазоне общему количеству его диапазон ячеек содержит число повторяющихся значений
складывать цифры по ячейку Е2 на на мой взгляд Ran(CInt(i), CInt(Nomer_Col_I))
» =» +For i =
With GetObject(«New:{EE09B103-97E0-11CF-978F-00A02463E06F}»)Exit For занимает примерно 2Пример прикреплен. просто, а такая
: 1. Данные - чисел в ячейках
A2:A10 без учета вхождений. Для каждого заголовок столбца.
excelworld.ru
сумма повторяющихся значений
можно вычислить с дублям из второго этом же листе. очень не оптимально
Arr_I(3, i) = Str(Col) + vbCrLf Nomer_Str_I To Col_IFor i =End If мин.В какую сторону большая экономия времени! Удалить дубликаты. от A1 до пустых ячеек и последующего вхождения тогоНа вкладке помощью формулы =СУММПРОИЗВ(—(СЧЁТЕСЛИ(A7:A16;A7:A16)>1)) столбца. На закладке «Данные»Вот как я CDbl(Ran(CInt(i), CInt(Nomer_I_X)))End IfFor j = 1 To UBound(a)
For j =Это нормально? Или хоть копать, подскажите?
Stics
2. СУММЕСЛИ. A5. текстовых значений (4) же значения функцияДанныеФормула хороша тем, что
В ячейке D2 в разделе «Работа предлагал в сообщении№2,Arr_I(4, i) =Next wb i + 1
s = a(i, i + 1 с форматами уЗаранее спасибо за: можно и формулами
Или я чего-тоФункция=СУММ(ЕСЛИ(ЧАСТОТА(ПОИСКПОЗ(B2:B10,B2:B10,0),ПОИСКПОЗ(B2:B10,B2:B10,0))>0,1)) возвращает ноль.в группе производит подсчет и пишем такую формулу. с данными» нажимаем тоже не оптимизировал, Ran(CInt(i), CInt(Nomer_Col_I) +End Sub To Col_I 1) To Col_I меня че не помощь.
frion не понимаю?
planetaexcel.ru
Суммирование одинаковых значений в списке?
ЕСЛИПодсчет количества уникальных текстовых
Узнайте номер позиции текстовогоСортировка и фильтр текстовых и числовых
=СУММЕСЛИ(A2:A9;C2;B2:B9) на кнопку функции но на большом 2)
Sub Toolbar(k AsIf Arr_I(2, i)If .exists(s) ThenIf Ran(CInt(i), CInt(Nomer_Col_I)) так?
ot kaz
: Спасибо! С формуламиThe_Prist
возвращает одно значение, и числовых значений
значения в диапазоненажмите кнопку значений, кроме того,
В ячейку D3 «Консолидация». Выйдет диалоговое объеме информации скоростьSh = Sh
Integer, Full As = Arr_I(2, j)a(.Item(s), 2) =
= Ran(j, CInt(Nomer_Col_I))Попробуйте. Файл прилагаю.: The_Prist, спасибо за тоже ОЧЕНЬ удобно!: ВРП — это
если указанное условие в диапазоне B2:B10, с помощью функцииДополнительно
она игнорирует пустые пишем такую формулу. окно.
ощутите в разы + 1 Integer) And Arr_I(2, i) a(.Item(s), 2) + ThenЮрий М
скорую помощь!Arkadius что-то новое. Наверное, дает в результате который не долженПОИСКПОЗ. ячейки. =СУММЕСЛИ(A3:A9;C3;B3:B9)Заполнили его так:Sub Макрос2()Call Toolbar(CInt(Sh), CInt(Sh_Ob))
With UserForm1 <> «0» Then a(i, 2)
Sum = Sum: У меня практически
Тоже бился с: Здравствуйте, уважаемые знатоки. ВПР?
значение ИСТИНА, и содержать пустые ячейки
. Возвращенное значение затемПоявится диалоговое окно По такому принципуВ строке «Функция»
Application.ScreenUpdating = FalseNext i.Frame1.Caption = «ПроцессSum = SumElse + CDbl(Ran(j, CInt(Nomer_I_X)))
мгновенно. СУММЕСЛИ, но видимо Помогите решить несложнуюjakim
другое, если условие (7)
используется в качествеРасширенный фильтрПовторяющиеся значения на рисунке
написать формулы в
выбрали функцию «Сумма».Application.DisplayAlerts = FalseCheck = False » + Str(k) + CDbl(Arr_I(3, j))ii = iiRange(Cells(j, 1), Cells(j,ot kaz была ошибка в задачку в EXCEL.
: Высылаю Ваш пример дает в результате=СУММ(ЕСЛИ(ЧАСТОТА(ЕСЛИ(ДЛСТР(A2:A10)>0,ПОИСКПОЗ(A2:A10,A2:A10,0),»»),ЕСЛИ(ДЛСТР(A2:A10)>0,ПОИСКПОЗ(A2:A10,A2:A10,0),»»))>0,1)) аргумента функции
.
выделены с помощью других ячейках столбца Можно выбрать другие
’t = TimerSum = 0 + » /»
Arr_I(0, j) = + 1: .Item(s)
10)).Delete Shift:=xlUp: Действительно была открыта формуле.Есть столбец с с применение консолидации. значение ЛОЖЬ.Подсчет количества уникальных текстовых
planetaexcel.ru
Просуммировать ячейки для повторяющихся значений (Макросы/Sub)
ЧАСТОТАУстановите переключатель
Условного форматирования (см. статью D. Получилось так. действия.
Set r1 =Stop_Pr = False + Str(Full) «1» = iij = j — 1 книга.
Строк в таблице повторяющимися датами. НеобходимоNic70y
К началу страницы и числовых значений
, что позволяет определитьскопировать результат в другое Выделение повторяющихся значенийЭту же формулу можно
В строке «Ссылка»
Range(Cells(1, 3), Cells(1,Sh = 0.Label2.Caption = Str(100
Check = Truea(ii, 1) =Col_I = Col_I
Если она закрыта
может быть до
подсчитать сколько раз: формулы:
tamriko11
в диапазоне A2:A10
количество вхождений текстовых
место в MS EXCEL).
написать, вызвав диалоговое поставили диапазон нашей
3).End(xlDown))For i = * Round(k /End If
a(i, 1): a(ii, - 1
то считает моментально! 200.
повторяется каждая уникальнаяtamriko11
: Добрый день, подскажите, без учета пустых
значений.
.
СОВЕТ:
окно функции «СУММЕСЛИ».
таблицы. У нас
Set r2 =
Nomer_Str_I To Col_I
Full, 2)) +
Next j
2) = a(i,Check = True
А вот этой
Против макроса ничего
дата. Проблема заключается
: Jakim спасибо большое, пожалуйста, как в ячеек и текстовых
Найдите пустые ячейки сВ полеРешение обратной задачи
Она расположена на указан фиксированный размер
r1.Offset(0, 1)For j =
"%"
If Check Then 2)
End If
вариант работает прекрасно
не имею, главное
в том, что
А скажите, пожалуйста, Экселе просуммировать повторяющиеся значений (6)
помощью функции
Копировать
по подсчету неповторяющихся
закладке «Формулы» в
диапазона с абсолютными
shn = ActiveSheet.Name
i + 1
.Label2.Width = Int(200
Range(Cells(i, CInt(Nomer_I_X)), Cells(i,
End If
Next j и при открытой
наглядно отобразить под в ячейке с как вы создали
значения. Сводная таблицаПримечания
ДЛСТРвведите ссылку на значений можно найти
разделе «Библиотека функций» ссылками и названиемadr2 = «‘» To Col_I * (k / CInt(Nomer_I_X))).Value = CDbl(Arr_I(3,
NextIf Check Then книге! А чем
какими номерами строки датой есть еще
этот файл. не подходит.
. Пустые ячейки имеют ячейку.
здесь: Подсчет неповторяющихся
нажимаем функцию «Математические»,
столбцов. Можно написать & shn &
If Arr_I(2, i) Full)) i)) + SumEnd WithRange(Cells(i, Nomer_I_X), Cells(i, он хуже первого? суммировались. Поможите?
и время. Времявыделяете таблицу -примерФормулы в этом примере
нулевую длину.Кроме того нажмите кнопку значений. Вообще, если выбираем «СУММЕСЛИ». Заполним
диапазон с относительными
"'!" & r2.Address(ReferenceStyle:=xlR1C1)
= Arr_I(2, j)End With
Check = False
[c1].Resize(ii, 2) = Nomer_I_X)).Value = CDbl(Ran(CInt(i),
Проблемы какие могут
p.s.Действительно считаю, что
меня не интересует, консолидация - а
Столбец А должны быть введены
Чтобы этот пример проще
Свернуть диалоговое окно от общего количества диалоговое окно так.
ссылками.
Sheets.Add.Activate And Arr_I(2, i)DoEvents
Sum = 0 a CInt(Nomer_I_X))) + Sum быть?
в данном случае
нужно подсчитать только
дальше что?
Аня как формулы массива.
было понять, скопируйте
временно скрыть диалоговое значений отнять число
В строке «Диапазон» указываемПодробнее о видахWith Range(«C1»).Resize(r1.Count, 1) <> «0» ThenEnd SubEnd IfEnd SubCheck = FalseMisterYu СПАСИБО мало будет
количество повторений каждойtamriko11
Маня Выделите все ячейки, его на пустой
окно, выберите ячейку повторяющихся, то получим диапазон столбца А ссылок читайте в
.Value = r1.ValueSum = SumSub Base()Sh = ShMisterYu
Sum = 0: Доброго времени суток. )))
из дат. В
: — спасибо большое,Таня
содержащие формулу, нажмите лист.
на листе и
количество неповторяющихся значений.
с дублями.
статье «Относительные и.RemoveDuplicates Columns:=1, Header:=xlNo
+ CDbl(Arr_I(3, j))Dim Name_Wb_I, Name_Wb_J
+ 1: Как бы вот.
End IfЕсть таблица размерностьюSerge
идеале получить еще я такое конечно
Маня
клавишу F2, а
Копирование примера
затем нажмите кнопкуПримечание:В строке «Критерий»
абсолютные ссылки вEnd WithArr_I(0, j) = As StringCall Toolbar(CInt(Sh), CInt(Sh_Ob))HugoCall Toolbar(CInt(i), CInt(Col_I))
15000 строк и
: Ну, тогда не и диаграмму которая
бы никогда неАня затем — клавиши CTRL+SHIFT+ВВОД.
Создайте пустую книгу илиРазвернуть диалоговое окноМы стараемся как указываем ячейку столбца
Excel» здесь.With Range(Cells(1, 3),
«1»Dim Col_I, Col_J
Next i
: Ну я ведь
Next i
6 колонок.
лезу :-) по одной оси составила, но, когда
Ксюша
Чтобы просмотреть процесс вычисления
лист.
. можно оперативнее обеспечивать
С, в которой
Поставили галочки у
Cells(1, 3).End(xlDown)).Offset(0, 1)
Check = True As Integer3 этап писал — такоеApplication.Calculation = xlCalculationAutomatic
Суть макроса в
ot kaz будет показывать дату уже сделано, формулы
Аня функции по шагам,
Выделите пример в разделе
Установите флажок
вас актуальными справочными будем писать название
слов:
adr1 = .Offset(0,
End IfDim Nomer_Str_I, Nomer_Col_I,Прохожу обратным циклом
"вот" мне без
Application.ScreenUpdating = True том что бы
: Во вложении полная а по другой
понятныМаня
выделите ячейку с справки.
Только уникальные записи материалами на вашем
дубля.«подписи верхней строки» -1).Address(ReferenceStyle:=xlR1C1)
Next j Nomer_I_X, Nomer_Str_J, Nomer_Col_J, и удаляю строки
толку... Ну да
Application.EnableEvents = True
по 3 столбцу структура таблицы, сумируются
число повторений этой
frion
Саша
формулой, а затем
Примечание:
и нажмите кнопку языке. Эта страница
В строке «Диапазон – это название
.FormulaR1C1 = "=SUMIF("If Check Then
Nomer_J_X, Nomer_J_X1 As
соответствующие признаку в
ладно, выше добавил
Application.DisplayStatusBar = True искать повторяющиеся значение, значения из столбцов даты в указанном
: Здравствуйте уважаемые знатоки.
Паша
на вкладке
Не выделяйте заголовки строкОК переведена автоматически, поэтому
суммирования» указываем диапазон
столбцов; & adr1 &Range(Cells(i, CInt(Nomer_I_X)), Cells(i, Integer
массиве Arr_I(0, j) макрос. Если нужноEnd Sub при найденном просуммировать
Часы1 и Часы2. диапазоне. Пример прикладываю Столкнулся с такой
Глаша
Формулы
или столбцов.
.
ее текст может столбца В, числа
«значения левого столбца» ",RC[-1]," & adr2
CInt(Nomer_I_X))).Value = CDbl(Arr_I(3,Dim i, j = "1" сохранить формат -
sboy значение 4 столбца
Таблица неизменна толькоZ
ситуацией:Паша
в группеВыделение примера в справке
Уникальные значения из выделенного содержать неточности и
из ячеек которого - это значит,
& ")" i)) + Sum
As Integer
Код можно добавить апостроф
: Добрый день. для найденных.
таких строк 200.: Сводная диаграмма сЕсть таблица сСашаЗависимости формулНажмите клавиши CTRL+C. диапазона будут скопированы
грамматические ошибки. Для нужно сложить. что искать дубли.Value = .ValueCheck = FalseDim Num, S1,For i =
в строкеДумаю, что нужноПосле удалить повторяющиесяИ еще, я
группировкой по ДНЯМ...
перечнем товаров. У
Аня
нажмите кнопку
Выделите на листе ячейку
в новое место, нас важно, чтобыВ строке формул
в левом первом
End WithSum = 0
S2 As String
Col_I To Nomer_Str_I
a(ii, 1) = "'"
переименовать тему (в строки и поставить
как то сразусм. -
каждого товара естьСтолбец В
Вычисление формулы A1 и нажмите начиная с ячейки,
эта статья была сразу видна получившаяся
столбце.
'Sheets(shn).Delete
End If
Dim Arr_I(4, 17000)
Step -1
& a(i, 1)
суть макроса) общую сумму.
недопонял, в ВашемЮрий М своя цена и
1. клавиши CTRL+V. указанной в поле
вам полезна. Просим формула.
Нажимаем «ОК». Поучилось'ActiveSheet.Name = shn
Sh = Sh
As String
If Arr_I(0, i)
MisterYu
и приложите файл-примерДанный код не решении в итоговой
: Получаем к-во по
количество. Но в
4
ФункцияЧтобы переключиться между просмотром
Копировать
вас уделить пару
Третий способ.
так.Application.ScreenUpdating = True + 1
Dim Check As = "1" Then
: Спасибо Вам за
с данными.
оптимизирован. таблице в столбцеF
датам, а уже
табличке есть товары,
2
ЧАСТОТА
результатов и просмотром
.
секунд и сообщить,
Создать таблицу с
Если таблицу консолидации делаем
Application.DisplayAlerts = True
Call Toolbar(CInt(Sh), CInt(Sh_Ob))
Boolean
Rows(i).Delete помощь.Чтобы ускорить код,
Прошу Вас мне значения ведь уже по этим данным которые дублируются. (пример4вычисляет частоту появления формул, возвращающих эти
В пустую ячейку под
помогла ли она
фильтром. Внизу столбца
на другом листе,
’MsgBox Format(Timer -
Next i
Dim Sum, Sum1
End If
Я не настолько
нужно написать новый подсказать на мои
стоят и в построить диаграмму не таблички я прикрепил).6
значений в диапазоне результаты, нажмите клавиши последней ячейки в вам, с помощью В установить автосумму. то получится такая
t, "0.00000") &
Sh = 0
As Double
Sh = Sh
силен в программированию. =) ошибки по данному
формуле Вы на проблема.
Нужно удалить дубли
3 и возвращает вертикальный CTRL+` (знак ударения)
диапазоне введите функцию
кнопок внизу страницы.
Выбирать фильтром нужные
таблица.
"sec"
For i =Dim Sh, Sh_Ob
+ 1 Ваш код частично
Судя по описанию, коду. них ссылаетесь напр.Z
из таблицы, но
2
массив чисел. С
или на вкладке
СТРОК
Для удобства также
дубли. Как сделатьКогда мы делали консолидациюEnd Sub
Col_I To Nomer_Str_I
excelworld.ru
As Integer
В Excel , вы всегда можете столкнуться с этой проблемой, если у вас есть диапазон данных, содержащий несколько повторяющихся записей, и теперь вы хотите объединить повторяющиеся данные и суммировать соответствующие значения в другом столбце, как показано на следующих снимках экрана. Как бы вы могли решить эту проблему?
Объедините повторяющиеся строки и суммируйте значения с помощью функции консолидации
Объедините повторяющиеся строки и суммируйте значения с кодом VBA
Объедините повторяющиеся строки и просуммируйте значения с помощью Kutools for Excel
Объедините соответствующие строки на основе повторяющихся значений в другом столбце с помощью Kutools for Excel
Объедините повторяющиеся строки и суммируйте значения с помощью функции консолидации
Консолидация — это полезный инструмент для нас, позволяющий объединить несколько листов или строк в Excel, поэтому с помощью этой функции мы также можем суммировать несколько строк на основе дубликатов. Пожалуйста, выполните следующие действия:
1. Щелкните ячейку, в которой вы хотите разместить результат на текущем листе.
2. Перейти к щелчку Данные > Консолидировать, см. снимок экрана:
3. В Консолидировать диалоговое окно:
- (1.) Выберите Сумма от Функция раскрывающийся список;
- (2.) Щелкните кнопку, чтобы выбрать диапазон, который вы хотите объединить, а затем нажмите Добавить кнопка, чтобы добавить ссылку на Все ссылки список;
- (3.) Проверить Верхний ряд и Левая колонка от Используйте ярлыки в вариант. Смотрите скриншот:
4. После завершения настройки нажмите OK, а дубликаты объединяются и суммируются. Смотрите скриншот:
Внимание: Если в диапазоне нет строки заголовка, снимите флажок Верхний ряд из Используйте ярлыки в опцию.
Объедините повторяющиеся строки и суммируйте / усредняйте соответствующие значения в другом столбце
Kutools for Excel‘s Продвинутые ряды комбайна помогает объединить несколько повторяющихся строк в одну запись на основе ключевого столбца, а также может применять некоторые вычисления, такие как сумма, среднее значение, количество и т. д., для других столбцов. Нажмите, чтобы скачать Kutools for Excel!
Объедините повторяющиеся строки и суммируйте значения с кодом VBA
Следующий код VBA также может помочь вам объединить повторяющиеся строки на листе, но в то же время исходные данные будут уничтожены, вам необходимо сделать резервную копию копии данных.
1. Удерживайте ALT + F11 ключи, затем он открывает Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.
Код VBA: объедините повторяющиеся строки и просуммируйте значения
Sub CombineRows()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Dic As Variant
Dim arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Dic = CreateObject("Scripting.Dictionary")
arr = WorkRng.Value
For i = 1 To UBound(arr, 1)
Dic(arr(i, 1)) = Dic(arr(i, 1)) + arr(i, 2)
Next
Application.ScreenUpdating = False
WorkRng.ClearContents
WorkRng.Range("A1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.keys)
WorkRng.Range("B1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.items)
Application.ScreenUpdating = True
End Sub
3, Затем нажмите F5 ключ для запуска этого кода, и вам нужно выбрать диапазон, который вы хотите объединить, во всплывающем окне подсказки. Смотрите скриншот:
4, Затем нажмите OK, повторяющиеся строки были объединены, а значения суммированы.
Внимание: Если вы хотите использовать этот код, вам лучше сделать копию файла, чтобы избежать разрушения данных, и этот код применяется только к двум столбцам.
Объедините повторяющиеся строки и просуммируйте значения с помощью Kutools for Excel
Здесь я представляю удобный инструмент — Kutools for Excel для вас это Расширенные ряды комбинирования также может быстро решить эту проблему.
После установки Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите нужный вам диапазон и нажмите Кутулс > Слияние и разделение > Расширенные ряды комбинирования. Смотрите скриншот:
2. В Расширенные ряды комбинирования диалог, проверьте У моих данных есть заголовки если в вашем диапазоне есть заголовки, выберите имя столбца, дубликаты которого вы хотите объединить, и щелкните Основной ключ, см. снимок экрана:
3. Затем выберите имя столбца, значения которого вы хотите суммировать, и нажмите Рассчитать > Сумма или другие расчеты по мере необходимости. Смотрите скриншот:
4. Нажмите Ok чтобы закрыть диалоговое окно, вы увидите, что дубликаты объединены, а соответствующие данные в другом столбце суммируются. Смотрите скриншоты:
Щелкните здесь, чтобы узнать больше о расширенных рядах комбинирования.
Объедините соответствующие строки на основе повторяющихся значений в другом столбце с помощью Kutools for Excel
Иногда вы хотите объединить строки на основе повторяющихся значений в другом столбце, Расширенные ряды комбинирования of Kutools for Excel также может оказать вам услугу, пожалуйста, сделайте следующее:
1. Выберите диапазон данных, который вы хотите использовать, а затем щелкните Кутулс > Слияние и разделение > Расширенные ряды комбинирования для Расширенные ряды комбинирования диалоговое окно.
2. В Расширенные ряды комбинирования В диалоговом окне щелкните имя столбца, на основе которого вы хотите объединить другие данные, и щелкните Основной ключ, см. снимок экрана:
3. Затем щелкните имя другого столбца, данные которого вы хотите объединить, и щелкните Сочетать чтобы выбрать разделитель для разделения объединенных значений, см. снимок экрана:
4. Затем нажмите Ok, все значения в одной ячейке в столбце A были объединены вместе, см. скриншоты:
Объедините повторяющиеся строки и просуммируйте значения с помощью Kutools for Excel
Связанная статья:
Объедините несколько строк в одну на основе повторяющихся значений
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Суммирование – популярная арифметическая операция в Excel. Предположим, в таблице у нас есть перечень товаров, и нам нужно получить их итоговую стоимость. Для этого нужно воспользоваться функцией СУММ. Или же компания хочет определить итоговое потребление электричества за определенный период. Снова нужно суммировать эти данные.
Функция СУММ может использоваться не только самостоятельно, но и как составной компонент других функций.
Но в некоторых ситуациях нам нужно, чтобы суммировались только значения, которые соответствуют определенному критерию. Например, складывать между собой исключительно повторяющееся содержимое ячеек. В этом случае нужно воспользоваться одной из двух функций, которые будут описаны дальше.
Содержание
- Выборочное суммирование в Excel
- Функция СУММЕСЛИ
- Функция СУММЕСЛИМН
- Как суммировать повторяющиеся строки в таблице при помощи умной таблицы
- Преобразование специальной вставкой
- Транспонирование строки в столбцы
Выборочное суммирование в Excel
Выборочное суммирование – это следующий шаг после изучения стандартной арифметической операции складывания нескольких значений. Если научиться читать и использовать ее, можно приблизиться к могуществу в вопросах работы с Excel. Для этого в перечне формул Excel нужно найти следующие функции.
Функция СУММЕСЛИ
Предположим, у нас есть такой набор данных.
Это отчет, предоставленный складом магазина с овощами. Нам, основываясь на этой информации, необходимо сделать следующее:
- Определить, сколько осталось на складе конкретного товара.
- Вычислить товарные остатки вместе с ценой, которая соответствует заданным пользователем правилам.
С помощью функции СУММЕСЛИ мы можем выделить конкретные значения и суммировать исключительно их. Давайте приведем перечень аргументов этого оператора:
- Диапазон. Это набор ячеек, который надо анализировать на предмет соответствия определенному критерию. В этом диапазоне могут быть не только числовые, но и текстовые значения.
- Условие. В этом аргументе записываются правила, по которым будут отбираться данные. Например, только значения, которые соответствуют слову «Груша» или же числа больше 50.
- Диапазон суммирования. Если нет необходимости, можно не использовать этот параметр. Его нужно использовать в случае, если в качестве диапазона для проверки условия используется набор текстовых значений. В этом случае нужно задать дополнительный диапазон с числовыми данными.
Чтобы выполнить первую поставленную нами цель, необходимо выбрать ячейку, в которой будет записываться результат вычислений и записать туда такую формулу: =СУММЕСЛИ(A2:A9;»Виноград белый»;B2:B9).
В итоге получится значение 42. Если бы у нас было несколько ячеек со значением «Виноград белый», то формула вернет итог суммы всех позиций этого плана.
Функция СУММЕСЛИМН
Теперь давайте попробуем разобраться со второй задачей. Ее основная сложность в том, что у нас есть несколько критериев, которым должен соответствовать диапазон. Чтобы решить ее, нужно воспользоваться функцией СУММЕСЛИМН, синтаксис которой включает следующие аргументы:
- Диапазон суммирования. Здесь этот аргумент означает то же самое, что и в предыдущем примере.
- Диапазон условия 1 – набор ячеек, в котором надо отобрать те, которые соответствуют критериям, описанным в аргументе ниже.
- Условие 1. Правило для предыдущего аргумента. Функция будет отбирать исключительно те ячейки из диапазона 1, которые соответствуют условию 1.
- Диапазон условия 2, условие 2 и так далее.
Далее аргументы повторяются, просто нужно последовательно вводить каждый следующий диапазон условия и сам критерий. Теперь давайте начнем решать задачу.
Предположим, нам надо определить, какой общий вес яблок остался на складе, которые стоят больше 100 рублей. Для этого нужно записать следующую формулу в той ячейке, в которой должен быть итоговый результат: =СУММЕСЛИМН(B2:B9;A2:A9;»яблоки*»;C2:C9;»>100″)
Простыми словами, диапазон суммирования мы оставляем такой же, как и был. После этого прописываем первое условие и диапазон для него. После этого мы задаем требование, что цена должна составлять больше 100 рублей.
Обратите внимание на знак «звездочка» (*) в качестве условия поиска. Он указывает на то, что за ним могут находиться любые другие значения.
Как суммировать повторяющиеся строки в таблице при помощи умной таблицы
Предположим, у нас есть такая таблица. Она сделана с использованием инструмента «Умная таблица». В ней мы можем увидеть повторяющиеся значения, размещенные в разных ячейках.
В третьей колонке перечислены цены этих товаров. Предположим, нам нужно узнать, сколько в целом будут стоить повторяющиеся товары. Что для этого нужно сделать? Для начала нужно скопировать все повторяющиеся данные в другой столбец.
После этого надо перейти на вкладку «Данные» и нажать на кнопку «Удалить дубликаты».
После этого появится диалоговое окно, в котором нужно подтвердить удаление повторяющихся значений.
Преобразование специальной вставкой
Затем у нас останется перечень исключительно тех значений, которые не повторяются.
Нам нужно их скопировать и перейти на вкладку «Главная». Там надо открыть меню, находящееся под кнопкой «Вставить». Чтобы это сделать, нажимаем на стрелочку, и в появившемся перечне находим пункт «Специальная вставка». Появится такое диалоговое окно.
Транспонирование строки в столбцы
Ставим флажок возле пункта «Транспонировать» и нажимаем ОК. Этот пункт меняет столбцы и строки местами. После этого записываем в произвольной ячейке функцию СУММЕСЛИ.
Формула в нашем случае будет иметь следующий вид.
Потом с помощью маркера автозаполнения заполняем оставшиеся ячейки. Также можно воспользоваться функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ для того, чтобы суммировать значения таблицы. Но нужно предварительно выставить фильтр для умной таблицы, чтобы функция считала исключительно повторяющиеся значения. Для этого надо нажать на значок стрелки в заголовке столбца, после чего поставить флажки исключительно возле тех значений, которые нужно показать.
После этого подтверждаем свои действия нажатием клавиши ОК. Если добавить еще один пункт для отображения, увидим, что итоговая сумма изменится.
Как видим, можно любую задачу в Excel выполнить несколькими методами. Вы можете выбрать те, которые подходят в конкретной ситуации или просто пользоваться теми инструментами, которые больше понравились.
Оцените качество статьи. Нам важно ваше мнение:
Skip to content
В таблицах Excel можно не просто находить сумму чисел, но и делать это в зависимости от заранее определённых критериев отбора. Хорошо знакомая нам функция ЕСЛИ позволяет производить вычисления в зависимости от выполнения условия. Функция СУММ позволяет складывать числовые значения. А что если нам нужна формула ЕСЛИ СУММ? Для этого случая в Excel имеется специальная функция СУММЕСЛИ.
Мы рассмотрим, как правильно применить функцию СУММЕСЛИ (Sumif в английской версии) в таблицах Excel. Начнем с самых простых случаев, как можно использовать при этом знаки подстановки, назначить диапазон суммирования, работать с числами, текстом и датами. Особо остановимся на том, как использовать сразу несколько условий. И, конечно, мы применим новые знания на практике, рассмотрев несложные примеры.
- Как пользоваться СУММЕСЛИ в Excel – синтаксис
- Примеры использования функции СУММЕСЛИ в Excel
- Сумма если больше чем, меньше, или равно
- Критерии для текста.
- Подстановочные знаки для частичного совпадения.
- Точная дата либо диапазон дат.
- Сумма значений, соответствующих пустым либо непустым ячейкам
- Сумма по нескольким условиям.
- Почему СУММЕСЛИ у меня не работает?
Хорошо, что функция СУММЕСЛИ одинакова во всех версиях MS Excel. Еще одна приятная новость: если вы потратите некоторое время на ее изучение, вам потребуется совсем немного усилий, чтобы понять другие «ЕСЛИ»-функции, такие как СУММЕСЛИМН, СЧЕТЕСЛИ, СЧЕТЕСЛИМН и т.д.
Как пользоваться СУММЕСЛИ в Excel – синтаксис
Её назначение – найти итог значений, которые удовлетворяют определённым требованиям.
Синтаксис функции выглядит следующим образом:
=СУММЕСЛИ(диапазон, критерий, [диапазон_суммирования])
Диапазон – это область, которую мы исследуем на соответствие определённому значению.
Критерий – это значение или шаблон, по которому мы производим отбор чисел для суммирования.
Значение критерия может быть записано прямо в самой формуле. В этом случае не забывайте, что текст нужно обязательно заключать в двойные кавычки.
Также он может быть представлен в виде ссылки на ячейку таблицы, в которой будет указано требуемое ограничение. Безусловно, второй способ является более рациональным, поскольку позволяет гибко менять расчеты, не редактируя выражение.
Диапазон_суммирования — третий параметр, который является необязательным, однако он весьма полезен. Благодаря ему мы можем производить поиск в одной области, а суммировать значения из другой в соответствующих строках.
Итак, если он указан, то расчет идет именно по его данным. Если отсутствует, то складываются значения из той же области, где производился поиск.
Чтобы лучше понять это описание, рассмотрим несколько простых задач. Надеюсь, что они будут понятны не только «продвинутым» пользователям, но и подойдут для «чайников».
Примеры использования функции СУММЕСЛИ в Excel
Сумма если больше чем, меньше, или равно
Начнем с самого простого. Предположим, у нас есть данные о продажах шоколада. Рассчитаем различные варианты продаж.
В I3 записано:
=СУММЕСЛИ(D2:D21;I2)
D2:D21 – это координаты, в которых мы ищем значение.
I2 – ссылка на критерий отбора. Иначе говоря, мы ищем ячейки со значением 144 и складываем их.
Поскольку третий параметр функции не указан, то мы сразу складываем отобранные числа. Область поиска будет одновременно являться и диапазоном суммирования.
Кроме того, в качестве задания для отбора нужных значений можно указать текстовое выражение, состоящее из знаков >, <, <>, <= или >= и числа.
Можно указать его прямо в формуле, как это сделано в I13
=СУММЕСЛИ(D2:D21;«<144»)
То есть подытоживаем все заказы, в которых количество меньше 144.
Но, согласитесь, это не слишком удобно, поскольку нужно корректировать саму формулу, да и условие еще нужно не забыть заключить в кавычки.
В дальнейшем мы будем стараться использовать только ссылку на критерий, поскольку это значительно упрощает возможные корректировки.
Критерии для текста.
Гораздо чаще встречаются ситуации, когда поиск нужно проводить в одном месте, а в другом — суммировать данные, соответствующие найденному.
Чаще всего это необходимо, если необходимо использовать отбор по определённым словам. Ведь текстовые значения складывать нельзя, а вот соответствующие им числа – можно.
Как простой прием использования формулы СУММ ЕСЛИ в Эксель таблицах, рассчитаем итог по выполненным заказам.
В I3 запишем выражение:
=СУММЕСЛИ(F2:F21;I2;E2:Е21)
F2:F21 – это область, в которой мы отбираем подходящие значения.
I2 – здесь записано, что именно отбираем.
E2:E21 – складываем числа, соответствующие найденным совпадениям.
Конечно, можно указать параметр отбора прямо в выражении:
=СУММЕСЛИ(F2:F21;”Да”;E2:Е21)
Но мы уже договорились, что так делать не совсем рационально.
Важное замечание. Не забываем, что все текстовые значения необходимо заключать в кавычки.
Подстановочные знаки для частичного совпадения.
При работе с текстовыми данными часто приходится производить поиск по какой-то части слова или фразы.
Вернемся к нашему случаю. Определим, сколько всего было заказов на черный шоколад. В результате, у нас есть 2 подходящих наименования товара. Как учесть их оба? Для этого есть понятие неточного соответствия.
Мы можем производить поиск и подсчет значений, указывая не всё содержимое ячейки, а только её часть. Таким образом мы можем расширить границы поиска, применив знаки подстановки “?”, “*”.
Символ “?” позволяет заменить собой один любой символ.
Символ ”*” позволяет заменить собой не один, а любое количество символов (в том числе ноль).
Эти знаки можно применить в нашем случае двумя способами. Либо прямо вписать их в таблицу –
=СУММЕСЛИ(C2:C21;I2;E2:Е21) , где в E2 записано *[слово]*
либо
=СУММЕСЛИ(C2:C21;»*»&I2&»*»;E2:E21)
где * вставлены прямо в выражение и «склеены» с нужным текстом.
Давайте потренируемся:
- “*черный*” — мы ищем фразу, в которой встречается это выражение, а до него и после него – любые буквы, знаки и числа. В нашем случае этому соответствуют “Черный шоколад” и “Супер Черный шоколад”.
- “Д?” — необходимо слово из 2 букв, первая из которых “Д”, а вторая – любая. В нашем случае подойдет “Да”.
- “???” — найдем слово из любых 3 букв
=СУММЕСЛИ(F2:F21;”???”;E2:E21)
Этому требованию соответствует “Нет”.
- “???????*” — текст из любых 7 и более букв.
=СУММЕСЛИ(B2:B21;“???????*”;E8:E28)
Подойдет “Зеленый”, “Оранжевый”, “Серебряный”, “Голубой”, “Коричневый”, “Золотой”, “Розовый”.
- “З*” — мы выбираем фразу, первая буква которой “З”, а далее – любые буквы, знаки и числа. Это “Золотой” и “Зеленый”.
- “Черный*” — подходит фраза, которая начинаются именно с этого слова, а далее – любые буквы, знаки и числа. Подходит “Черный шоколад”.
Примечание. Если вам необходимо в качестве задания для поиска применять текст, который содержит в себе * и ?, то используйте знак тильда (~), поставив его перед этими символами. Тогда * и ? будут считаться обычными символами, а не шаблоном:
=СУММЕСЛИ(B2:B21;“*~?*”;E8:E28)
Важное замечание. Если в вашем тексте для поиска встречается несколько знаков * и ?, то тильду (~) нужно поставить перед каждым из них. К примеру, если мы будем искать текст, состоящий из трех звездочек, то формулу ЕСЛИ СУММ можно записать так:
=СУММЕСЛИ(B2:B21;“~*~*~*”;E8:E28)
А если текст просто содержит в себе 3 звездочки, то можно наше выражение переписать так:
=СУММЕСЛИ(B2:B21;“*~*~*~**”;E8:E28)
Точная дата либо диапазон дат.
Если нам нужно найти сумму чисел, соответствующих определённой дате, то проще всего в качестве критерия указать саму эту дату.
Примечание. При этом не забывайте, что формат указанной вами даты должен соответствовать региональным настройкам вашей таблицы!
Обратите внимание, что мы также можем здесь вписать ее прямо в формулу, а можем использовать ссылку.
Рассчитываем итог продаж за сегодняшний день – 04.02.2020г.
=СУММЕСЛИ(A2:A21;I1;E2:E21)
или же
=СУММЕСЛИ(A2:A21;СЕГОДНЯ();E2:E21)
Рассчитаем за вчерашний день.
=СУММЕСЛИ(A2:A21;СЕГОДНЯ()-1;E2:E21)
СЕГОДНЯ()-1 как раз и будет «вчера».
Складываем за даты, которые предшествовали 1 февраля.
=СУММЕСЛИ(A2:A21;»<«&»01.02.2020»;E2:E21)
После 1 февраля включительно:
=СУММЕСЛИ(A2:A21;»>=»&»01.02.2020″;E2:E21)
А если нас интересует временной интервал «от-до»?
Мы можем рассчитать итоги за определённый период времени. Для этого применим маленькую хитрость: разность функций СУММЕСЛИ. Предположим, нам нужна выручка с 1 по 4 февраля включительно. Из продаж после 1 февраля вычитаем все, что реализовано после 4 февраля.
=СУММЕСЛИ(A2:A21;»>=»&»01.02.2020″;E2:E21) — СУММЕСЛИ(A2:A21;»>=»&»04.02.2020″;E2:E21)
Сумма значений, соответствующих пустым либо непустым ячейкам
Случается, что в качестве условия суммирования нужно использовать все непустые клетки, в которых есть хотя бы одна буква, цифра или символ.
Рассмотрим ещё один вариант использования формулы СУММ ЕСЛИ в таблице Excel, где нам необходимо подсчитать заказы, в которых нет отметки о выполнении, а также сколько было вообще обработанных заказов.
Если критерий указать просто “*”, то мы учитываем для подсчета непустые ячейки, в которых имеется хотя бы одна буква или символ (кроме пустых).
=СУММЕСЛИ(F2:F21;»*»;E2:E21)
Точно такой же результат даёт использование вместо звездочки пары знаков «больше» и «меньше» — <>.
=СУММЕСЛИ(F2:F21;»<>»;E2:E21)
Теперь рассмотрим, как можно находить сумму, соответствующую пустым ячейкам.
Для того, чтобы найти пустые, в которых нет ни букв, ни цифр, в качестве критерия поставьте парные одинарные кавычки ‘’, если значение критерия указано в ячейке, а формула ссылается на неё.
Если же указать на отбор только пустых ячеек в самой формуле СУММ ЕСЛИ, то впишите двойные кавычки.
=СУММЕСЛИ(F2:F21;«»;E2:E21)
Сумма по нескольким условиям.
Функция СУММЕСЛИ может работать только с одним условием, как мы это делали ранее. Но очень часто случается, что нужно найти совокупность данных, удовлетворяющих сразу нескольким требованиям. Сделать это можно как при помощи некоторых хитростей, так и с использованием других функций. Рассмотрим все по порядку.
Вновь вернемся к нашему случаю с заказами. Рассмотрим два условия и посчитаем, сколько всего сделано заказов черного и молочного шоколада.
1. СУММЕСЛИ + СУММЕСЛИ
Все просто:
=СУММЕСЛИ($C$2:$C$21;»*»&H3&»*»;$E$2:$E$21)+СУММЕСЛИ($C$2:$C$21;»*»&H4&»*»;$E$2:$E$21)
Находим сумму заказов по каждому виду товара, а затем просто их складываем. Думаю, с этим вы уже научились работать :).
Это самое простое решение, но не самое универсальное и далеко не единственное.
2. СУММ и СУММЕСЛИ с аргументами массива.
Вышеупомянутое решение очень простое и может выполнить работу быстро, когда критериев немного. Но если вы захотите работать с несколькими, то она станет просто огромной. В этом случае лучшим подходом является использование в качестве аргумента массива критериев. Давайте рассмотрим этот подход.
Вы можете начать с перечисления всех ваших условий, разделенных запятыми, а затем заключить итоговый список, разделенный точкой с запятой, в {фигурные скобки}, который технически называется массивом.
Если вы хотите найти покупки этих двух товаров, то ваши критерии в виде массива будут выглядеть так:
СУММЕСЛИ($C$2:$C$21;{«*черный*»;»*молочный*»};$E$2:$E$21)
Поскольку здесь использован массив критериев, то результатом вычислений также будет массив, состоящий из двух значений.
А теперь воспользуемся функцией СУММ, которая умеет работать с массивами данных, складывая их содержимое.
=СУММ(СУММЕСЛИ($C$2:$C$21;{«*черный*»;»*молочный*»};$E$2:$E$21))
Важно, что результаты вычислений в первом и втором случае совпадают.
3. СУММПРОИЗВ и СУММЕСЛИ.
А если вы предпочитаете перечислять критерии в какой-то специально отведенной для этого части таблицы? Можете использовать СУММЕСЛИ в сочетании с функцией СУММПРОИЗВ, которая умножает компоненты в заданных массивах и возвращает сумму этих произведений.
Вот как это будет выглядеть:
=СУММПРОИЗВ(СУММЕСЛИ(C2:C21;H3:H4;E2:E21))
в H3 и H4 мы запишем критерии отбора.
Но, конечно, ничто не мешает вам перечислить значения в виде массива критериев:
=СУММПРОИЗВ(СУММЕСЛИ(C2:C21;{«*черный*»;»*молочный*»};E2:E21))
Результат, возвращаемый в обоих случаях, будет идентичен тому, что вы наблюдаете на скриншоте.
Важное замечание! Обратите внимание, что все перечисленные выше три способа производят расчет по логическому ИЛИ. То есть, нам нужны продажи шоколада, который будет или черным, или молочным.
Почему СУММЕСЛИ у меня не работает?
Этому может быть несколько причин. Иногда ваше выражение не возвращает того, что вы ожидаете, только потому, что тип данных в ячейке или в каком-либо аргументе не подходит для нее. Итак, вот что нужно проверить.
1. «Диапазон данных» и «диапазон суммирования» должны быть указаны ссылками, а не в виде массива.
Первый и третий атрибуты функции всегда должны быть ссылкой на область таблицы, например A1: A10. Если вы попытаетесь передать что-нибудь еще, например, массив {1,2,3}, Excel выдаст сообщение об ошибке.
Правильно: =СУММЕСЛИ(A1:A3, «цвет», C1:C3)
Неверно : =СУММЕСЛИ({1,2,3}, «цвет», C1:C3)
2. Ошибка при суммировании значений из других листов или рабочих книг.
Как и любая другая функция Excel, СУММЕСЛИ может ссылаться на другие листы и рабочие книги, если они в данный момент открыты.
Найдем сумму значений в F2: F9 на листе 1 книги 1, если соответствующие данные записаны в столбце A, и если среди них содержатся «яблоки»:
=СУММЕСЛИ([Книга1.xlsx]Лист1!$A$2:$A$9,»яблоки»,[Книга1.xlsx]Лист1!$F$2:$F$9)
Однако это перестанет работать, как только Книга1 будет закрыта. Это происходит потому, что области, на которые ссылаются формулы в закрытых книгах, преобразуются в массивы и хранятся в таком виде в текущей книге. А поскольку в аргументах 1 и 3 массивы не допускаются, то формула выдает ошибку #ЗНАЧ!.
3. Чтобы избежать проблем, убедитесь, что диапазоны данных и поиска имеют одинаковый размер.
Как отмечалось в начале этого руководства, в современных версиях Microsoft Excel они не обязательно должны иметь одинаковый размер. Но вот в Excel 2000 и более ранних версиях это может вызвать проблемы. Однако, даже в самых последних версиях Excel сложные выражения, в которых диапазон сложения имеет меньше строк и/или столбцов, чем диапазон поиска, являются капризными. Вот почему рекомендуется всегда иметь их одинакового размера и формы.
Примеры расчета суммы: