Съдържание
Ако имате данни в няколко листа, може да ви се наложи да знаете някои техники за използване на SUMIF В тази статия ще ви запозная с три метода, чрез които ще можете да използвате SUMIF в няколко листа в Excel.
Да речем, че в нашия лист с данни имаме тримесечни продажби от различни търговци в различни листове. Сега искаме да изчислим годишните продажби на различните търговци. За целта трябва да съберем продажбите на различните тримесечия на всеки търговец.
Изтегляне на работна тетрадка за практика
SUMIF в няколко листа.xlsmТри метода за използване на Sumif в няколко листа
Метод 1: Използване на функцията SUMIF за всеки лист
Един от начините за изчисление е да използвате функцията SUMIF Да предположим, че искаме да изчислим годишните продажби на всеки продавач в лист с име Обобщение на продажбите. Въведете следната формула в клетка C5,
=SUMIF("Тримесечие 1"!B5:B9, "Обобщение на продажбите"!B5, "Тримесечие 1"!C5:C9)+SUMIF("Тримесечие 2"!B5:B9, "Обобщение на продажбите"!B5, "Тримесечие 2"!C5:C9)+SUMIF("Тримесечие 3"!B5:B9, "Обобщение на продажбите"!B5, "Тримесечие 3"!C5:C9)
Тук, "Квартал 1′!B5:B9 = Обхват в листа Тримесечие 1 където ще бъдат сравнявани критериите
"Обобщение на продажбите"!B5′ = Критерии
"Квартал 1′!C5:C9 = Обхват в листа Тримесечие 1 откъдето ще се вземе стойността за сумиране.
По подобен начин, SUMIF се използва за всички листове.
След натискане на ВЪВЕЖДАНЕ, ще получите сбора на продажбите на Mark за трите тримесечия в клетката C5.
Изтегляне на продажбите C5 в края на набора от данни и ще получите годишните продажби на всички продавачи.
Прочетете още: SUMIF за множество критерии в различни листове в Excel (3 метода)
Метод 2: Използване на функциите SUMPRODUCT SUMIF и INDIRECT
Без да повтарям SUMIF функция многократно, можете да използвате функцията SUMPRODUCT . SUMIF функция и функцията INDIRECT за да получим същия резултат. Първо, ще вмъкнем името на листа ( тримесечие 1, тримесечие 2, тримесечие 3) в листа, в който ще направим изчислението за годишните продажби.
След това въведете следната формула в клетка C5,
=SUMPRODUCT(SUMIF(INDIRECT("'"&$E$5:$E$7&"'!$B$5:$B$9"),B5,INDIRECT("'"&$E$5:$E$7&"'!$C$5:$C$9")))
Тук, $E$5:$E$7 се отнасят до различни листове за стойностите на тримесечните продажби.
B$5:$B$9 = обхват на търсене за критериите
B5 е критерият ( Марк)
$C$5:$C$9 = обхват за стойността, ако критериите съвпадат.
След натискане на ВЪВЕЖДАНЕ, ще получите сбора на продажбите на Mark за трите тримесечия в клетката C5.
Изтегляне на продажбите C5 в края на набора от данни и ще получите годишните продажби на всички продавачи.
Подобни четива
- SUMIF с множество критерии (5 най-лесни примера)
- Функция SUMIF на Excel за множество критерии (3 метода + бонус)
- Как да комбинирате Excel SUMIF & VLOOKUP в няколко листа
Метод 3: Използване на VBA за сумиране в няколко листа
Ако разполагате с много листове, горните два метода могат да отнемат много време и да бъдат сложни. За да направите изчисленията по-бързи, можете да се възползвате от помощта на Приложения на Visual Basic (VBA) и създайте персонализирана формула.
Първа преса ALT+F11 за да отворите VBA щракнете с десния бутон върху името на листа и изберете Insert> Модул.
Ще се появи прозорец с код.
Копирайте и поставете следния код в този прозорец,
Функция SUMIFOS(lookup_value As Range, ParamArray cellranges() As Variant) Dim i As Integer, rng1 As Variant, temp As Single, a As Boolean Dim rng2 As Variant, value As Variant, j As Single If (UBound(cellranges) + 1) Mod 2 0 Then Exit Function End If For i = LBound(cellranges) To UBound(cellranges) Step 2 If cellranges(i).Rows.Count cellranges(i + 1).Rows.Count Then End If Ifcellranges(i).Columns.Count 1 Then Exit Function End If rng1 = cellranges(i).value rng2 = cellranges(i + 1).value For j = LBound(rng1) To UBound(rng1) For Each value In lookup_value If UCase(rng1(j, 1)) = UCase(value) Then a = True Next value If a = True Then temp = temp + rng2(j, 1) a = False Next j Next i SUMIFOS = temp EndФункция
След това затворете прозореца VBA и въведете следната формула в клетката C5,
=SUMIFOS(B5, "Тримесечие 1"!B5:B9, "Тримесечие 1"!C5:C9, "Тримесечие 2"!B5:B9, "Тримесечие 2"!C5:C9, "Тримесечие 3"!B5:B9, "Тримесечие 3"!C5:C9)
Тук, SUMIFOS е потребителската функция, B5 е стойността за търсене, Квартал 1′!C5:C9 е обхватът за стойността в листа с име Тримесечие 1 и Квартал 1′!B5:B9 е обхватът на критериите в листа с име Тримесечие 1. В тази формула можете да вмъкнете стойността от толкова листа, колкото искате.
След натискане на ВЪВЕЖДАНЕ, ще получите сбора на продажбите на Mark за трите тримесечия в клетката C5.
Изтегляне на продажбите C5 в края на набора от данни и ще получите годишните продажби на всички продавачи.
Прочетете още: SUMIF Multiple Ranges [6 полезни начина]
Заключение
Използването на първия метод не е много удобно за много голямо количество листове, защото ще отнеме много време. Можете да използвате метод 1, ако имате само няколко листа. Но методи 2 и 3 ще бъдат ефикасни за много голямо количество листове.
Ако се сблъскате с някакъв проблем при използването на някой от методите за прилагане на SUMIF в няколко листа, моля, оставете коментар.