[Обновление: решение формулы]
введите это значение в D1 и скопируйте на 2/3 длину столбца C = IF (MOD (ROW (), 2) = 1, OFFSET ($ C $ 1, INT (СТРОКА () / 2) * 3 + 1,0), OFFSET ($ C $ 1, INT (СТРОКА () / 2) * 3-1,0))
[исходное сообщение]
Я использовал вариантный массив, так как он более эффективен (хотя и немного сложнее), чем цикл
ВКороче говоря, вы искали функцию Mod, где (Row-1) Mod 3 = 0 следует исключить
т.е. исключить позицию 1,4,7 и т. д.
Этот код выводит выходные данные изот столбца C до D. Он будет обслуживать столько же значений, что и в C (обратите внимание, я установил диапазон c, глядя вверх снизу, а не сверху, поэтому пробелы не проходят через код)
Sub GetValues()
Dim rng1 As Range
Dim lngCnt As Long
Dim lngCnt2 As Long
Dim X
Dim Y
Set rng1 = Range([c1], Cells(Rows.Count, "C").End(xlUp))
X = rng1
ReDim Y(1 To 2 / 3 * rng1.Cells.Count, 1 To 1)
For lngCnt = 1 To UBound(X, 1)
If (lngCnt - 1) Mod 3 <> 0 Then
lngCnt2 = lngCnt2 + 1
Y(lngCnt2, 1) = X(lngCnt, 1)
End If
Next
[d1].Resize(UBound(Y, 1), 1) = Y
End Sub]
