3

У меня есть набор данных в Excel с 3084 строк. Мне нужно удалить 4 строки, а затем оставить одну: удалить вторник, среду, четверг, пятницу, но оставить понедельник, чтобы создать еженедельный, а не ежедневный набор данных.

  • Примечание. Данные совпадают с датой, а не с днем недели, поэтому я не могу просто отфильтровать вторники и т.д. [Дата отображается как 14 июня 00 ]).

Есть ли способ сделать это без необходимости вручную проходить и удалять четыре строки за раз?

2 ответа2

8

Выберите ближайший столбец и напишите =MOD(ROW(A1),5) в первом ряду. Это заполнит все строки в этом столбце числами 0-4. Затем просто отфильтруйте строки, которые вы хотите удалить:
Data > Filter > AutoFilter

Изменить: Так как это повторяющаяся дата, вы, вероятно, также можете просто использовать подстановочный знак при фильтрации, то есть 14-*

0

Вы также можете попробовать решение VBA - возможно, потребуется внести незначительные изменения в зависимости от вашей проблемы, но это дает общее представление. Эта подпрограмма предполагает, что активирована первая ячейка в первом ряду, а затем запускается подпрограмма.

Sub sbDelete4Keep1()

    Dim rngProcess As Range
    Dim lCntr As Long
    Set rngProcess = ActiveCell
    lCntr = 1
    While Not IsEmpty(rngProcess.Offset(1, 0))
        Range(rngProcess, rngProcess.Offset(3, 0)).EntireRow.Delete
        Set rngProcess = ActiveCell.Offset(lCntr, 0)
        lCntr = lCntr + 1
    Wend

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .