جستجو در اکسل با کد نویسی VBA — راهنمای کاربردی
موتورهای جستجو (Search Engine) در اینترنت (مانند گوگل و یاهو) با نشان دادن یک کادر جستجو (Search Box) به کاربر اجازه میدهند، موضوع مورد علاقهاش را ثبت کرده و در محیط اینترنت جستجو کند. معمولا نتیجه این کاوش، طی یک لیست از سایتهای مورد نظر، ظاهر میشود. مشخص است به علت وجود انبوه اطلاعات و سایتها، بررسی همه آنها به صورت تک تک توسط کاربر امکانپذیر نیست و این مسئله، فلسفه وجودی موتورهای جستجو را نشان میدهد. حال فرض کنید در یک صفحه گسترده مثل اکسل، دادههای زیادی براساس اقلام مختلف وجود دارد. برای مثال یک انبار را در نظر بگیرید که تمامی اقلام ذخیره شده در آن، در یک جدول اکسل (Spread Sheet) ثبت شدهاند. قرار است به کمک یک کادر جستجو، عملیات پیدا کردن یک قلم خاص یا یک گروه محصول را انجام دهیم. طولانی بودن این لیست، باعث میشود که نتوانیم از روشهای معمول جستجو چشمی برای کاوش در جدول استفاده کنیم. بنابراین برای حل چنین مشکلی در این متن به موضوع جستجو در اکسل با کد نویسی VBA پرداختهایم تا به کمک آن بتوانید در انبوه اطلاعاتی که در کاربرگ اکسل ذخیره کردهاید، به راحتی جستجو کنید.
برای آشنایی بیشتر با نحوه کد نویسی به زبان VBA، نوشتارهای برنامه نویسی VBA در اکسل و ماکروهای VBA در اکسل — یک راهنمای مقدماتی و بیان اهمیت آنها را مطالعه کنید. همچنین خواندن نوشتار ۴ اشتباه رایج در هنگام نوشتن ماکروها در اکسل و توابع INDEX و MATCH در اکسل برای جستوجوی سریعتر نیز خالی از لطف نیست.
جستجو در اکسل با کد نویسی VBA
اگر از یک ساختار پایگاه داده (DataBase) برای ثبت اطلاعات در اکسل استفاده کنید، جستجوی مقدار دلخواه در یک ستون، به کمک فیلتر (Filter) میسر میشود. ولی مشکل این است که اگر بخواهیم جستجو را از یک ستون به ستون دیگر ببریم، باید فیلتر را برای آن ستون فعال کرده و با استفاده از شرایط یا مشخص کردن مقدار مورد نظر در فیلتر، سطرهایی که با شرط گفته شده مطابقت دارند را ظاهر سازیم.
البته شاید استفاده از ابزار جستجو (Find) که در اکثر برنامههای کاربردی ویندوز گنجانده شده نیز راهکار دیگری باشد. ولی متاسفانه استفاده از Find برای پایگاههای داده مناسب نیست و ممکن است ناحیه جستجو به کل کاربرگ گسترش یافته و حتی نتیجه را در ستونهای دیگر کاربرگ نمایش دهد. مشخص است که جستجو در پایگاه داده باید در یک ستون (Field) مشخص صورت گرفته و رکوردهای (Record) متناسب با آن، ظاهر شوند.
در این متن میخواهیم به کمک زبان VBA و استفاده از اجزا یا کنترلهای فرم (From Controls)، یک فرم جستجو در اکسل با کد نویسی ایجاد کنیم. به تصویر ۱ دقت کنید. قرار است از این فرم برای جستجو اطلاعات برحسب ستونهای Car, Price, Color و Year استفاده شود.
فرض بر این است که کاربرگی داریم که شامل ستونهایی با اسامی گفته شده است و چندین سطر از کاربرگ، مربوط به مقادیر این ستونها است. از آنجایی که جستجو در بین آنها کار سختی است، در کد نویسی، فیلتر را برای ستونهای مورد نظر فعال کرده و مقداری که در کادر جستجو (SearchBox) وارد کردهایم را توسط فیلتر به کار میگیریم. واضح است که به این ترتیب، فقط سطرهایی از کاربرگ ظاهر خواهند شد که با شرط گفته شده مطابقت داشته باشند. ابتدا طراحی فرم جستجو را با ابزارهای توسعه Developer اکسل توضیح داده، سپس شیوه جستجو براساس ستونهای متنی و عددی را بوسیله کدها VBA مشخص میکنیم.
طراحی فرم جستجو
رابط کاربری (User Interface) که گاهی UI نیز نامیده میشود، برای فرم جستجو میتواند به شکل دلخواه طراحی شود ولی شاید بهتر باشد که تصویر ۱ را الگو قرار داده و مطابق با آن فرم جستجو را طراحی کنیم. به این منظور باید از یک کادر متنی (Text Box)، یک دکمه (Bottom) و گزینههای انتخابی (Options Bottom) استفاده کنیم. در ادامه نحوه ظاهر کردن هر یک از این گزینهها را در کاربرگ اکسل بازگو خواهیم کرد.
بخشی از اکسل که برای طراحی فرمهای ورود، گزارش و چاپ کاربرگها وجود دارد از چشم کاربران تازهکار مخفی شده است. برگه Developer معمولا به طور پیشفرض، هنگام کار با اکسل دیده نمیشود، مگر آنکه آن را احضار کنید.
برای ظاهر کردن برگه Developer از فهرست File گزینه Options را انتخاب کرده و از پنجره ظاهر شده، بخش Customize Ribbon را فعال کرده و از بین اسامی برگههای موجود، برگه Developer را فعال کنید. با فشردن دکمه OK، این برگه در لیست برگههای اکسل ظاهر خواهد شد.
به این ترتیب بوسیله گامهای زیر، رابط کاربر برای جستجو را توسط گزینههای این برگه را خواهیم ساخت.
- برگه یا نوار Developer را از قسمت برگههای اکسل فعال کنید.
- روی دکمه کشویی Inset کلیک کرده و گروه کنترلهای فرم (Form Control) را پیدا کنید.
- گزینه Option Button را از این قسمت انتخاب کنید (ردیف اول، آخرین نماد).
- با استفاده از ماوس که به صورت + درآمده است، یک کادر ترسیم کنید تا دکمه Option ترسیم شود.
- ترسیم Option Buttonها را تا جایی که همه دکمهها مطابق با تصویر ۱ ایجاد شوند، تکرار کنید.
برای ایجاد یک مکان برای درج متن مورد جستجو، از یک Textbox استفاده کنید. این کار را هم به وسیله گامیهای زیر اجرا نمایید.
- از برگه Insert قسمت Text گزینه Textbox را انتخاب و یک کادر توسط آن ترسیم کنید.
- از آنجایی که کاربرگ دارای مقادیر لاتین است، تراز متن داخلی را چپ (Left Align) کرده و زمینه آن را سفید انتخاب کنید.
- کادر اطراف Textbox را به کمک قالببندی، به رنگ خاکستری درآورد.
از طرفی احتیاج به یک دکمه Search نیز داریم. این دکمه را هم به وسیله ابزارهای ترسیمی اکسل ایجاد کرده و بعد کدهای VBA را به آن نسبت میدهیم. به این ترتیب مراحل زیر را طی خواهیم کرد.
- از برگه Insert و بخش Illustrations، گزینه Shapes را فعال کنید.
- یک مستطیل با حاشیههای گرد (Rectangle: Rounded Corners) ترسیم کنید.
- با کلیک راست روی آن، فهرست دستورات را ظاهر کرده و گزینه Edit Text را انتخاب کنید.
- تراز متن را وسط قرار داده و عبارت Search را به صورت توپُر (Bold) داخل آن تنظیم کنید.
- زمینه را به رنگ خاکستری (استاندارد برای دکمههای ویندوز) درآورید.
البته میتوانید برای زیبایی بیشتر، از رنگها، سایه و قالبهای متقاوت برای اشکال ترسیمی (Drawing Objects) نیز استفاده کنید.
به این ترتیب سطرهای ابتدایی کاربرگ را به شکلی که در تصویر ۱ دیده شد، درآوردیم. فرض کنید که سطرهای اطلاعاتی در کاربرگ نیز بعد از این رابط کاربر یعنی سطرهای چهارم به بعد، قرار گرفتهاند.
نکته: به جای استفاده از یک کادر متنی (Textbox) میتوانید از یک سلول یا ActiveX Textbox استفاده کرده و کدها را به آنها نسبت دهید. همچنین به جای کلیک روی دکمه Search نیز میتوانید از یک کلید میانبر (Shortcut Key) بهره ببرید تا به محض استفاده از آنها، عمل جستجو صورت گیرد. این موارد را در ادامه بررسی خواهیم کرد.
کلید اصلی برای اجرای جستجو در اکسل با کد نویسی VBA، استفاده از خصوصیات اجزای فرم است. به منظور دسترسی به اجزای فرم، بهتر است ابتدا آنها را نامگذاری کنیم.
برای نامگذاری کادر نام که برای متن مورد جستجو انتخاب کردید، ابتدا آن را انتخاب کرده و در کادر نام (Name Box) که در کنار نوار فرمول (Formula Bar) قرار دارد، اسمی برایش وارد کنید. از آنجایی که این کادر اولین Textbox رسم شده در کاربرگ است، نام آن به طور پیشفرض TextBox1 انتخاب شده است ولی ما این نام را تغییر خواهیم داد.
بهتر است که بین بخشهای نام، هیچ فاصلهای به کار نبرید. برای مثال در تصویر 4، ما کادر مربوط به عبارت جستجو را UserSearch نامگذاری کردهایم.
نکته: توجه داشته باشید که اسامی ایجاد شده برای هر یک از اشیاء فرم UI، در ادامه در کدهای VBA به کار خواهند رفت. بنابراین اسمی را به یاد داشته و به شکلی که در کدهای نوشته شده، نامگذاری را انجام دهید. در غیر اینصورت عملیات جستجو در اکسل با کد نویسی صورت نخواهند گرفت.
جستجو در اکسل با کد نویسی برای متن
کدهایی که در ادامه ظاهر شدهاند به منظور فیلتر کردن ستون دلخواه و استفاده از مقدار مورد جستجو در کادر UserSearch به کار میروند. در بعضی از قسمتها، کدهایی که برای اشیاء ActiveX آماده شده نیز دیده میشود که البته از حالت اجرا خارج شدهاند. در انتهای این دستورات عبارت ActiveX Control دیده میشود.
همچنین در صورتی که از یک سلول برای مشخص کردن کادر جستجو بهره بردهاید، از دستوراتی که در انتهای آنها عبارت Cell Input دیده میشود، استفاده کرده و کدهای مربوط به دو وضعیت دیگر را غیرفعال کنید.
1Sub SearchBox()
2'PURPOSE: Filter Data on User-Determined Column & Text
3'SOURCE: www.TheSpreadsheetGuru.com
4
5Dim myButton As OptionButton
6Dim MyVal As Long
7Dim ButtonName As String
8Dim sht As Worksheet
9Dim myField As Long
10Dim DataRange As Range
11Dim mySearch As Variant
12
13'Load Sheet into A Variable
14 Set sht = ActiveSheet
15
16'Unfilter Data (if necessary)
17 On Error Resume Next
18 sht.ShowAllData
19 On Error GoTo 0
20
21'Filtered Data Range (include column heading cells)
22 Set DataRange = sht.Range("A4:E31") 'Cell Range
23 'Set DataRange = sht.ListObjects("Table1").Range 'Table
24
25'Retrieve User's Search Input
26 mySearch = sht.Shapes("UserSearch").TextFrame.Characters.Text 'Control Form
27 'mySearch = sht.OLEObjects("UserSearch").Object.Text 'ActiveX Control
28 'mySearch = sht.Range("A1").Value 'Cell Input
29
30'Loop Through Option Buttons
31 For Each myButton In ActiveSheet.OptionButtons
32 If myButton.Value = 1 Then
33 ButtonName = myButton.Text
34 Exit For
35 End If
36 Next myButton
37
38'Determine Filter Field
39 On Error GoTo HeadingNotFound
40 myField = Application.WorksheetFunction.Match(ButtonName, DataRange.Rows(1), 0)
41 On Error GoTo 0
42
43'Filter Data
44 DataRange.AutoFilter _
45 Field:=myField, _
46 Criteria1:="=*" & mySearch & "*", _
47 Operator:=xlAnd
48
49'Clear Search Field
50 sht.Shapes("UserSearch").TextFrame.Characters.Text = "" 'Control Form
51 'sht.OLEObjects("UserSearch").Object.Text = "" 'ActiveX Control
52 'sht.Range("A1").Value = "" 'Cell Input
53
54Exit Sub
55
56'ERROR HANDLERS
57HeadingNotFound:
58 MsgBox "The column heading [" & ButtonName & "] was not found in cells " & DataRange.Rows(1).Address & ". " & _
59 vbNewLine & "Please check for possible typos.", vbCritical, "Header Name Not Found!"
60
61End Sub
در بخشهای ابتدایی کد VBA، دستوراتی را مشاهده میکنید که برای معرفی متغیرها و ساختار برنامه لازم است. فرض بر این است که ناحیه مورد جستجو، سلولهای A4:E31 هستند. این قسمت از کاربرگ را میتوانید به نام Table1 نامگذاری کرده و دستور زیر را در کد فعال نمایید.
1Set DataRange = sht.ListObjects("Table1").Range
به اسامی اشیاء فرم که در کد به کار رفتهاند دقت کنید. برای مثال انتخابهای دایرهای با نام OptionButtons مشخص شدهاند. همانطور که میبینید، اسامی اشیاء مربوط به فرم جستجو که در کد به کار رفتهاند، مطابق جدول زیر است.
جدول ۱: اسامی متغیرها و نقش آنها در برنامه
نام شی | نقش | توضیحات |
MyButton | OptionButton | انتخاب ستونهای جستجو |
MyVal | متغیر عددی | |
ButtonName | متغیر متنی | |
sht | از نوع کاربرگ | برای ارجاع به کاربرگ فعال |
myField | متغیر عددی | شماره ستون مورد جستجو |
DataRange | ناحیه مورد جستجو | |
mySearch | عبارت متنی یا عددی |
نکته اساسی در این کد، دستور زیر است.
1 Criteria1:="=*" & mySearch & "*", _
همانطور که میبینید از «فرانویسه» (Wildcard) یا علامت جایگزین * استفاده شده است تا نتیجه جستجو شامل تمامی عبارتهایی باشند که متن ثبت شده در متغیر UserSearch در آن دیده میشود. برای مثال اگر Color را انتخاب کرده و متن whi را در کادر Search وارد کرده و جستجو را براساس آن انجام دهیم، تمامی سطرهایی که شامل عبارت Whi هستند، مانند white یا mean while ظاهر خواهند شد.
نکته: اگر میخواهید فیلتر و جستجو، دقیقا منطبق بر متنی مورد جستجو باشد، دو علامت جایگزین «*» را از ابتدا و انتهای بخش کد بالا خارج کنید.
در بخش انتهایی نیز مدیریت خطاها و پیغامهایی که درصورت رخ دادن خطا باید ظاهر شوند، قرار گرفتهاند. نتیجه نسبت دادن این کد به دکمه Search به مانند تصویر 5 خواهد بود. البته نحوه نسبت دادن کد به هر یک از اشیاء فرم جستجو را در انتها مشخص خواهیم کرد.
جستجو در اکسل با کد نویسی برای متن و عدد
این بار میخواهیم کاری کنیم که جستجو شامل مقادیر عددی نیز باشد. به این منظور، دستورات و قسمتهایی به کد قبلی اضافه شده تا مدیریت مقادیر عددی نیز به همراه متن، صورت گیرد. همانطور که در تصویر ۶ مشاهده میکنید، ستونهای عددی مانند ستونهای Price و Year نیز روی فرم جستجو توسط OptionButton اضافه شدهاند.
کدی که در زیر مشاهده میکنید، بین محتویات عددی و متنی تفاوت قائل شده است. البته ناحیهای که برای جستجو انتخاب شده، مانند قسمت قبل است. ولی از آنجایی که مقادیر عددی، به طور دقیق باید جستجو شوند، کد مربوط به جستجوی آنها با عملگر شرطی If جدا شده است.
1Sub SearchBox()
2'PURPOSE: Filter Data on User-Determined Column & Text/Numerical value
3'SOURCE: www.TheSpreadsheetGuru.com
4
5Dim myButton As OptionButton
6Dim SearchString As String
7Dim ButtonName As String
8Dim sht As Worksheet
9Dim myField As Long
10Dim DataRange As Range
11Dim mySearch As Variant
12
13'Load Sheet into A Variable
14 Set sht = ActiveSheet
15
16'Unfilter Data (if necessary)
17 On Error Resume Next
18 sht.ShowAllData
19 On Error GoTo 0
20
21'Filtered Data Range (include column heading cells)
22 Set DataRange = sht.Range("A4:E31") 'Cell Range
23 'Set DataRange = sht.ListObjects("Table1").Range 'Table
24
25'Retrieve User's Search Input
26 mySearch = sht.Shapes("UserSearch").TextFrame.Characters.Text 'Control Form
27 'mySearch = sht.OLEObjects("UserSearch").Object.Text 'ActiveX Control
28 'mySearch = sht.Range("A1").Value 'Cell Input
29
30'Determine if user is searching for number or text
31 If IsNumeric(mySearch) = True Then
32 SearchString = "=" & mySearch
33 Else
34 SearchString = "=*" & mySearch & "*"
35 End If
36
37'Loop Through Option Buttons
38 For Each myButton In sht.OptionButtons
39 If myButton.Value = 1 Then
40 ButtonName = myButton.Text
41 Exit For
42 End If
43 Next myButton
44
45'Determine Filter Field
46 On Error GoTo HeadingNotFound
47 myField = Application.WorksheetFunction.Match(ButtonName, DataRange.Rows(1), 0)
48 On Error GoTo 0
49
50'Filter Data
51 DataRange.AutoFilter _
52 Field:=myField, _
53 Criteria1:=SearchString, _
54 Operator:=xlAnd
55
56'Clear Search Field
57 sht.Shapes("UserSearch").TextFrame.Characters.Text = "" 'Control Form
58 'sht.OLEObjects("UserSearch").Object.Text = "" 'ActiveX Control
59 'sht.Range("A1").Value = "" 'Cell Input
60
61Exit Sub
62
63'ERROR HANDLERS
64HeadingNotFound:
65 MsgBox "The column heading [" & ButtonName & "] was not found in cells " & DataRange.Rows(1).Address & ". " & _
66 vbNewLine & "Please check for possible typos.", vbCritical, "Header Name Not Found!"
67
68End Sub
به این قسمت از کد توجه کنید.
1If IsNumeric(mySearch) = True Then
2
3SearchString = "=" & mySearch
4
5Else
6
7SearchString = "=*" & mySearch & "*"
8
9End If
واضح است که در صورت عددی بودن عبارت مورد جستجو در فیلد مربوطه، یک مقایسه ریاضیاتی ( = ) صورت میگیرد. ولی در حالتی که عبارت متنی باشد، مقایسه شامل علامت جایگزین * در ابتدا و انتهای متن مورد جستجو، خواهد بود. پس از انجام جستجو، مقدار مورد جستجو از کادر SearchBox پاک شده و برای ورودیهای بعدی آماده میشود. این بخش از کد را برای تاکید، دوباره در زیر نمایش دادهایم.
1'Clear Search Field
2 sht.Shapes("UserSearch").TextFrame.Characters.Text = "" 'Control Form
3 'sht.OLEObjects("UserSearch").Object.Text = "" 'ActiveX Control
4 'sht.Range("A1").Value = "" 'Cell Input
سطر اول، به منظور یادداشت و معرفی این بخش نوشته شده است. ولی سطر دوم مربوط به کنترل فرم یا شکل ترسیمی (UserSearch) است که از نوع TextFrame یا همان کادر متنی است که در ابتدای متن نحوه ایجاد آن را در فرم جستجو مورد بررسی قرار دادیم. سطر سوم که به صورت غیرفعال درآمده، زمانی به کار میرود که به جای سطر دوم و براساس شئی ActiveX کد را اجرا نماییم. سطر چهارم نیز براساس محتویات سلول A1، عملیات را انجام میدهد. البته این بخش هم به صورت غیراجرایی در آمده است تا بعدا در صورت لزوم قابل استفاده باشند.
نکته: در صورتی که از Control Form استفاده میکنید، تمامی بخش هایی که در انتهای فرمان با عبارت Control Form مشخص شدهاند را به صورت اجرایی درآورید. اگر از کنترلهای ActiveX در طراحی فرم استفاده کردهاید، بخشی از دستورات که در انتهای آنها عبارت ActiveX Control دیده میشود را فعال نمایید. اگر از سلول برای مشخص کردن عبارت جستجو بهره بردهاید، قسمتهای مربوط به Cell Input را در کد به صورت اجرایی مشخص کنید. برای غیراجرایی کردن هر دستور (Comment)، در ابتدای خط فرمان، یک علامت ' گذاشته و برای فعال سازی، این علامت را بردارید.
همانطور که در کد زیر مشاهده میکنید، عملی که توسط این دکمه اجرا میشود، قرار دادن عبارت خالی (NULL) یا "" در کادر جستجو (SearchBox) است. توجه داشته باشید، اگر میخواهید فیلتر برداشته شده و همه رکوردها، قابل مشاهده باشند، از دکمه Clear استفاده کنید. کدهای مربوط به این دکمه در بخش بعدی معرفی میشوند.
برداشتن فیلتر از جدول
دکمه Clear که در فرم قرار گرفته، به منظور پاک کردن عبارت جستجو و نمایش همه رکوردهای جدول ایجاد شده است. بنابراین پس از انجام جستجو، اگر میخواهید همه اطلاعات را مشاهده و فیلتر را غیر فعال نمایید، روی این دکمه کلیک کنید. کد مربوط به این دکمه در ادامه قابل مشاهده است. مشخص است که عبارت ShowAllData نکته کلیدی برای این قسمت از برنامه است.
1Sub ClearFilter()
2'PURPOSE: Clear all filter rules
3
4'Clear filters on ActiveSheet
5 On Error Resume Next
6 ActiveSheet.ShowAllData
7 On Error GoTo 0
8
9End Sub
انتصاب ماکروها به اجزای فرم جستجو در اکسل با کد نویسی
نسبت دادن دستورات نوشته شده به هر یک از اشیاء در فرم، یک مرحله مهم برای ایجاد فرم جستجو در اکسل با کد نویسی محسوب میشود. در تصویر زیر، مراحل مربوط به انجام این کار را مشاهده میکنید.
همانطور که در تصویر ۷ قابل مشاهده است، مراحل نسبت دادن هر قطعه کد به دکمهها در فرم جستجو در اکسل با کد نویسی VBA به صورت زیر هستند.
- گام اول: قسمت مربوطه در فرم را انتخاب کرده و فهرست کلیک راست را ظاهر میکنیم.
- گام دوم: دستور Assign Macro را از فهرست مورد نظر انتخاب نمایید.
- گام سوم: در داخل کادر Macros in، گزینه This Workbook را انتخاب کرده تا لیست برنامههای موجود در این کارپوشه در کادر بالایی ظاهر شود.
- گام چهارم: از کادر Macro name نام ماکرو یا برنامه VBA که ذخیره کردهاید را انتخاب کنید.
- گام پنجم: با فشردن دکمه OK، عمل انتصاب کد به دکمه انتخابی، صورت خواهد گرفت.
به منظور دسترسی به کدها مربوط به جستجو در اکسل با کد نویسی VBA و همچنین پرونده اکسلی که برای جستجو در مثالها به کار رفته، اینجا کلیک کنید. البته پرونده دریافتی با قالب فشرده است. کافی است پس از خارج کردن آن از حالت فشرده، فایل Creating A Search Box.xlsm را در اکسل بارگذاری کرده و به کاربرگهای Search Text و Search Text & Numbers دست یابید.
نکته: پروندههای اکسل که به همراه کد VBA یا ماکرو هستند با پسوند xlsm ذخیره و بازیابی میشوند.
خلاصه و جمعبندی
متاسفانه بسیاری از امکاناتی که انتظار داریم توسط شرکت مایکروسافت در اکسل قرار گرفته باشد، در این نرمافزار پیاده سازی نشده است. ولی خوشبختانه به کمک VBA، امکان توسعه ویژگیها و کاربردهای اکسل وجود دارد و کاربرانی که به VBA تسلط دارند، تقریبا هر کاری با اکسل انجام میدهند. ایجاد برنامههای کاربردی، فرمهای ورود و گزارشات اختصاصی از جمله کارهایی است که در محیط VBA میتوان انجام داد. همانطور که در متن خواندید، ایجاد کادر یا جعبه جستجو یکی از امکاناتی است که در اکسل وجود نداشته ولی با استفاده از این نوشتار و ایجاد کادر جستجو در اکسل با کد نویسی VBA، براساس هر ستون دلخواه میتوانید جستجو انجام داده و سطر اطلاعاتی خاص خود را فیلتر کرده و نمایش دهید.
اگر داده هایمان توی شیت دیگری بود میتونیم عملیات جستجو و فیلتر را انجام دهیم یا این دستورات توی شیت جاری که داده ها در اون قرار دارند عمل میکنه به عبارت دیگه میخوام از کل داده هایی که توی شیت اول قرار دارند توی شیت دوم با عملیات جستجویی که گفیتن موارد دلخواه رو انتخاب کنم