|
Find adresse på mindste/største celleAt finde adressen på en celle med et bestemt indhold er ikke noget problem, såfremt man kun skal undersøge en række eller en kolonne. så kan det gøres med en almindelige formel, med funktionen SAMMENLIGN() i kombination med andre funktioner. Skal man fx finde adressen på den celle, der indeholder den mindste værdi i området A1:A10, kan man bruge =ADRESSE(SAMMENLIGN(MIN(A1:A10);A1:A10);1) og for at finde adressen på den celle, der indeholder den største værdi i A1:J1 kan man bruge =ADRESSE(1;SAMMENLIGN(MAKS(A1:J1);A1:J1)) Skal man derimod finde den mindste eller største værdi i området A1:J10, går det ikke helt så let. Det skyldes at SAMMENLIGN() ikke kan arbejde på to-dimensionelle områder. Det er muligt, ved hjælp af indtil fire navngivne områder, og formler med omkring 19-20 indbyggede funktioner, heraf op til 7 indlejringsniveauer, at lav e en formelløsninger, der gælder for kvadratiske celleområder, men ikke for rektangulære. I stedet kan man anvende nedenstående brugerdefinerede funktion.
Function MinMaksAdr(rn As
Range, fnc As Byte) As String
Dim Fct As Single Select Case fnc Case Is = 1 Fct = Application.WorksheetFunction.Min(rn) Case Is = 2 Fct = Application.WorksheetFunction.Max(rn) End Select For Each c In Range("B1:F11").Cells If c.Value = Fct Then FuncAdr = c.Address Exit Function End If Next End Function Den anvendes som alle andre funktioner, fx =MinMaksAdr(A1:J10;1). Tallet i det sidste argument, fortæller om den skal finde den største værdi eller den mindste. 1 finder adressen på cellen med mindste værdi, 2 den med største. Funktionen kan forholdsvis let udbygges med andre ting ved at indsætte nye Case Is linjer. Ligesom de to indbyggede funktioner, vil denne funktion kun finde den første, hvis der er flere identiske største/mindste værdier. Da funktionen er baseret på For...Each...Nect er rækkefølgen at alle kolonner i første række gennemsøges, dernæst alle kolonner i næste række og så fremdeles. Står der derfor to ens "mindste" værdier i H1 og A2, vil den finde adressen på den værdi, der står i H1. |