كيفية البحث بسرعة عن قيمة في أوراق عمل متعددة أو مصنفات؟
هل سبق أن احتجت إلى العثور على قيمة محددة قد تظهر في أوراق عمل مختلفة أو حتى عبر عدة مصنفات في Excel؟ هذا هو السيناريو الشائع، خاصة عند العمل على مشاريع كبيرة، التقارير الشهرية، أو عند تجميع المعلومات المحفوظة في عدة ملفات. البحث يدويًا من خلال كل ورقة أو ملف ليس فقط يستغرق وقتًا طويلاً ولكنه أيضًا عرضة للأخطاء. في هذا البرنامج التعليمي، ستكتشف عدة طرق فعالة للبحث عن البيانات بكفاءة، سواء كنت تبحث داخل مصنف واحد، مصنفات متعددة، أو تحتاج لحل قائم على الصيغ أو تجميع البيانات. تتناول هذه الأساليب الاحتياجات العملية التي قد تواجهها في سير العمل الروتيني لـ Excel أو مشاريع تحليل البيانات.
البحث عن قيمة في أوراق عمل متعددة لمصنف باستخدام وظيفة البحث والاستبدال
البحث عن قيمة في جميع المصنفات الموجودة في مجلد باستخدام VBA
البحث بسرعة عن قيمة عبر عدة مصنفات مفتوحة باستخدام Kutools لـ Excel
البحث عن قيمة عبر أوراق عمل متعددة باستخدام صيغ Excel
البحث عن قيمة في أوراق عمل متعددة لمصنف باستخدام وظيفة البحث والاستبدال
وظيفة البحث والاستبدال في Excel هي طريقة أساسية ولكن فعالة للعثور بسرعة على قيم محددة عبر أوراق عمل متعددة داخل نفس المصنف. هذه الطريقة هي الأكثر فائدة عندما تعرف الأوراق التي تريد البحث فيها أو عندما تكون بياناتك منظمة نسبيًا ضمن ملف واحد. لا تدعم هذه الطريقة البحث عبر ملفات مختلفة أو مصنفات مغلقة، لكنها توفر طريقة مباشرة للبحث السريع.
1. لبدء، حدد علامات أوراق العمل التي تريد تضمينها في بحثك بالضغط مع الاستمرار على مفتاح Ctrl والنقر على كل ورقة عمل في شريط علامات الورقة بشكل فردي. يضمن هذا أن يتم تطبيق البحث على جميع الأوراق المحددة في وقت واحد. انظر لقطة الشاشة:
2. بمجرد تحديد الأوراق المطلوبة، اضغط على Ctrl + F لفتح مربع الحوار البحث والاستبدال. اكتب القيمة التي تريد العثور عليها في مربع النص البحث عن تحت تبويب البحث، ثم انقر على زر البحث عن الكل. سيعرض Excel على الفور قائمة بجميع الخلايا على الأوراق المحددة التي تحتوي على قيمة البحث الخاصة بك، إلى جانب مواقعها. انظر لقطة الشاشة:
نصيحة: أداة البحث والاستبدال تقوم بالبحث فقط داخل الأوراق المحددة التي تكون مفتوحة ومرئية. إذا كنت تريد توسيع نطاق البحث إلى أوراق إضافية، تأكد من تحديدها كما هو موضح أعلاه. إذا فاتتك ورقة عن طريق الخطأ، كرر العملية بعد تضمينها في التحديد.
احتياطات: هذه الطريقة لا تبحث عبر المصنفات المغلقة أو المخفية ولا تقوم بتمييز الخلايا تلقائيًا – بل ستعطي فقط قائمة بالنتائج لأغراض التنقل.
استكشاف الأخطاء وإصلاحها: إذا لم تشاهد النتائج المتوقعة، تحقق مرة أخرى من اختيارك للأوراق وتأكد من أنك لم تقم بتطبيق أي فلاتر أو حماية خلايا قد تخفي أو تقيد البحث.
العثور على القيم واستبدالها بسهولة عبر أوراق عمل متعددة ومصنفات |
يقدم خيار البحث والاستبدال المتقدم في Kutools لـ Excel وسيلة فعالة للبحث عن القيم واستبدالها عبر أوراق عمل متعددة أو حتى عبر جميع المصنفات المفتوحة. باستخدام هذه الميزة المتقدمة، يمكنك توفير وقت الحفظ والقضاء على الأخطاء عند العمل مع مجموعات بيانات كبيرة، مما يجعل مهام Excel الخاصة بك أسرع وأكثر دقة. |
![]() |
Kutools لـ Excel - قم بتعزيز Excel بأكثر من 300 أدوات أساسية. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! احصل عليه الآن |
البحث عن قيمة في جميع المصنفات الموجودة في مجلد باستخدام VBA
إذا كنت بحاجة للبحث عن قيمة محددة عبر عدة مصنفات محفوظة في مجلد – بما في ذلك الملفات التي لم تفتحها – أدوات Excel المدمجة لا يمكنها القيام بذلك مباشرة. في هذه الحالة، يمكن أن يقوم ماكرو VBA (Visual Basic for Applications) بأتمتة العملية لك، حيث يقوم بفتح كل مصنف في المجلد بشكل منهجي، ومسح جميع أوراق العمل، وتسجيل المواقع التي تم العثور فيها على التطابقات. هذا النهج عملي للغاية للمراجعات الدورية أو البحث عن القيم في الملفات المؤرشفة أو الملفات الدفعية.
1. ابدأ بفتح مصنف جديد (أو فارغ) في Excel. حدد الخلية التي تريد أن تظهر فيها نتائج البحث (عادةً الخلية A1). اضغط على Alt + F11 لتشغيل نافذة محرر Microsoft Visual Basic for Applications.
2. داخل محرر VBA، انتقل إلى إدراج > وحدة لإنشاء وحدة جديدة، ثم انسخ الكود التالي الخاص بـ VBA في نافذة الوحدة.
VBA: البحث عن قيمة عبر جميع المصنفات في مجلد.
Sub SearchFolders()
'UpdatebyKutoolsforExcel20200913
Dim xFso As Object
Dim xFld As Object
Dim xStrSearch As String
Dim xStrPath As String
Dim xStrFile As String
Dim xOut As Worksheet
Dim xWb As Workbook
Dim xWk As Worksheet
Dim xRow As Long
Dim xFound As Range
Dim xStrAddress As String
Dim xFileDialog As FileDialog
Dim xUpdate As Boolean
Dim xCount As Long
Dim xAWB As Workbook
Dim xAWBStrPath As String
Dim xBol As Boolean
Set xAWB = ActiveWorkbook
xAWBStrPath = xAWB.Path & "\" & xAWB.Name
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a forlder"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
xStrSearch = "KTE"
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xOut = Worksheets.Add
xRow = 1
With xOut
.Cells(xRow, 1) = "Workbook"
.Cells(xRow, 2) = "Worksheet"
.Cells(xRow, 3) = "Cell"
.Cells(xRow, 4) = "Text in Cell"
Set xFso = CreateObject("Scripting.FileSystemObject")
Set xFld = xFso.GetFolder(xStrPath)
xStrFile = Dir(xStrPath & "\*.xls*")
Do While xStrFile <> ""
xBol = False
If (xStrPath & "\" & xStrFile) = xAWBStrPath Then
xBol = True
Set xWb = xAWB
Else
Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
End If
For Each xWk In xWb.Worksheets
If xBol And (xWk.Name = .Name) Then
Else
Set xFound = xWk.UsedRange.Find(xStrSearch)
If Not xFound Is Nothing Then
xStrAddress = xFound.Address
End If
Do
If xFound Is Nothing Then
Exit Do
Else
xCount = xCount + 1
xRow = xRow + 1
.Cells(xRow, 1) = xWb.Name
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
End If
Set xFound = xWk.Cells.FindNext(After:=xFound)
Loop While xStrAddress <> xFound.Address
End If
Next
If Not xBol Then
xWb.Close (False)
End If
xStrFile = Dir
Loop
.Columns("A:D").EntireColumn.AutoFit
End With
MsgBox xCount & " cells have been found", , "Kutools for Excel"
ExitHandler:
Set xOut = Nothing
Set xWk = Nothing
Set xWb = Nothing
Set xFld = Nothing
Set xFso = Nothing
Application.ScreenUpdating = xUpdate
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End Sub
3. اضغط على مفتاح F5 أو انقر فوق زر التشغيل لتنفيذ هذا الماكرو. ستظهر نافذة حوار اختر مجلد، مما يسمح لك باختيار المجلد الذي يحتوي على المصنفات التي تريد البحث فيها. انظر لقطة الشاشة:
4. انقر على موافق. بعد اكتمال البحث، ستظهر نافذة رسالة تخبرك بإجمالي عدد الخلايا التي تم العثور عليها والتي تحتوي على القيمة المحددة. انظر لقطة الشاشة:
5. انقر على موافق لإغلاق الرسالة. جميع المواقع التي تم العثور فيها على القيمة مدرجة في ورقة عمل جديدة، بما في ذلك اسم المصنف، اسم ورقة العمل، مرجع الخلية، ومحتوى الخلية الدقيق لمراجعتك.
نصيحة: مصطلح البحث الحالي مضبوط في VBA كـ "KTE". يمكنك تخصيص هذا عن طريق تغيير السطر xStrSearch = "KTE" في الكود إلى أي قيمة تريد البحث عنها.
احتياطات: قبل التشغيل، تأكد من حفظ وإغلاق جميع المصنفات ذات الصلة (باستثناء المصنف الذي تقوم بتشغيل الماكرو فيه، والذي يمكن أن يكون مفتوحًا). قد يستغرق الأمر بعض الوقت لمعالجة المجلدات الكبيرة التي تحتوي على العديد من الملفات المعقدة لـ Excel. لا تقطع تشغيل الماكرو أثناء التنفيذ.
استكشاف الأخطاء وإصلاحها: إذا واجهت أخطاء، تحقق من أن جميع الملفات هي مصنفات Excel حقيقية (وليست تالفة أو محمية بكلمة مرور) وأن إعدادات الأمان الخاصة بالماكرو تسمح بتشغيل الكود. إذا لم ينتهِ الماكرو، جرب تشغيله على مجموعة أصغر من الملفات أولاً.
البحث بسرعة عن قيمة في عدة مصنفات مفتوحة باستخدام Kutools لـ Excel
عندما تريد تنفيذ عملية بحث عبر عدة مصنفات مفتوحة بالفعل في جلسة Excel الخاصة بك، يقدم Kutools لـ Excel لوحة مخصصة للبحث والاستبدال تجعل العملية أسهل وأكثر تنظيمًا. هذا مفيد بشكل خاص للمسح السريع لمصنفاتك دون الحاجة إلى كتابة البرامج النصية أو إعدادات معقدة، وهو مثالي للمستخدمين الذين يعملون غالبًا مع عدة ملفات في نفس الوقت ويحتاجون إلى أداة سهلة الاستخدام وبسيطة لإدارة عمليات البحث.
1. في أي من المصنفات المفتوحة لديك، انتقل إلى Kutools التبويب وحدد التنقل. ثم انقر على الزر البحث والاستبدال لإظهار لوحة البحث والاستبدال ، والتي تقع عادةً في الجانب الأيسر من نافذة Excel الخاصة بك. انظر لقطة الشاشة:
2. في تبويب البحث ، أدخل القيمة التي تريد البحث عنها في مربع النص البحث عن . اختر جميع المصنفات من القائمة المنسدلة داخل لتنفيذ البحث عبر كل مصنف مفتوح. ثم انقر على البحث عن الكل لعرض قائمة فورية لجميع الخلايا المتطابقة، مع مواقعها. انظر لقطة الشاشة:
نصيحة: الأداة المتقدمة للبحث والاستبدال في Kutools لـ Excel تتيح لك البحث واستبدال البيانات ليس فقط في جميع المصنفات المفتوحة، ولكن أيضًا بشكل خاص في الأوراق المحددة، المصنف النشط، ورقة العمل الحالية، أو حتى في التحديد الحالي فقط. هذا يوفر لك تحكمًا مخصصًا بناءً على احتياجاتك.
احتياطات: تأكد من أن جميع المصنفات التي تريد البحث فيها مفتوحة قبل بدء البحث، حيث لا يمكن لهذه الأداة البحث في الملفات التي ليست مفتوحة حاليًا في Excel.
استكشاف الأخطاء وإصلاحها: إذا لم تظهر بعض الملفات في نتائج البحث الخاصة بك، تحقق مرة أخرى من أنها محملة بالكامل في Excel وليست في وضع محمي للعرض أو وضع القراءة فقط الذي قد يقيد الوصول إلى البحث.
عرض توضيحي: البحث عن قيمة عبر عدة مصنفات مفتوحة باستخدام Kutools لـ Excel
البحث عن قيمة عبر أوراق عمل متعددة باستخدام صيغ Excel
في الحالات التي يكون لديك فيها عدة أسماء ورقة معروفة في مصنفك وتحتاج إلى التحقق مما إذا كانت وحيث توجد قيمة محددة بين تلك الأوراق، يمكنك استخدام صيغ Excel للبحث ديناميكيًا عبرها. هذا النهج مناسب بشكل خاص عندما تريد تحديث نتائج البحث تلقائيًا والحفاظ على قائمة الأوراق ثابتة نسبيًا أو مدارة في جدول منفصل.
يتطلب هذا الأسلوب أن تكون قد عرفت أو سجلت أسماء جميع الأوراق للبحث. إنه الأكثر فعالية لعمليات الفحص الآلية، اللوحات المعلوماتية، أو في أي وقت تريد فيه بناء مرجع موجز دون تشغيل فحص كامل في كل مرة.
المزايا: تُحدث النتائج تلقائيًا عندما تتغير البيانات؛ لا حاجة للبرامج النصية أو الإضافات؛ كل شيء يتم التعامل معه داخل المصنف.
العيوب: غير مناسبة للحالات التي تتغير فيها أسماء الأوراق بشكل متكرر، أو إذا كان لديك عدد كبير جدًا من الأوراق.
مثال على السيناريو: لنفترض أن لديك ثلاث أوراق عمل باسم Sheet1
، Sheet2
، وSheet3
. تريد أن تعرف في أي ورقة (أو الأوراق) تظهر قيمة محددة، مثل "Invoice123"، في الخلية A1، أو ببساطة للتحقق مما إذا كانت القيمة موجودة في أي مكان في تلك الأوراق.
الخطوة 1. لنفترض أن لديك قائمة بأسماء الأوراق في D2:D4 (D2: Sheet1، D3: Sheet2، D4: Sheet3). أدخل القيمة التي تريد البحث عنها (مثل "Invoice123") في E1. ثم، في F2، أدخل هذه الصيغة:
=IF(COUNTIF(INDIRECT("'"&D2&"'!A:A"), $E$1) >0, "Found", "Not Found")
الخطوة 2. اسحب الصيغة من F2 إلى F4 للتحقق من جميع الأوراق المدرجة في D2:D4. ستقوم بإرجاع "تم العثور" أو "لم يتم العثور" لكل ورقة.
كيف تعمل: تستخدم الصيغة INDIRECT لإنشاء مرجع لكل ورقة مدرجة وCOUNTIF للتحقق مما إذا كانت القيمة في E1 تظهر في العمود A لكل ورقة. قم بتعديل النطاق A:A
لاستهداف عمود آخر أو نطاق معين (مثل A1:Z100
) إذا لزم الأمر.
نصيحة إضافية: لاسترداد أسماء الأوراق التي تحتوي على القيمة، استخدم الصيغة المصفوفة التالية (أدخل باستخدام Ctrl + Shift + Enter في إصدارات Excel القديمة أو كصيغة عادية في Microsoft 365/Excel 2021+):
=TEXTJOIN(", ",TRUE,IF(COUNTIF(INDIRECT("'"&D2:D4&"'!A:A"), $E$1)>0, D2:D4, ""))
هذه الصيغة ستعيد قائمة مفصولة بفواصل لجميع أسماء الأوراق التي تم العثور فيها على القيمة. كن حذرًا مع INDIRECT – فهو يعمل فقط مع المصنفات المفتوحة ولا يسمح بالبحث في الملفات المغلقة.
احتياطات: إذا تم تغيير أسماء الأوراق أو حذفها، ستقوم الصيغة بإرجاع خطأ #REF!؛ تأكد دائمًا من أن قائمة أسماء الأوراق صحيحة. بالنسبة للمصنفات الكبيرة، قد تبطئ الصيغ المستندة إلى INDIRECT أداء المصنف الخاص بك.
استكشاف الأخطاء وإصلاحها: إذا رأيت أخطاء، تحقق من أن جميع الأوراق المشار إليها موجودة وصحيح أن نطاق البحث صحيح. بالنسبة للقوائم الديناميكية للأوراق، فكر في استخدام النطاقات المسماة أو التحقق من صحة البيانات لتحديث قائمة الأوراق تلقائيًا.
مقالات ذات صلة:
- كيفية العثور بسرعة واستبدال عبر أوراق عمل متعددة أو المصنف بالكامل؟
- كيفية العثور بسرعة واستبدال في عدة ملفات Excel مفتوحة؟
- كيفية العثور على أكبر قيمة سالبة (أقل من 0) في Excel؟
- كيفية استخراج جميع التكرارات من عمود في Excel؟
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!