Прескочи на основното съдържание

Как да осредня клетките въз основа на множество критерии в Excel?

Автор: Xiaoyang Последна промяна: 2020-05-19

В Excel повечето от нас може да са запознати с функциите COUNTIF и SUMIF, те могат да ни помогнат да броим или сумираме стойности въз основа на критерии. Но опитвали ли сте някога да изчислите средната стойност на стойностите въз основа на един или повече критерии в Excel?

Средни клетки въз основа на един критерий с функция Averageif

Средни клетки въз основа на множество критерии с функция Averageifs


стрелка син десен балон Средни клетки въз основа на един критерий с функция Averageif

Да предположим, че имам следния диапазон от данни, колона A е списъкът с продукти, а колона B е поръчките, сега ще осредня клетките за поръчки, където продуктът е KTE.

doc-avergae-с-критерии-1

Моля, въведете тази формула в желаната от вас клетка: =AVERAGEIF(A2:A19,D2,B2:B19), (A2: A19 са данните, които съдържат критериите, B2: B19 се отнася за диапазона, който искате да усредните и D2 е критерият, на който искате да осредните стойностите) и натиснете Въведете ключ, за да получите резултата, вижте екранната снимка:

doc-avergae-с-критерии-2


стрелка син десен балон Средни клетки въз основа на множество критерии с функция Averageifs

Ако искате да изчислите средна стойност с множество критерии, Средни стойности функция може да ви помогне.

Синтаксисът на Averageifs, както следва:

AVERAGEIFS(среден_диапазон,критерий_диапазон1,критерий1,критерий_диапазон2,критерий2…)

  • Среден_диапазон: е диапазонът от клетки за осредняване;
  • Критерий_обхват1, критерии_диапазон2, … са диапазоните, в които да се оценят свързаните критерии;
  • Критерии1, критерии2, … са критерии, на които се основавате.

Вземете горните данни например, сега искам да осредня реда на KTE и реда, по-голям от 500. Моля, направете следното:

Въведете тази формула в празна клетка: =AVERAGEIFS(B2:B19,A2:A19,E1,B2:B19,">500")( A2: A19 са данните, които съдържат критериите1, B2: B19 се отнася до диапазона, който искате да осредните, E1 намлява > 500 са критериите 1 и критериите 2), след което натиснете Въведете ключ, за да получите желания резултат. Вижте екранна снимка:

doc-avergae-с-критерии-3

Забележка: Ако имате повече от два критерия, които искате, просто трябва да добавите диапазоните на критериите и критериите, от които се нуждаете, както следва: =СРЕДНОIFS(C2:C19, A2:A19, F1, B2:B19, F2, C2:C19, "<500"), (A2: A19 намлява F1 са първият диапазон от критерии и критерии, B2: B19 намлява F2 са втората гама от критерии и критерии, C2:C19 намлява <500 са трета критерии диапазон и критерии, C2:C19 се отнася за диапазона Вие искате да осредните стойностите), вижте екранната снимка:

doc-avergae-с-критерии-4


Още по темата:

Как да осредните горните или долните 3 стойности в Excel?

Как да осредним последните 5 стойности на колона като нови числа?

Как да осредня всеки 5 реда или колони в Excel?

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (16)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, I'm trying to create an average only if the row meets criteria in other columns. I need to only include the number in column J if that row has a "B" in column F and a "M" in column E. I've worked out the formula if it's only one condition:

=AVERAGEIF(F2:F114, "B", J2:J114)

But I can't work out how to get it to only average numbers in column J that meet both conditions?
This comment was minimized by the moderator on the site
Hello, Sally
To calculate the average based on multiple criteria, you can apply the AVERAGEIFS function, please use the below formula:
=AVERAGEIFS(J2:J114, F2:F114, "B", E2:E114, "M" )

Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Thanks so much, this worked perfectly!
This comment was minimized by the moderator on the site
What formula would I use if I wanted to get my averages for a month but not count the days that are zero (0)? I am keeping track of my monthly electric usage but need to get an average even before the end of the months. Any ideas or help?
This comment was minimized by the moderator on the site
Hello, TFkidd
To solve your problem, please apply the below formula:
=AVERAGE(IF(B2:B31<>0,B2:B31))
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Hi there
I am trying to calculate percentage of people from across 4 regions (entered in column b)
and percentage by ethnicity (entered in column D)
I can calculate the average age and percentage of ages, but I can't seem to find a formula to calculate the regions and ethnicity. Any suggestions would be appreciated, thanks Tracy
This comment was minimized by the moderator on the site
To get an average of data in a column with multiple criteria the following formulae may be used.

Syntax = AVERAGEIFS (Range, Range 1, criteria 1, range 2, criteria 2)

In this case, my requirement is to find the average of the data in a range of numbers, without considering '0 - Zero' & values greater that '3000'.

Total data in the range is 31 nos ,

And the formulae will be

=AVERAGEIFS(G5:G35,G5:G35, "> 3000", G5:G35,"<>0")
This comment was minimized by the moderator on the site
I have 4 variables: 1st: Date of onset, 2nd: Date of termination, 3rd: Date of measurement, 4th: measurement. I want to calculate the average of the 4th variable between each period of onset-termination. How can i do it? I think its a bit tricky. Each date of onset has an counterpart date of termination. The same applies for the 3rd and 4th variable.
How can i make this happen?
This comment was minimized by the moderator on the site
VBA code to average one or more ranges of nonzero numbers:


Option Explicit
Function avgNonZeros(ParamArray rangeList() As Variant) As Variant
'Returns the average for all nonzeros of rangeList.
'rangeList may be one or multiple ranges.
Dim cell As Range
Dim i As Long
Dim totSum As Long
Dim cnt As Long
DoEvents 'allows calculations prior to performing
avgNonZeros = 0 'default return
For i = LBound(rangeList) To UBound(rangeList)
For Each cell In rangeList(i)
If cell <> 0 Then
totSum = totSum + cell
cnt = cnt + 1
End If
Next cell
Next i
If cnt <> 0 Then avgNonZeros = totSum / cnt
End Function
This comment was minimized by the moderator on the site
Hi,
I have 200 observations. I need to get an average of 21st to 40th observations. I am struggling to set an averageif formula. Any suggestion will be appreciated.
This comment was minimized by the moderator on the site
I have a similar problem like example #3, but the difference is that I need the average between two dates instead of for a single month. Any suggestion?
This comment was minimized by the moderator on the site
Hello, Crist,

To solve your problem, please apply the below formula:
=AVERAGEIFS(C2:C15, A2:A15, F1, B2:B15, ">=" &F2, B2:B15, "<=" &G2, C2:C15, ">300")

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Hi there,


My is Pablo and I would like to ask you about this situation. I have got a column with several values and some of them are zeros. As they are dB measurements this is the array formula I use to get the average: =10*LOG(AVERAGE(10^(C3:C66/10)))

My problem is that I am trying to get with a formula that does not take in account the zeros.

I have tried the next formula but it seems that does not work for my situation: =10*LOG(AVERAGEif(C3:C66,"<>0",[10^(C3:C66/10)]))

It would be very apprecited if you could give me a hint to solve this problem.

Thank you in advance,

Pablo.
This comment was minimized by the moderator on the site
I want to take numbers in multiple columns and combine them into one average. I have three columns to average, I want two of the columns to count for 40% each and the remaining column to count for 20%. Is this possible? Thanks!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations