Як фільтрувати для кожного 4-го рядка в Excel?


4

У мене є файл Excel (xlsx - MS Office 2010), який має стовпець (Just A) і 3000 рядків.

Я хочу фільтрувати для кожного 4-го рядка.

наприклад:

TEMP -- 1
TEMP -- 2
TEMP -- 3
TEMP -- 4
TEMP -- 5
TEMP -- 6
TEMP -- 7
TEMP -- 8
TEMP -- 9
TEMP -- 10
TEMP -- 11
TEMP -- 12
TEMP -- 13

і я хочу, щоб цей результат:

TEMP -- 4
TEMP -- 8
TEMP -- 12

Відповіді:


4

Найпростішим способом є використання OFFSET функції . Прототип функції виглядає наступним чином:

=OFFSET(range, rows, columns, height, width)

Щоб застосувати це для своєї ситуації, встановіть range до першої комірки даних (використовуйте посилання ABSOLUTE, див. нижче у формулах), rows до зсуву, columns до 0 (оскільки ми не хочемо зміщувати колонку) і, нарешті, встановлюємо height і width до 1 (оскільки ми повертаємо одну клітинку).

Отже, якщо ваші дані наведені вище в стовпці А, ви можете повернути запис 4-го, 8-го і 12-го за допомогою наступних формул:

=OFFSET($A$1,  3, 0, 1, 1)  or  =OFFSET($A$1,  4 - 1, 0, 1, 1) 
=OFFSET($A$1,  7, 0, 1, 1)  or  =OFFSET($A$1,  8 - 1, 0, 1, 1) 
=OFFSET($A$1, 11, 0, 1, 1)  or  =OFFSET($A$1, 12 - 1, 0, 1, 1) 

Зверніть увагу, що ви віднімаєте 1 з кожного, оскільки rows є OFFSET (так, щоб отримати клітинку A4, ви зміщуєте A1 на 3 рядки, а не на 4). Якщо ви введете перші кілька осередків вручну, ви можете скористатися функцією автоматичного заповнення Excel, щоб виконати це автоматично для решти даних.


Ви також можете використовувати INDIRECT формула для досягнення цього. Спочатку створіть новий стовпець із потрібними номерами рядків (наприклад, 1, 5, 9 ...). Потім, у сусідніх стовпцях, покласти формулу =INDIRECT("A" & REF) де REF це клітина ліворуч (з номером рядка), а "A" - стовпець, що містить ваші дані.

Очевидно, ви можете зробити це для будь-якого довільного числа. Отже, якщо в Excel ввести наступне:

    A    B          C
1   D1   4   =INDIRECT("A" & B1)
2   D2   8   =INDIRECT("A" & B2)
3   D3  12   =INDIRECT("A" & B3)
4   D4
5   D5
6   D6
7   D7
8   D8
9   D9
10 D10
11 D11
12 D12

Ви побачите вміст D4, D8, і D12 у стовпці C. Ви можете використовувати автоматичне заповнення, щоб розширити ці формули, наскільки вам потрібно.


Дякуємо, чи так чи інакше його обробляти автоматично ??? Я можу працювати з JAVA, але я хочу виправити це за допомогою Excel, якщо це можливо
Freeman

1
Якщо ви заповните перші три клітинки, виберіть всі три клітинки. У нижньому правому куті виділення буде невеликий чорний квадрат. Натисніть і перетягніть квадрат вниз, і він повинен автоматично продовжувати заповнення формули (і збільшувати зміщення для вас). Ви також можете двічі клацнути на маленькому квадраті, щоб програма Excel автоматично визначила, наскільки далеко вона повинна принести її (залежно від вмісту навколо нього).
Breakthrough

Добре, дякую вам дійсно, я зроблю це !!!
Freeman

1
@MikeRedford також, якщо це не спрацює, ви можете поставити зміщення рядка в іншому стовпці, а потім скористатися автоматичним заповненням Excel (іноді він працює з формулами). Отже, знову скажемо, ваші дані в колонці А. У стовпці B, покладіть 4, 8 і 12, і тоді ви повинні мати можливість автоматично заповнювати, наскільки вам потрібно. Потім у стовпці С першого рядка ставимо формулу =OFFSET($A$1, B1-1, 0, 1, 1). Нарешті, ви зможете автоматично заповнювати цю клітинку, щоб отримати потрібні дані.
Breakthrough

Він працює відмінно, ще раз спасибі & amp; удачі приятель!
Freeman

2

Оператор "модуль", який використовує оператор ROW (), дозволить швидко фільтрувати. У другій колонці додайте формулу, наведену нижче. Зверніть увагу, що я помістив ваші дані, починаючи з 2-го рядка. Тоді все, що потрібно зробити, це фільтр стовпця B на значеннях "0".

enter image description here

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.