powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как отобрать каждую четвертую ячейку в XLS?
15 сообщений из 15, страница 1 из 1
Как отобрать каждую четвертую ячейку в XLS?
    #34634915
Leonid Dergalev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо осуществить выборку из ячеек столбца по условию: каждая четвертая ячейка - подскажите, как сделать?
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34634999
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid DergalevНеобходимо осуществить выборку из ячеек столбца по условию: каждая четвертая ячейка - подскажите, как сделать?
Подробнее опишите!
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635036
Leonid Dergalev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть лист XLS в нем в одном столбце в ячейках с закономерностью 3 ячейки подряд 1 ячейка пропуск снова 3 ячейки, находятся данные. 1-ая, 5-ая, 9-ая и т.д. - один признак, 2-ая, 6-ая, 10-ая - другой признак и т.д.
Нужно выделить в другую таблицу в один столбик все данные из 1-ой, 5-ой (и т.д. с шагом заданная + 4 ячейки), в другой из 2-ой, 6-ой и т.д.
В общем нужно скопировать ячейки с шагом 4 ячейки.
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635065
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я решил, что Вы спрашиваете, как сделать фильтр, по каждой четвёртой строке?
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635104
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ячейку A1 на Лист1 :

Начать с первой ячейки с шагом в 4:
=ИНДЕКС(Лист2!A:A;(СТРОКА()-1)*4+1)

Начать со второй ячейки с шагом в 4:
=ИНДЕКС(Лист2!A:A;(СТРОКА()-1)*4+2)

Ячейку A1 растянуть вниз конечно!

и можно ещё своих комбиначий кучу придумать
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635109
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_а я решил, что Вы спрашиваете, как сделать фильтр, по каждой четвёртой строке?

+1 но потом усомнился. Типичный пример когда название топика не соответствует содержимому внутри (вернее даже противоречит), вот и усомнился...:-)
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635116
Leonid Dergalev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошу прощения господа, но это и есть фильтр для копирования.
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635136
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот мой вариантик, правда не такой компактный как у Deggasad, но тоже работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Макрос1()
Dim lst As Range, i, j, RowMax
j =  0 
Set lst = ThisWorkbook.Worksheets("Лист1").UsedRange
With lst
    RowMax = .Rows.Count + .Row -  1 
    For i =  1  To RowMax
        If (i Mod  4 ) =  0  Then
            j = j +  1 
            .Cells(j,  2 ) = .Cells(i,  1 )
        End If
    Next
End With
Set lst = Nothing
End Sub
может чего лишнего написал, если не лень подправьте
мне самому интересно, как это код можно написать компактнее?
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635163
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Dergalevпрошу прощения господа, но это и есть фильтр для копирования.

Ты окончательно всех запутал. Для расширенного фильтра тебе условие нужно что ли?
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635170
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и не представляю, как в условии фильтра можно такое написать!
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635174
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_а вот мой вариантик, правда не такой компактный как у Deggasad, но тоже работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Макрос1()
Dim lst As Range, i, j, RowMax
j =  0 
Set lst = ThisWorkbook.Worksheets("Лист1").UsedRange
With lst
    RowMax = .Rows.Count + .Row -  1 
    For i =  1  To RowMax
        If (i Mod  4 ) =  0  Then
            j = j +  1 
            .Cells(j,  2 ) = .Cells(i,  1 )
        End If
    Next
End With
Set lst = Nothing
End Sub
может чего лишнего написал, если не лень подправьте
мне самому интересно, как это код можно написать компактнее?

Лучше скопировать лист, сохранить всё как значения, выделить все строки не удовлетворяющие условию (!только не цикл!) и удалить!
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635204
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Dergalev1-ая, 5-ая, 9-ая и т.д. - один признак, 2-ая, 6-ая, 10-ая - другой признак и т.д.а эти признаки как-нибудь отражены на листке?
По ним бы и фильтровать
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635295
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_и не представляю, как в условии фильтра можно такое написать!

1,5,9
=ОСТАТ((СТРОКА(A1)-1);4)=0

Но только зачем этот гиморой
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635388
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad =ОСТАТ((СТРОКА(A1)-1);4)=0 понял, спасибо.
...
Рейтинг: 0 / 0
Как отобрать каждую четвертую ячейку в XLS?
    #34635460
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad klen_и не представляю, как в условии фильтра можно такое написать!

1,5,9
=ОСТАТ((СТРОКА(A1)-1);4)=0

Но только зачем этот гиморой


Вернее будет так:
В первой строке (A1) у нас должно быть наименование столбца, значит отбор будет выглядеть
1,5,9,13,17
=ОСТАТ((СТРОКА(A2));4)=1
2,6,10,14,18
=ОСТАТ((СТРОКА(A2));4)=2
3,7,11,15,19
=ОСТАТ((СТРОКА(A2));4)=3
4,8,12,16,20
=ОСТАТ((СТРОКА(A2));4)=0
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как отобрать каждую четвертую ячейку в XLS?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]