Как да извлечете данни от 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 точки в Биология и неговият запис се съхранява в набора от данни преди другите, така че имаме ID на Джони 3 в клетката с резултата.

    • Сега плъзнете колоните и редовете, като Дръжка за пълнене за извличане на данни само за учениците, които са получили Оценки от 80 до 100 .

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

    • INDEX($B$5:$E$14,,$I$6)
      • Output: {60;30;80;55;87;95;100;42;25;18}
      • Обяснение: Функцията INDEX обикновено връща единична стойност или цяла колона или ред от даден клетъчен диапазон. 3 се съхранява в Клетка $I$6 , така че връща цялата колона no 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}
      • Обяснение: Съхраняваме 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) -> става,
      • {}*{ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО}
      • Изход: {0;0;1;0;1;1;1;0;0;0;0}
      • Обяснение: Булевите стойности имат числови еквиваленти, TRUE = 1 и FALSE = 0 (нула) . Те се преобразуват при извършване на аритметична операция във формула.
    • РЕД($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)),"") -> става,
      • IF( {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)) -> става,
      • INDEX($B$5:$E$14,3,,1)
      • Изход: {3; "Johnny", 80, "Biology"}
      • Обяснение: Сайтът INDEX функцията връща стойност от диапазон от клетки( $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 е от Катедра "Биология и неговият запис се съхранява в набора от данни преди другите, така че имаме ID на Джони 3 в клетката с резултата.

    • Сега плъзнете колоните и редовете, като Дръжка за пълнене за извличане на данни само за учениците, които са от Отдел на Химия и Биология .

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

    • COUNTIF($H$5:$H$6,$E$5:$E$14) -> става,
      • COUNTIF({"Химия"; "Биология"},{"Математика"; "Физика"; "Биология"; "Химия"; "Физика"; "Физика"; "Математика"; "Химия"; "Математика"; "Биология"}
      • Изход: {0;0;1;1;0;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}
      • Обяснение: Сайтът IF има три аргумента, като първият трябва да е логически израз. Ако изразът се оценява на TRUE тогава се случва едно нещо (аргумент 2) и ако FALSE друго нещо се случва (аргумент 3). Логическият израз е изчислен в стъпка 1, TRUE е равен на 1 и FALSE е равен на 0 (нула) . Ред не 3, 4, 8 и 10 оценка TRUE (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; "Johnny", 80, "Biology"}
      • Обяснение: Сайтът INDEX функцията връща стойност от диапазон от клетки( $B$5:$E$14 ), определена от стойността въз основа на номер на ред и колона.

    Прочетете още: Връщане на множество стойности в Excel въз основа на един критерий (3 опции)

    3. Използване на команден инструмент за филтриране за извличане на данни от Excel въз основа на критерии за обхват

    Командният инструмент "Филтър" в Excel е един от най-използваните и ефективни инструменти за извличане на специфични данни въз основа на различни критерии.

    Погледнете следния набор от данни. По-рано го използвахме като пример за извличане на данни за учениците, които са получили оценки от 80 до 100, като приложихме формулата Array. Но в този раздел ще научим как да направим това, като използваме Инструмент за филтриране на Excel .

    Стъпките за извличане на данни въз основа на определен диапазон с помощта на филтъра на Excel са дадени по-долу.

    Стъпки:

    • Първо, изберете само заглавие на набора от данни.
    • Второ, отидете в Данни -> Филтър .

    • Трето, той ще вмъкне падащ бутон във всяко име на заглавието на набора от данни.

    • След това, тъй като искаме да извлечем данни въз основа на марките, щракнете върху падащ бутон до марката колона.
    • След това от падащия списък изберете Брой филтри -> Между... (отново, тъй като извличаме данни между 80 и 100 , затова избираме опцията Между . Можете да изберете други опции от списъка в зависимост от вашите критерии).

    • Сега, от изскачащия прозорец Персонализиран автофилтър изберете 80 от падащ списък която ще се появи, като просто щракнете върху падащ бутон до е по-голямо или равно на и изберете 100 в полето за етикет е по-малка или равна на .
    • По-късно щракнете върху ОК .

    Накрая ще получите всички данни само за учениците, които са получили Оценки от 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 .

    Той ще автоматично генериране на таблица въз основа на вашия набор от данни с падащ бутон заедно със заглавията.

    • След това, както ви показахме преди, щракнете върху падащ бутон до марката колона, тъй като искаме да извлечем данни въз основа на маркерите.
    • По-късно от падащия списък изберете Брой филтри -> Между... (отново, тъй като извличаме данни между 80 и 100 , избираме опцията Между . Можете да изберете други опции от списъка в зависимост от вашите критерии).

    • Сега, от изскачащия прозорец Персонализиран автофилтър изберете 80 от падащ списък която ще се появи, като просто щракнете върху падащ бутон до е по-голямо или равно на и изберете 100 в полето за етикет е по-малка или равна на .
    • Накрая щракнете върху OK .

    В крайна сметка ще получите дефинирана таблица в Excel, съдържаща само данните за учениците, които са получили Оценки от 80 до 100 .

    Прочетете още: Как да извлечете данни от таблица въз основа на множество критерии в Excel

    Имайте предвид

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

    Заключение

    В тази статия научихме как да извличаме данни от Excel въз основа на различни критерии. Надявам се, че тази статия е била много полезна за вас. Чувствайте се свободни да задавате всякакви въпроси, ако имате такива по темата.

    Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.