Excel-formel: Maxvärde på given veckodag -

Generisk formel

(=MAX(IF(TEXT(dates,"ddd")="Mon",values)))

Sammanfattning

För att hitta det maximala värdet på en given vardag (dvs. måndag, tisdag, onsdag, etc.) kan du använda en enkel matrisformel baserad på MAX-, IF- och TEXT-funktionerna. I exemplet som visas är formeln i cell F5:

=MAX(IF(TEXT(dates,"ddd")=F4,values))

Där datum (B5: B15) och värden (C5: C15) heter intervall.

Obs: detta är en matrisformel och måste anges med Control + Shift + Enter.

Förklaring

Arbetar inifrån och ut, TEXT-funktionen används för att extrahera ett veckodagsvärde för varje datum:

=TEXT(dates,"ddd")

Detta resulterar i en array som denna:

("Mon";"Tue";"Wed";"Thu";"Fri";"Mon";"Tue";"Wed";"Thu";"Fri";"Mon")

som sedan jämförs med texten i F4, "Mon". Resultatet är en annan matris som bara innehåller SANT och FALSKT:

(TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE)

Observera att varje SANT motsvarar en måndag. Denna matris returneras i IF-funktionen som det logiska testet. Det fungerar som ett filter för att avskärma värden på andra veckodagar. Det slutliga resultatet från IF, som returneras direkt till MAX-funktionen, ser ut så här:

=MAX((85;FALSE;FALSE;FALSE;FALSE;94;FALSE;FALSE;FALSE;FALSE;52))

MAX ignorerar automatiskt FALSE-värden och returnerar det högsta återstående värdet, 94.

Med AGGREGATE

För en lite mer nördig formel som inte kräver kontroll + shift + enter, kan du använda AGGREGATE-funktionen så här:

=AGGREGATE(14,6,values/(TEXT(dates,"ddd")=F4),1)

Detta är formeln som används i cell F6 i exemplet som visas. Här ger vi AGGREGATE 14 för funktionsargumentet (LARGE) och 6 för optionargumentet (ignorerar fel). Sedan bygger vi ett logiskt uttryck med hjälp av TEXT-funktionen för att kontrollera alla datum för måndagar. Resultatet av denna operation är en matris med SANT / FALSKA värden, som blir nämnaren för de ursprungliga värdena. När den används i en matematisk operation utvärderas FALSE som noll och kastar ett # DIV / 0! fel. TRUE utvärderas som 1 och returnerar det ursprungliga värdet. Den slutliga matrisen av värden och fel fungerar som ett filter. AGGREGATE ignorerar alla fel och returnerar det största (maximala) av de överlevande värdena.

MAXIFS

MAXIFS-funktionen, tillgänglig i Excel Office 365, kan returnera ett maxvärde med hjälp av ett eller flera kriterier utan att det behövs en matrisformel. MAXIFS är dock en rangbaserad funktion och tillåter inte andra funktioner som TEXT att bearbeta värden i kriterieområden. Du kan dock lägga till en hjälpkolumn i data, generera vardagsvärden med TEXT och sedan använda MAXIFS med hjälpkolumnen som kriterium.

Intressanta artiklar...