Как я могу сохранить каждую пятую строку в Excel

4054
Aaron

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

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

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

3

2 ответа на вопрос

8
micke

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

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

Возможно изменение - попробуйте функцию WEEKDAY, например = WEEKDAY (A1) в соседнем столбце, затем отфильтруйте по 2 в этом столбце (понедельник = 2) barry houdini 12 лет назад 1
работал как шарм, спасибо Aaron 12 лет назад 0
Аарон, обязательно уточни этот ответ, чтобы сделать его «Принятым» ответом. Jerry Beaucaire 12 лет назад 1
0
Mozan Sykol

Вы также можете попробовать решение 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 

Похожие вопросы