ar ar ru ar ar ar ar en en en en pl ar ar ar en en en en pl ar en ar en en en en en en ar en en en de ar ar ar ur en ar es en en ar en en ar ar ar en ar en en en ar ar ar ar ar fa ar ar en ar en en en en en en en ceb ar ar en ar ar pl en ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar pt ar ar ar ar it ar ar ar hbs_lat ar ar fr ar ar en ar en ar en ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar ar de ar en en en en en ar ar ar ar en ar ar en en ar ar ar ar en ar es en en en ar en ar ar ar en ar ar en en en ar ar ar ar ar ar ar ar ar ar ar ar ar en
تم إصدار أنواع البيانات المرتبطة أولا في Excel for Microsoft 365 يونيو 2018، وعلى هذا النحو، قد لا تتمكن الميزات الأخرى من التعرف عليها. قد يكون هذا الأمر صحيحا على وجه الخصوص عندما تريد استخدام ميزات أخرى لتحديد ما إذا كانت الخلية تحتوي على نوع بيانات مرتبط أم لا. تشرح هذه المقالة بعض الحلول التي يمكنك استخدامها لتعريف أنواع البيانات المرتبطة في الخلايا.
ملاحظة: لا تتوفر أنواع البيانات المرتبطة إلا لعملاء المستأجرين المتعددين على مستوى العالم (حسابات المستأجرين Microsoft 365 القياسية).
يمكنك دائما كتابة الصيغ التي تشير إلى أنواع البيانات. ومع ذلك، إذا كنت تريد استخراج نص خلية ذات نوع بيانات مرتبط باستخدام الدالة TEXT، فسوف تحصل على #VALUE! الخطأ.
الحل البديل هو استخدام الدالة FIELDVALUE وتحديد حقل الاسم لل الوسيطة field_name. في المثال التالي، إذا كانت الخلية A1 تحتوي على نوع بيانات الأسهم، فستعرض الصيغة اسم السهم.
ومع ذلك، إذا لم تحتوي الخلية A1 على نوع بيانات مرتبط، فإرجاع الدالة FIELDVALUE خطأ #FIELD!. إذا كنت تريد تقييم ما إذا كانت الخلية تحتوي على نوع بيانات مرتبط أم لا، يمكنك استخدام الصيغة التالية، التي تستخدم الدالة ISERROR لاختبار ما إذا كانت الدالة FIELDVALUE ستعرض خطأ.
=IF(ISERROR(FIELDVALUE(A2,"Name")),"هذه الخلية ليس لديها نوع بيانات مرتبط","هذه الخلية لديها نوع بيانات مرتبط")
إذا تم تقييم الصيغة إلى خطأ، فإرجاع النص "ليس لهذه الخلية نوع بيانات مرتبط"، وإلا، فإرجاع "هذه الخلية لديها نوع بيانات مرتبط".
إذا كنت تريد منع #FIELD! ، يمكنك استخدام:
الذي سيرجع خلية فارغة إذا كان هناك خطأ.
يمكنك تنسيق خلية شرطيا استنادا إلى ما إذا كان لديها نوع بيانات مرتبط أم لا. يجب أولا تحديد الخلايا التي تحتاج إلى التنسيق الشرطي، ثم الانتقال إلى الصفحة الرئيسية > التنسيق الشرطي > قاعدة جديدة > استخدام صيغة... بالنسبة للصيغة، يمكنك استخدام ما يلي:
حيث الخلية A1 هي الخلية العلوية في النطاق الذي تريد تقييمه. ثم قم بتطبيق التنسيق الذي تريده.
في هذا المثال، إذا كانت الخلية A1 تحتوي على اسم حقل صالح ل "الاسم"، فإرجاع الصيغة TRUE سيتم تطبيق التنسيق. إذا لم تحتوي الخلية A1 على نوع بيانات مرتبط، فإرجاع الصيغة FALSE، ولن يتم تطبيق أي تنسيق. يمكنك إزالة NOT إذا كنت تريد تمييز أي خلايا لا تحتوي على أنواع بيانات مرتبطة صالحة بدلا من ذلك.
هناك العديد من أساليب VBA (Visual Basic for Applications) التي يمكنك استخدامها لتحديد ما إذا كانت الخلية أو النطاق يحتوي على أنواع بيانات مرتبطة. يستخدم هذا الإجراء الأول الخاصية HasRichDataType.
سيطالبك كلا الإجراءين بتحديد نطاق من الخلايا لتقييمه، ثم إرجاع مربع رسالة مع النتائج.
Sub IsLinkedDataType() Dim c As Range Dim rng As Range Dim strResults As String Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8) For Each c In rng ' Check if the HasRichDataType is TRUE or FALSE If c.HasRichDataType = True Then ' The cell holds a linked data type strResults = strResults & c.Text & " - Linked data type" & vbCrLf Else strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf End If Next c MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results" End Sub
يستخدم هذا الإجراء التالي الخاصية LinkedDataTypeState.
Sub IsLinkedDataTypeState() Dim c As Range Dim rng As Range Dim strResults As String Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8) For Each c In rng ' Check if the LinkedDataTypeState is 1 (TRUE) or 0 (FALSE) If c.LinkedDataTypeState = 1 Then ' The cell holds a linked data type strResults = strResults & c.Text & " - Linked data type" & vbCrLf Else strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf End If Next c MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results" End Sub
إن قصاصة التعليمات البرمجية النهائية هذه هي دالة معرفة من قبل المستخدم (UDF)، وترجعها تماما مثل أي صيغة أخرى Excel أخرى. ما عليك سوى إدخال =fn_IsLinkedDataType(A1)، حيث A1 هي الخلية التي تريد تقييمها.
Public Function fn_IsLinkedDataType(c As Range) ' Function will return TRUE if a referenced cell contains a linked data type If c.HasRichDataType = True Then fn_IsLinkedDataType = "Linked data type" Else fn_IsLinkedDataType = "Not a linked data type" End If End Function
لاستخدام أي من هذه الأمثلة، اضغط على Alt+F11 لفتح محرر Visual Basic (VBE)، ثم انتقل إلى إدراج الوحدة النمطية ل> ،واللصق التعليمة البرمجية في النافذة الجديدة التي تفتح على الجانب الأيمن. يمكنك استخدام Alt+Q للعودة إلى Excel عندما تنتهي. لتشغيل أي من المثالين الأولين، انتقل إلى علامة التبويب المطور> التعليمات البرمجية> وحدات الماكرو> حدد الماكرو الذي تريد تشغيله من القائمة، ثم حدد تشغيل.
هل تحتاج إلى مزيد من المساعدة؟
يمكنك دائماً الاستفسار من أحد الخبراء في مجتمع Excel التقني أو الحصول على الدعم في مجتمع الإجابات.
هل تحتاج إلى مزيد من المساعدة؟
الحصول على الميزات الجديدة أولاً
الانضمام إلى MICROSOFT INSIDERS >
هل كانت المعلومات مفيدة؟
شكراً! هل لديك مزيد من الملاحظات؟ (يمكننا مساعدتك بشكل أكبر إذا أخبرتنا بالمزيد.) هل يمكنك مساعدتنا على التحسين؟ (يمكننا مساعدتك بشكل أكبر إذا أخبرتنا بالمزيد.)