Hvis du lurer på hvordan noen kan finne hvert niende element i en kolonne. I denne artikkelen vil vi lære hvordan du returnerer hvert n-th element fra en liste. Vi bruker VBA -kode for å finne resultatet.
Spørsmål: Jeg vil at en makrokode skal trekke ut hver niende verdi fra en kolonne. Jeg prøver å trekke verdier fra ett ark / kolonne til et annet ark / kolonne. Jeg prøvde å bruke mange funksjoner som OFFSET, men klarte ikke å finne ut formelen som kan gi resultatet.
La oss ta et eksempel på 100 verdier i kolonne A, og vi vil finne ut hver 10th verdi i kolonne B
Prøveverdiene som starter fra celle A1 lik 1 til celle A100 lik 100; følgende er øyeblikksbildet av dataene i kolonne A:
For å få resultat må vi følge trinnene nedenfor for å starte VB -editor
- Klikk på kategorien Utvikler
- Velg Visual Basic fra kodegruppen
- Kopier koden nedenfor i standardmodulen
Funksjon INDEXN (InputRange As Range, N As Integer) As Variant 'returnerer hvert N-th element fra InputRange' --- Comment 'velg ønsket målområde for funksjonen og' --- Comment 'enter som en array-funksjon med Ctrl +Shift+Enter. ' --- Kommenter Dim ItemList () Som variant, c As Range, i As Long, iCount As Long i = 0 iCount = 0 ReDim ItemList (1 To InputRange.Cells.Count \ N) For hver c In InputRange i = i + 1 Hvis i Mod N = 0 Da iCount = iCount + 1 Ved feil Gjenoppta Neste ItemList (iCount) = c.Value On Error GoTo 0 End If Next c INDEXN = ItemList If InputRange.Rows.Count> = InputRange.Columns.Count Then INDEXN = Application.WorksheetFunction.Transpose (INDEXN) End If Erase ItemList End Function
- For å få hvert nende element i område B1: B10, er formelen
- {= INDEXN ($ A $ 1: $ A $ 100, 10)}
Merk: dette er en matriseformel; Derfor må Ctrl + Shift + End -tastene trykkes sammen
- For å få hver 7th verdi fra område A1: A100; vi vil endre det siste argumentet fra 10 til 7 og formelen blir
- {= INDEXN ($ A $ 1: $ A $ 100, 7)}
På denne måten kan vi returnere hver n-th vare fra ett ark til hovedark.
- Formelen i det andre arket inneholder arkreferanse
- {= INDEXN (Sheet1! $ A $ 1: $ A $ 100, 10)}
Konklusjon: Ved hjelp av brukerdefinert funksjon ovenfor, kan vi ha fleksibilitet til å finne ut hvert nende element fra ett ark til et annet.
Hvis du likte bloggene våre, del den med vennene dine på Facebook. Og du kan også følge oss på Twitter og Facebook. Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre, utfylle eller innovere arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post