Nel caso ti stia chiedendo come qualcuno possa trovare ogni ennesimo elemento in una colonna. In questo articolo impareremo come restituire ogni n-esimo articolo da un elenco. Useremo il codice VBA per trovare il risultato .

Domanda: voglio un codice macro per estrarre ogni ennesimo valore da una colonna. Sto cercando di estrarre i valori da un foglio / colonna in un altro foglio / colonna. Ho provato a utilizzare molte funzioni come OFFSET ma non sono riuscito a capire la formula che può dare il risultato.

Facciamo un esempio di 100 valori nella colonna A e vogliamo trovare ogni 10 ^ esimo ^ valore nella colonna B I valori campione a partire dalla cella A1 uguale a 1 fino alla cella A100 uguale a 100; seguente è l’istantanea dei dati nella colonna A:

img1

Per ottenere il risultato, dobbiamo seguire i passaggi seguenti per avviare l’editor VB Fare clic sulla scheda Sviluppatore Dal gruppo Codice, selezionare Visual Basic

img2

  • Copia il codice seguente nel modulo standard

Function INDEXN(InputRange As Range, N As Integer) As Variant

' returns every N-th item from InputRange' --- Comment

' select the desired target range for the function and' --- Comment

' enter as an array function with Ctrl+Shift+Enter.' --- Comment

Dim ItemList() As Variant, c As Range, i As Long, iCount As Long

i = 0

iCount = 0

ReDim ItemList(1 To InputRange.Cells.Count \ N)

For Each c In InputRange

i = i + 1

If i Mod N = 0 Then

iCount = iCount + 1

On Error Resume Next

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

img3

Per ottenere ogni ennesimo elemento nell’intervallo B1: B10, la formula è \ {= INDEXN ($ A $ 1: $ A $ 100, 10)} Nota: questa è una formula di matrice; quindi, i tasti Ctrl + Maiusc + Fine devono essere premuti insieme

img4

Per ottenere ogni 7 ^ esimo ^ valore dall’intervallo A1: A100; cambieremo l’ultimo argomento da 10 a 7 e la formula sarà \ {= INDEXN ($ A $ 1: $ A $ 100, 7)}

img5

In questo modo, possiamo restituire ogni n-esimo articolo da un foglio a un foglio principale.

La formula in un altro foglio conterrà il riferimento al foglio \ {= INDEXN (Sheet1! $ A $ 1: $ A $ 100, 10)}

img6

Conclusione: con l’aiuto della funzione definita dall’utente sopra, possiamo avere la flessibilità di scoprire ogni ennesimo elemento da un foglio all’altro.

image 48

Se i nostri blog ti sono piaciuti, condividilo con i tuoi amici su Facebook. Puoi anche seguirci su Twitter e Facebook. Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare, integrare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]