Как извлечь данные из Excel на основе критериев (5 способов)

  • Поделись Этим
Hugh West

Иногда нам может понадобиться найти определенные данные для работы. Но когда набор данных огромен, очень трудно найти то, что мы ищем. В этой статье мы покажем вам, как извлечение данных из Excel на основе различных критериев.

Скачать шаблон практики

Бесплатный практический шаблон Excel можно скачать отсюда.

Извлечение данных на основе критериев.xlsx

5 способов извлечения данных из Excel на основе критериев

В этом разделе будут рассмотрены 5 различных способов извлечения данных из Excel на основе определенных критериев.

1. Реализация формулы массива для извлечения данных из Excel на основе критериев диапазона

На примере следующего набора данных мы опишем вам процесс извлечения данных на основе диапазона. Предположим, у нас есть набор данных с данными о студентах, из которого мы хотим извлечь только данные о студентах, которые получили Марки от 80 до 100 .

Шаги по извлечению данных на основе определенного диапазона с использованием Массив формулы приведены ниже.

Шаги:

  • Сначала сохраните условие в других ячейках, чтобы работать с ними позже. Это означает, что мы будем извлекать данные студентов, которые получили Марки от 80 до 100 мы сохранили 80 как начальное значение и 100 как конечное значение в Клетки I4 и I5 соответственно.

Также нам нужно сохранить столбец, в котором мы будем искать наши сохраненные значения. Например, метки 80 и 100 находятся в столбце Колонка марок который является 3-я колонка в нашем наборе данных, поэтому мы сохранили 3 как значение столбца в Ячейка I6 .

  • Во-вторых, в другой ячейке, где вы хотите получить результат (мы хотели получить результат в ячейке Ячейка G11 ), напишите следующую формулу,
  • =INDEX($B$5:$E$14,SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),""),ROWS(G11:$G$11)),COLUMNS($A$1:A1)))

    • В-третьих, нажмите Ctrl + Shift + Enter на клавиатуре.

    Затем в ячейке результата вы получите первые извлеченные данные, соответствующие вашему условию. Например. Джонни чей ID это 3 получил 80 марок в Биология и его запись хранится в наборе данных раньше других, поэтому мы получили Удостоверение Джонни 3 в ячейке результата.

    • Теперь перетащите столбцы и строки по Наполнительная рукоятка чтобы получить данные только тех студентов, которые получили Марки от 80 до 100 .

    Разбивка формулы

    • INDEX($B$5:$E$14,,$I$6)
      • Output: {60;30;80;55;87;95;100;42;25;18}
      • Пояснение: Функция ИНДЕКС обычно возвращает одно значение или целый столбец или строку из заданного диапазона ячеек. 3 хранится в Клетка $I$6 , поэтому возвращается весь столбец нет 3 ( Маркс столбец) из всего диапазона набора данных ( $B$5:$E$14 ) на выходе.
    • INDEX($B$5:$E$14,,$I$6)<=$I$5 -> становится,
      • {60;30;80;55;87;95;100;42;25;18}<=100
      • Выход: {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
      • Объяснение: Мы хранили 100 в Ячейка $I$5 Поскольку все значения меньше 100 ($I$5) поэтому он возвращает столбец, полный TRUE .

    Аналогично,

    • INDEX($B$5:$E$14,,$I$6)>=$I$4 -> становится,
      • { 60;30;80;55;87;95;100;42;25;18}>=80
      • Выход: {FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE}
      • Объяснение: Мы хранили 80 в Клетка $I$4 . Поэтому он возвращается TRUE когда значение из колонки равно или больше 80 ; в противном случае возвращается FALSE .
    • (INDEX($B$5:$E$14,,$I$6)=$I$4) -> становится,
      • {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}*{FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE}
      • Выход: {0;0;1;0;1;1;1;1;0;0;0}
      • Объяснение: Булевы значения имеют числовые эквиваленты, ИСТИНА = 1 и FALSE = 0 (ноль) Они преобразуются при выполнении арифметической операции в формуле.
    • ROW($B$5:$E$14)
      • Output: {5;6;7;8;9;10;11;12;13;14}
      • Объяснение: Функция ROW вычисляет номер строки для ссылки на ячейку.
    • MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)) -> становится,
      • MATCH({5;6;7;8;9;10;11;12;13;14},{5;6;7;8;9;10;11;12;13;14})
      • Выход: {1; 2; 3; 4; 5; 6; 7; 8; 9; 10}
      • Объяснение: Функция MATCH возвращает относительную позицию элемента в массиве или ссылку на ячейку, которая соответствует заданному значению в определенном порядке.
    • IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),"") -> становится,
      • ЕСЛИ( {0;0;1;0;1;1;1;0;0;0}), {1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • Выход: {""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""}
      • Объяснение: Функция IF возвращает одно значение, если логический тест TRUE и другое значение, если логический тест FALSE .
    • SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),""),ROWS(G11:$G$11))) -> становится,
      • SMALL({""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""},ROWS(G11:$G$11)) -> становится,
      • SMALL({""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""},1)
      • Выход: 3
      • Объяснение: Функция SMALL возвращает k-й наименьшее значение из группы чисел. 3 является самым маленьким в этой группе.
    • INDEX($B$5:$E$14,SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),""),ROWS(G11:$G$11)),COLUMNS($A$1:A1))) -> становится,
      • ИНДЕКС($B$5:$E$14,3,,1)
      • Выход: {3; "Джонни", 80, "Биология"}
      • Объяснение: Сайт ИНДЕКС Функция возвращает значение из диапазона ячеек( $B$5:$E$14 ), задается значением, основанным на номере строки и столбца.

    Читать далее: Как извлечь данные из ячейки в Excel (5 методов)

    2. Реализация формулы массива для извлечения данных из Excel на основе нескольких условий

    В предыдущем разделе мы извлекли данные на основе заданного диапазона. Но в этом разделе мы покажем вам, как извлекать данные на основе нескольких условий.

    Посмотрите на тот же набор данных, что и раньше, но здесь вместо хранения диапазона значений (Марки от 80 до 100) в качестве условия, мы сохранили несколько условий, таких как получение данных студентов из оба факультета - химический и биологический .

    Шаги по извлечению данных на основе нескольких условий с использованием Массив формулы приведены ниже.

    Шаги:

    • Во-первых, сохраните условия в других ячейках, чтобы работать с ними позже. То есть, поскольку мы будем извлекать данные студентов из Химия и Биология отделы, мы хранили Химия и Биология в Клетки H5 и H6 соответственно.
    • Во-вторых, в другой ячейке, где вы хотите получить результат (мы хотели получить результат в ячейке Ячейка G11 ), напишите следующую формулу,
    =INDEX($B$5:$E$14, SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), ""), ROWS(G11:$G$11)), COLUMNS($B$5:B5))

    • В-третьих, нажмите Ctrl + Shift + Enter на клавиатуре.

    Позже вы получите первые извлеченные данные, которые соответствуют вашим условиям, в ячейке результата. Например. Джонни чей ID это 3 из Биологический факультет и его запись хранится в наборе данных раньше других, поэтому мы получили Удостоверение Джонни 3 в ячейке результата.

    • Теперь перетащите столбцы и строки по Наполнительная рукоятка чтобы получить данные только тех студентов, которые из Департамент из Химия и Биология .

    Разбивка формулы

    • COUNTIF($H$5:$H$6,$E$5:$E$14) -> становится,
      • COUNTIF({"Химия"; "Биология"},{"Математика"; "Физика"; "Биология"; "Химия"; "Физика"; "Физика"; "Математика"; "Химия"; "Математика"; "Биология"}.
      • Выход: {0;0;1;1;0;0;0;1;0;1}
      • Объяснение: Функция COUNTIF позволяет определить ячейки в диапазоне $H$5:$H$6 что равно $E$5:$E$14 .
    • IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "") -> становится,
      • IF({0;0;1;1;0;0;0;1;0;1},MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "") -> становится,
      • IF({0;0;1;1;0;0;0;1;0;1},{ 1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • Выход: {""; ""; 3; 4; ""; ""; ""; 8; "";10}
      • Объяснение: Сайт ЕСЛИ Функция имеет три аргумента, первый из которых должен быть логическим выражением. Если выражение оценивается как TRUE то происходит одно (аргумент 2), а если FALSE происходит другое (аргумент 3). Логическое выражение было вычислено на шаге 1, TRUE равно 1 и FALSE равно 0 (ноль) . Ряда нет 3, 4, 8 и 10 оценить ИСТИНА (1) .
    • SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), ""), ROWS(G11:$G$11)) -> становится,
      • SMALL({""; ""; 3; 4; ""; ""; "";"; 8; "";10},ROWS(G11:$G$11)) -> становится,
      • SMALL({""; ""; 3; 4; ""; ""; ""; 8; "";10},1)
      • Выход: 3
      • Объяснение: Сайт МАЛЕНЬКИЙ функция возвращает k-й наименьшее значение из группы чисел. 3 является самым маленьким в этой группе.
    • INDEX($B$5:$E$14, SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), ""), ROWS(G11:$G$11)), COLUMNS($B$5:B5)) -> становится,
      • INDEX($B$5:$E$14, 3, COLUMNS($B$5:B5)) -> становится,
      • INDEX($B$5:$E$14, 3, 1)
      • Выход: {3; "Джонни", 80, "Биология"}
      • Объяснение: Сайт ИНДЕКС Функция возвращает значение из диапазона ячеек( $B$5:$E$14 ), задается значением, основанным на номере строки и столбца.

    Читать далее: Возврат нескольких значений в Excel на основе одного критерия (3 варианта)

    3. Использование командного инструмента фильтра для извлечения данных из Excel на основе критериев диапазона

    Инструмент команды "Фильтр" в Excel является одним из наиболее используемых и эффективных инструментов для извлекать конкретные данные на основе различных критериев.

    Посмотрите на следующий набор данных. Ранее мы использовали его в качестве примера для извлечения данных о студентах, получивших оценки от 80 до 100, с помощью формулы Array. Но в этом разделе мы узнаем, как это сделать с помощью функции Инструмент "Фильтр" в Excel .

    Ниже приведены шаги по извлечению данных на основе определенного диапазона с помощью фильтра Excel.

    Шаги:

    • Сначала выберите только заголовок набора данных.
    • Во-вторых, перейдите к Данные -> Фильтр .

    • В-третьих, он вставит раскрывающаяся кнопка в каждом имени заголовка набора данных.

    • Затем, поскольку мы хотим извлечь данные на основе знаков, нажмите на кнопку раскрывающаяся кнопка рядом с Марки колонна.
    • Далее из выпадающего списка выберите Количество фильтров -> Между... (опять же, поскольку мы извлекаем данные от 80 до 100 , поэтому мы выбираем вариант Между Вы можете выбрать любые другие варианты из списка в соответствии с вашими критериями).

    • Теперь из всплывающего окна Пользовательский автофильтр выберите 80 из выпадающий список который появится, если просто нажать на раскрывающаяся кнопка рядом с больше или равно ярлык и выберите 100 в поле этикетки меньше или равно .
    • Позже нажмите OK .

    Наконец, вы получите все подробности только для тех студентов, которые получили Марки от 80 до 100 .

    Читать далее: Как извлечь данные из изображения в Excel (с помощью быстрых шагов)

    Похожие чтения

    • Как импортировать данные в Excel из другого файла Excel (2 способа)
    • Код VBA для преобразования текстового файла в Excel (7 методов)
    • Как преобразовать текстовый файл в Excel автоматически (3 подходящих способа)
    • Преобразование Excel в текстовый файл с разделителем (2 простых подхода)
    • Как импортировать текстовый файл с несколькими разделителями в Excel (3 метода)

    4. Использование расширенного фильтра для извлечения данных из Excel на основе критериев диапазона

    Если вы не хотите проходить множество шагов, показанных в разделе Фильтр, вы можете использовать Расширенный фильтр опция в Excel для извлечения данных на основе заданного диапазона.

    Чтобы использовать опцию расширенного фильтра в Excel, необходимо определить условие в рабочем листе для последующего использования. См. следующий рисунок, где мы определяем условие для извлечения данных о студентах, например Марки от 80 до 100 в двух разных клетках как >=80 и <=100 по адресу Маркс и мы будем использовать справочные номера клеток этих клеток позже в нашей работе.

    Ниже приведены шаги по извлечению данных на основе определенного диапазона с помощью расширенного фильтра Excel.

    Шаги:

    • Во-первых, выберите вся таблица данных .
    • Во-вторых, зайдите на Данные -> Расширенный .

    • Наконец, вы увидите диапазон ваших выбранные данные в поле рядом с Диапазон списка вариант.
    • Затем в поле рядом с Диапазон критериев , выберите клетки с определенными условиями Вы увидите, что имя рабочего листа будет автоматически сгенерировано в нем, следуя номерам ссылок на ячейки, содержащие предопределенные условия.
    • Наконец, нажмите OK .

    В результате вы получите все подробности только для тех студентов, которые получили Марки от 80 до 100 .

    Читать далее: Извлечение отфильтрованных данных в Excel на другой лист (4 метода)

    5. Извлечение данных из таблицы, заданной в Excel, на основе критериев диапазона

    Вы можете извлечь данные из Таблица, определенная в Excel из рабочего листа Excel с помощью Фильтр вариант.

    Рассмотрим следующий неорганизованный набор данных, который мы сначала определим как таблицу Excel, а затем извлечем из нее данные.

    Ниже приведены шаги по извлечению данных из таблицы Excel на основе определенного диапазона.

    Шаги:

    • В начале выберите любая ячейка из вашего набора данных и нажмите кнопку Ctrl T .

    • Затем, всплывающее окно Создать таблицу Появится окно, в котором будет показано диапазон вашего набора данных в качестве значений Установите флажок В моей таблице есть заголовки отмечен.
    • Позже нажмите OK .

    Это будет автоматическая генерация таблицы на основе вашего набора данных с раскрывающаяся кнопка вместе с заголовками.

    • Затем, как мы показывали ранее, нажмите на кнопку раскрывающаяся кнопка рядом с Марки столбец, так как мы хотим извлечь данные на основе Marks.
    • Затем из выпадающего списка выберите Количество фильтров -> Между... (опять же, поскольку мы извлекаем данные от 80 до 100 , выбираем вариант Между Вы можете выбрать любые другие варианты из списка в соответствии с вашими критериями).

    • Теперь из всплывающего окна Пользовательский автофильтр выберите 80 из выпадающий список который появится, если просто нажать на раскрывающаяся кнопка рядом с больше или равно ярлык и выберите 100 в поле этикетки меньше или равно .
    • Наконец, нажмите OK .

    В итоге вы получите определенную таблицу Excel, содержащую только данные о студентах, которые получили Марки от 80 до 100 .

    Подробнее: Как извлечь данные из таблицы на основе нескольких критериев в Excel

    Имейте в виду

    • Так как диапазон массива таблицы данных для поиска значения фиксирован, не забудьте поставить доллар ($) знак перед номером ссылки ячейки таблицы массива.
    • При работе со значениями массива не забудьте нажать кнопку Ctrl + Shift + Enter на клавиатуре во время извлечения результатов. При нажатии только Войти будет работать только в том случае, если вы используете Microsoft 365 .
    • После нажатия Ctrl + Shift + Enter Вы заметите, что панель формул заключила формулу в фигурные скобки {} объявляя его как формулу массива. Не вводите эти формулы. скобки {} самостоятельно, Excel автоматически делает это за вас.

    Заключение

    В этой статье мы узнали, как извлекать данные из Excel на основе различных критериев. Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь задавать любые вопросы, если у вас есть вопросы по этой теме.

    Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.