Съдържание
В тази статия ще разгледам как да намерите няколко стойности в Excel. Често, докато работите с електронни таблици, намирането на няколко стойности наведнъж може да бъде от голяма полза. Например имаме набор от данни, съдържащ хобитата на няколко души. В този набор от данни обаче един човек ( Емили ) има повече от едно хоби. Затова сега ще използваме няколко инструмента и функции на Excel, за да получим едновременно няколкото хобита на Емили. Освен това ще покажа как да обединим няколко стойности в една клетка.
Изтегляне на работна тетрадка за практика
Можете да изтеглите работната тетрадка за упражнения, която използвахме за изготвянето на тази статия.
Намиране на множество стойности.xlsm8 метода за намиране на множество стойности в Excel
1. Използвайте инструмента за намиране и заместване, за да получите няколко стойности в Excel
Можете лесно да получите няколко стойности с помощта на Намерете функция на Намиране и заместване инструмент на MS Excel . В нашия набор от данни се споменава името Емили. 3 Така че следвайте следните стъпки, за да ги намерите 3 стойности наведнъж.
Стъпки:
- Първо, изберете набора от данни ( B4:C11 ).
- След това натиснете Ctrl + F за да извикате Намиране и заместване прозорец или отидете в Начало > Редактиране на група> Намиране & Избор > Намерете .
- След това въведете ' Емили ' в Открийте какво и щракнете върху полето Намерете всички .
- В резултат на това установихме. 3 имена ( Емили ), изброени в прозореца по-долу.
Прочетете повече: Как да намерите стойност в диапазон в Excel (3 метода)
2. Опция за филтриране на Excel за намиране на множество стойности
Друга лесна и бърза възможност за получаване на множество стойности в Excel е да използвате Автоматичен филтър . Нека разгледаме стъпките, свързани с този метод.
Стъпки:
- Първо щракнете с десния бутон на мишката върху клетката, към която искате да приложите филтъра. Клетка B5 , тъй като трябва да филтрирам всички имена, Емили .
- След това отидете в Филтър > Филтриране по стойността на избраната клетка .
- В резултат на това всички клетки, съдържащи името Емили се филтрират, както е показано по-долу.
- Сега, ако искате да отмените филтрирането, просто щракнете върху Автоматичен филтър на заглавието на набора от данни, изберете Изчистване на филтъра от "Име" и щракнете върху OK .
Прочетете повече: Как да намерите символ в низ в Excel
3. Прилагане на опцията за разширен филтър за връщане на множество стойности
Excel има опция за филтриране, наречена Разширен филтър . Тази опция е много полезна при намирането на множество стойности. Трябва да зададете обхват от критерии, за да приложите Разширен филтър Нека преминем през стъпките, свързани с този метод.
Стъпки:
- Първо, задайте обхвата на критериите ( B13:C14 ).
- След това отидете в Данни > Сортиране и филтриране > Разширен .
- Вследствие на това Разширени филтри r ще се появи прозорец. Сега задайте Обхват на списъка ( Обхват на набора от данни ) и Обхват на критериите и щракнете върху OK .
- Най-накрая получихме всички хобита на Емили наведнъж.
⏩ Забележка
Не забравяйте, че Заглавие на основния набор от данни и Обхват на критериите трябва да са сходни, в противен случай Разширен филтър опцията няма да работи.
4. Връщане на множество стойности чрез използване на дефинирана от Excel таблица
Можем да създадем Дефинирани таблици в Excel и по този начин да приложите филтриране, за да получите множество стойности. Това е много удобен и лесен начин за намиране на множество стойности.
Стъпки:
- Първо щракнете върху някоя от клетките на набора от данни ( B4:C11 ).
- След това натиснете Ctrl + t от клавиатурата. Вследствие на това Създаване на таблица Ще се появи прозорец. Проверете обхвата на таблицата и щракнете върху OK .
- В резултат на това от нашата съвкупност от данни е създадена таблицата по-долу.
- Сега щракнете върху иконата със стрелка надолу до заглавието на таблицата. След това маркирайте името Емили и щракнете върху OK
- В крайна сметка ето очаквания резултат от филтрирането.
Подобни четива:
- Как да намерите текст в клетка в Excel
- Търсене в Excel на текст в диапазон (11 бързи метода)
- Как да намерите дали клетката съдържа определен текст в Excel
- Намиране на символ в низ в Excel (8 лесни начина)
5. Вмъкване на функцията FILTER за намиране на множество стойности
Този път ще използваме функцията FILTER за връщане на множеството стойности в Excel.
Стъпки:
- Първо въведете следната формула в Клетка C14 .
=FILTER(C5:C11,B5:B11=B14)
- След това натиснете Въведете .
- Следователно всички хобита на Емили се връщат наведнъж.
⏩ Забележка
➤ ФИЛТЪР функция е достъпна само за Excel 365 абонати.
6. Търсене на множество стойности с функцията INDEX в Excel
Можете да намерите няколко стойности, като използвате функцията INDEX заедно с някои други функции на Excel. Тази формула за получаване на множество стойности е сложна. Формулата се въвежда като масив. Както и да е, ще обясня формулата по-долу. Преди това нека преминем през стъпките на този метод.
Стъпки:
- Първоначално въведете следната формула в Клетка C14 .
=INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2)
- В резултат на това получихме следния резултат.
- След това плъзнете надолу Дръжка за пълнене ( + ), за да получите другите стойности.
- В резултат на това ето списъка с хобитата на Емили, който получихме.
🔎 Как работи формулата?
- IF($B$5:$B$11=$B$14,ROW($B$5:$B$11))
Тук, функцията IF връща номер на ред, ако има диапазон от клетки B5:B11 е равен на B14 , в противен случай връща FALSE .
- SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))
В тази част на формулата се използва функцията SMALL която връща n-ти Най-малката стойност. Тази формула ще върне числата: 5 , 8 , 11 .
- INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2)
Сега идва последната част от формулата. INDEX връща стойността на дадена позиция. Друго нещо е, че функцията INDEX функцията счита първия ред на нашата таблица за ред 1. Тъй като моята таблица с данни започва с ред 5 , извадих 4 от РЕД за получаване на правилния ред от масива от данни. Така за масива B5:C11 , номера на реда 5 , 8 , 11 , и колона № 2 . INDEX ще даде желания резултат
📌 Скриване на грешките, генерирани от горната формула
Съществува проблем с гореспоменатите INDEX Когато плъзнете надолу Дръжка за пълнене ( + ), формулата връща грешка ( #NUM! ) след определена стойност. Така че, за да поправим горната формула, ще използваме IF и ISERROR функции.
Стъпки:
- Първо въведете следната формула в Клетка C14 .
=IF(ISERROR(INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2)),"",INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2))
- В резултат на това ще получим резултат без грешки.
Тук ISERROR проверява дали дадена стойност е грешка и връща TRUE или FALSE. горната формула, обвита с IF и ISERROR Функциите проверяват дали резултатът от масива е грешка или не и връщат празно място (""), ако резултатът е грешка, а в противен случай връщат съответната стойност.
7. Дефинирана от потребителя функция за намиране на множество стойности в Excel (VBA)
В този метод ще обсъдим как да използваме Дефинирана от потребителя функция за получаване на няколко стойности в Excel. Тук ще използваме Дефинирана от потребителя функция : vbaVlookup .
Стъпки:
- Първо, отидете в активния работен лист.
- Второ, отидете в Разработчик > Visual Basic .
- След това Visual Basic Ще се появи прозорец. Отидете в Проект VBA (Горният ляв ъгъл на прозореца).
- Трето, щракнете с десния бутон на мишката върху името на проекта и отидете на Вмъкване на > Модул .
- В резултат на това ще получите Модул . Напишете следния код в Модул .
'Името на функцията, дефинирана от потребителя, и аргументите на функцията vbaVlookup(lookup_value As Range, tbl As Range, col_index_num As Integer, Optional layout As String = "v") 'Деклариране на променливи и типове данни Dim r As Single, Lrow, Lcol As Single, temp() As Variant 'Преоразмеряване на променливата в масива temp ReDim temp(0) 'Итервю през клетките в клетъчния диапазон For r = 1 To tbl.Rows.Count 'Проверете дали lookup_value е равна настойност на клетката If lookup_value = tbl.Cells(r, 1) Then 'Запазване на стойността на клетката в променливата на масива temp temp(UBound(temp)) = tbl.Cells(r, col_index_num) 'Добавяне на още един контейнер към променливата на масива temp ReDim Preserve temp(UBound(temp) + 1) End If Next r 'Проверка дали оформлението на променливата е равно на h If layout = "h" Then 'Запазване на броя на колоните, които потребителят е въвел това User DefinedFunction in. Lcol = Range(Application.Caller.Address).Columns.Count 'Iterate through each container in array variable temp that will not be populated For r = UBound(temp) To Lcol 'Save a blank to array container temp(UBound(temp)) = "" 'Increase the size of array variable temp with 1 ReDim Preserve temp(UBound(temp) + 1) Next r 'Decrease the size of arrayпроменлива temp с 1 ReDim Preserve temp(UBound(temp) - 1) 'Връщане на стойностите в работния лист vbaVlookup = temp 'Тези редове ще бъдат изчерпани, ако разположението на променливата не е равно на h Else 'Запазване на броя на редовете, които потребителят е въвел тази дефинирана от потребителя функция в Lrow = Range(Application.Caller.Address).Rows.Count 'Итервюиране през празни клетки и не запазвайте нищо в тях, за да избегнете грешкаЗа r = UBound(temp) To Lrow temp(UBound(temp)) = "" ReDim Preserve temp(UBound(temp) + 1) Next r 'Намаляване на размера на масивната променлива temp с 1 ReDim Preserve temp(UBound(temp) - 1) 'Връщане на променливата temp в работния лист със стойности, подредени вертикално vbaVlookup = Application.Transpose(temp) End If End Function
- След това, ако започнете да пишете функцията в Клетка C14 , функцията ще се покаже като другите функции на Excel.
- След това запишете следната формула в Клетка C14 .
=vbaVlookup(B14,B5:B11,2)
- И накрая, тук имаме няколко хобита на Емили, както е показано по-долу.
8. Получаване на множество стойности в една клетка на Excel
Досега получавахме няколко стойности, изброени вертикално в различни клетки. Сега обаче ще покажем няколко стойности, обединени в една клетка. Тук ще използваме функцията TEXTJOIN заедно с ФИЛТЪР за получаване на обединените множествени стойности.
Стъпки:
- Първо въведете следната формула в Клетка C14 .
=TEXTJOIN(",",TRUE, FILTER(C5:C11, B5:B11=B14))
- В резултат на това всички хобита на Емили са представени хоризонтално в една клетка.
Тук TEXTJOIN функцията обединява списъка с хобита, като използва запетаи.
Заключение
В горната статия се опитах да разгледам подробно методите. Надявам се, че тези методи и обяснения ще бъдат достатъчни за решаване на вашите проблеми. Моля, уведомете ме, ако имате някакви въпроси.