Как выбрать четные "нечетные" строки
Модератор: Naeel Maqsudov
На основании одного столбца надо создать 2 других в одном четные строки исходного а в др нечетные строки.
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
я бы добавил ещё один столбец, в нёго записал формулу
=ОСТАТ(СТРОКА(B1);2)
потом по нему отсортировал (или тупо отфильтровал)
и ручками скопировал данные - сначала нечётные, потом чётные...
это если работа разовая.
Если нужно делать такое постоянно - то можно либо через ссылки на строки, либо макросом перенести данные...
=ОСТАТ(СТРОКА(B1);2)
потом по нему отсортировал (или тупо отфильтровал)
и ручками скопировал данные - сначала нечётные, потом чётные...
это если работа разовая.
Если нужно делать такое постоянно - то можно либо через ссылки на строки, либо макросом перенести данные...
Столбец D=1,2,3,4
=ИНДЕКС(A:A;(D1-1)*2+1)
=ИНДЕКС(A:A;(D1)*2)
=ИНДЕКС(A:A;(D1-1)*2+1)
=ИНДЕКС(A:A;(D1)*2)
А как это же записать в виде макроса?
т.к. частая операция.
только нужно что бы получилось 2 столбца
1 четные 2 нечетные
т.к. частая операция.
только нужно что бы получилось 2 столбца
1 четные 2 нечетные
Пусть данные расположены в столбце "A", начиная с ячейки "A1".
Результат разделения четных и нечетных строк расположить в столбцах "A" и "B".
Можно так:
Пример во вложении. Откройте файл и запустите макрос "Main".
Результат разделения четных и нечетных строк расположить в столбцах "A" и "B".
Можно так:
Код: Выделить всё
Sub Main()
Dim i As Long, j As Long, a()
Application.ScreenUpdating = False: j = 1
ReDim a(1 To Fix(Cells(Rows.Count, 1).End(xlUp).Row / 2) + 1, 1 To 2)
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row Step 2
a(j, 1) = Cells(i, 1): a(j, 2) = Cells(i + 1, 1): j = j + 1
Next
[A:B].ClearContents
[A1].Resize(UBound(a, 1), UBound(a, 2)).Value = a
End Sub