الدالتان MID وMIDB في الإكسيل: تعريفها وكيفية استخدامها وأمثلة عملية
الكاتب:
سامي
-
"تعريف الدالتين MID وMIDB في الإكسيل
يُعرف برنامج إكسيل غالبًا بقدرته المميزة في تحليل الأرقام والبيانات، ولكن يمكنه أيضًا تنفيذ العديد من العمليات المتعلقة بالنصوص، إذ تقوم الدالتان MID وMIDB باستخراج عدد من الأحرف من سلسلة نصية، ويكمن الفرق بين الدالتين في طريقة استخراج النص المحدد من السلسلة، حيث تقوم دالة MID باستخراج عدد محدد من الأحرف من سلسلة نصية، بدءًا من الموضع المحدد بالأحرف، بناءً على عدد الأحرف المحددة، أما دالة MIDB فتقوم باستخراج عدد محدد من الأحرف من سلسلة نصية، بدءًا من الموضع المحدد بالبايت، بناءً على عدد وحدات البايت bytes المحددة (البايت الواحد يساوي 8 بت)، فبعض اللغات في العالم تستخدم بايت واحد (single byte) في تمثيل حرف من حروفها مثل الإنجليزية، والبعض الآخر تستخدم وحدتي بايت (double byte) مثل الصينية.
كيفية استخدام الدالتين MID وMIDB في الإكسيل
يعد استخدام دالتا MID وMIDB أمرًا سهلًا للغاية، فبعد القيام بفتح ورقة عمل إكسيل، يختار المستخدم الخلية المراد إظهار الناتج فيها ويبدؤها بإشارة المساواة (=) لتفعيل خاصية الدوال في إكسيل، حسب الصيغة العامة الآتية: ?
MID(text, start_num, num_chars)=
MIDB(text, start_num, num_bytes)=
Text: يمثل السلسلة النصية التي تحتوي على الأحرف المطلوب استخراجها.
start_num: يمثل موضع الحرف الأول المراد البدء باستخراجه من السلسلة النصية، حيث يعد موضع الحرف الأول أول حرف من النص المستخرج، فإذا كان هذا الموضع أكبر من طول السلسة النصية، ستُرجع الدالتان نصًا فارغًا، أما إذا كان أقل من طول السلسة النصية، وكان عدد الأحرف المحددة num_chars يتجاوز طول السلسة، فستُرجع الدالتان الأحرف من موضع الحرف المحدد حتى نهاية السلسلة النصية، وإذا زُودت الدالتين بقيمة أقل من 1، فستُرجعان قيمة الخطأ #VALUE!.
Num_chars: يمثل في دالة MID عدد الأحرف المطلوب استخراجها من السلسلة النصية، وإذا زودت الدالة بقيمة سالبة في هذا الخيار فستُرجع خطأ #VALUE!.
num_bytes: يمثل في دالة MIDB عدد الأحرف المطلوب استخراجها من السلسلة النصية باستخدام البايت، وإذا زودت الدالة بقيمة سالبة في هذا الخيار فستُرجع خطأ #VALUE!.
ولتوضيح أكبر للفرق بين الدالتين؛ تقوم MID دائمًا بحساب كل حرف، سواء كان أحادي البايت أو مزدوج البايت على أنه حرف واحد، وذلك بغض النظر عن إعدادات اللغة الافتراضية، أما MIDB فتحسب كل حرف مزدوج البايت على أنه 2، وذلك في حالة تمكين تحرير لغة تدعم مجموعة أحرف مزدوجة البايت (DBCS) وتعيينها كلغة افتراضية، وبخلاف ذلك، تحسب MIDB كل حرف على أنه 1.
أمثلة عملية على الدالتين MID وMIDB في الإكسيل
بعد معرفة الصيغة العامة لكل من الدالتين واستخداماتهما لا بد من توضيح عمل الدالتين، وفيما يأتي بعض الأمثلة على استخدام الدالتين MID وMIDB في إكسيل بشكل صحيح:
A
B
C
1
السلسة النصية
صيغة الدالة
النتيجة
2
Fluid Flow
=MID(A2,1,5)
Fluid
3
=MID(A2,7,20)
Flow
4
=MID(A2,20,5)
5
????
=MIDB(A5,3,4)
??
6
=MID(A5,3,4)
??
لاستخراج 5 أحرف من السلسلة النصية في الخلية A2، بدءًا من الحرف الأول، تستخدم الصيغة الآتية، إذ يصبح الناتج:
MID(A2,1,5)=
لاستخراج 20 حرفًا من السلسلة النصية في الخلية A2، بدءًا من الحرف السابع، تستخدم الصيغة الآتية، إذ يصبح الناتج Flow؛ وذلك نظرًا لأن عدد الأحرف المراد استخراجها (20) أكبر من طول السلسلة النصية (10)، يتم استخراج كافة الأحرف التي تبدأ من الحرف السابع:
MID(A2,7,20)=
لاستخراج 5 أحرف من السلسلة النصية في الخلية A2، بدءًا من الحرف 20، تستخدم الصيغة الآتية، إذ يصبح الناتج نصًا فارغًا؛ وذلك لأن نقطة البداية أكبر من طول السلسلة (10):
MID(A2,20,5)=
لاستخراج حرفين (4 بايت) من السلسلة النصية الصينية في الخلية A5، بدءًا من الحرف الثاني (البايت 3)، تستخدم صيغة MIDB الآتية، إذ يصبح الناتج الحرفين الثاني والثالث ??، وذلك لأن الدالة تعامل الحرف الواحد بأنه 2 بايت:
MIDB(A5,3,4)=
لإعادة المثال السابق باستخدام دالة MID بدلًا من MIDB، تستخدم الصيغة الآتية، إذ يصبح الناتج الحرفين الثالث والرابع ??، وذلك لأن الدالة تعامل الحرف الواحد سواء كان أحادي البايت أو مزدوج البايت، على أنه حرف واحد، فتحدد نقطة البداية عند الحرف الثالث، وبطول 4 أحرف:
MID(A5,3,4)=
"