Excel-formel: Lägsta värde om det är unikt -

Generisk formel

=MIN(UNIQUE(range,0,1))

Sammanfattning

För att hitta det minsta unika värdet i en uppsättning data kan du använda UNIQUE-funktionen tillsammans med MIN-funktionen. I exemplet nedan är formeln i E5:

=MIN(UNIQUE(data,0,1))

där "data" är det namngivna området B5: B14.

I äldre versioner av Excel kan du använda en matrisformel baserad på funktionerna MIN, IF och COUNTIF enligt nedan.

Förklaring

Målet i detta exempel är att returnera det minsta värde som är unikt, dvs. det minsta värde som bara förekommer en gång i data.

UNIQUE-funktionen, ny i Excel 365, returnerar en unik lista över värden från en uppsättning data. Som standard är detta en lista över valfritt värde som förekommer en eller flera gånger i data.

UNIQUE har ett valfritt tredje argument som kallas "exact_once" som begränsar resultaten till värden som bara förekommer en gång i källdata. För att aktivera den här funktionen måste argumentet ställas in på SANT eller 1.

Arbetar inifrån och ut, UNIQUE-funktionen är konfigurerad så här:

UNIQUE(data,0,1)

För array, vi ger avstånds heter uppgifterna . För argumentet by_col använder vi noll (0), eftersom vi vill ha unika värden efter rader, inte kolumner. Slutligen, för exakt en gång, tillhandahåller vi 1, eftersom vi bara vill ha värden som förekommer bara en gång i källdata.

Konfigurerat på detta sätt returnerar UNIQUE de fyra värdena som bara visas en gång:

(700;600;500;300) // result from unique

Denna matris returneras direkt till MIN-funktionen, som returnerar minimivärdet 300 som slutresultat:

=MIN((700;600;500;300)) // returns 300

Arrayformel med COUNTIF

Om du använder en version av Excel utan UNIQUE-funktionen kan du hitta det minsta unika värdet med en matrisformel baserad på COUNTIF-, MIN- och IF-funktionerna.

(=MIN(IF(COUNTIF(data,data)=1,data)))

Detta är en matrisformel och måste anges med kontroll + shift + enter, utom i Excel 365.

Arbetar inifrån och ut, COUNTIF-funktionen används för att generera ett antal av varje värde i data så här:

COUNTIF(data,data) // count all values

Eftersom det finns 10 värden i det namngivna området uppgifter , COUNTIF returnerar en array av 10 resultat:

(2;1;1;2;1;2;2;2;1;2)

Denna matris innehåller antalet värden. Därefter testar vi matrisen för värden lika med 1:

(2;1;1;2;1;2;2;2;1;2)=1

Återigen får vi en matris med 10 resultat:

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

Varje SANT värde motsvarar ett värde i källdata som inträffar bara en gång. Denna matris levereras direkt till IF-funktionen, som använder den som ett filter. Endast värden i data som är associerade med SANT gör det till den array som returneras av IF, alla andra värden är FALSE.

(FALSE;700;600;FALSE;500;FALSE;FALSE;FALSE;300;FALSE)

Denna matris returneras direkt till MIN-funktionen som automatiskt ignorerar logiska värden och returnerar minsta återstående värden, 300, som ett slutresultat.

Intressanta artiklar...