היכנס דרך Microsoft
היכנס או צור חשבון.
שלום,
בחר חשבון אחר.
יש לך חשבונות מרובים
בחר את החשבון שברצונך להיכנס באמצעותו.

סוגי נתונים מקושרים הופצה לראשונה Excel עבור Microsoft 365 ביוני 2018, וייתכן שתכונות אחרות לא יוכלו לזהות אותן. הדבר יכול להיות נכון במיוחד כאשר ברצונך להשתמש בתכונות אחרות כדי לזהות באופן מותן אם תא מכיל סוג נתונים מקושר או לא. מאמר זה מסביר כמה דרכים לעקיפת הבעיה הבאות כדי לזהות סוגי נתונים מקושרים בתאים.

הערה: סוגי נתונים מקושרים זמינים רק ללקוחות Multi-Tenant ברחבי העולם (חשבונות Microsoft 365 רגילים).

נוסחאות

תמיד ניתן לכתוב נוסחאות המפנה לסוגי נתונים. עם זאת, אם ברצונך לחלץ את הטקסט של תא עם סוג נתונים מקושר באמצעות הפונקציה TEXT, תוכל לקבל #VALUE! ‎#VALUE!‎.

פתרון הוא להשתמש בפונקציה FIELDVALUE ולציין את השדה שם עבור field_name הארגומנט. בדוגמה הבאה, אם תא A1 הכיל סוג נתונים של מניות, הנוסחה תחזיר את שם המניה.

=FIELDVALUE(A1,"Name")

עם זאת, אם תא A1 אינו מכיל סוג נתונים מקושר, הפונקציה FIELDVALUE תחזיר שגיאת #FIELD!. אם ברצונך להעריך אם תא מכיל סוג נתונים מקושר, באפשרותך להשתמש בנוסחה הבאה, המשתמשת בפונקציה ISERROR כדי מחשב אם הפונקציה FIELDVALUE תחזיר שגיאה.

=IF(ISERROR(FIELDVALUE(A2,"Name")),"תא זה אינו כולל סוג נתונים מקושר","לתא זה יש סוג נתונים מקושר")

אם הנוסחה מוערכת כשגיאה, היא תחזיר את הטקסט "תא זה אינו כולל סוג נתונים מקושר", אחרת, היא תחזיר את הטקסט "תא זה כולל סוג נתונים מקושר".

אם ברצונך פשוט להעלים את #FIELD! , באפשרותך להשתמש ב:

=IFERROR(FIELDVALUE(A1,"Name"),"")

אשר יחזיר תא ריק אם תיתרחש שגיאה.

עיצוב מותנה

באפשרותך לעצב תא באופן מותנה בהתבסס על סוג נתונים מקושר או לא. תחילה עליך לבחור את התאים שכוללים את העיצוב המותנה ולאחר מכן לעבור אל בית > עיצוב מותנה >כלל > השתמש בנוסחה... עבור הנוסחה, השתמש בפעולות הבאות:

=NOT(ISERROR(FIELDVALUE(A1,"Name")))

כאשר תא A1 הוא התא העליון בטווח שברצונך להעריך. לאחר מכן החל את התבנית הרצויה.

בדוגמה זו, אם תא A1 מכיל שם שדה חוקי עבור "Name", הנוסחה מחזירה TRUE והעיצוב יוחל. אם תא A1 אינו מכיל סוג נתונים מקושר, הנוסחה מחזירה FALSE ולא יוחל עיצוב. באפשרותך להסיר את ה- NOT אם רצית לסמן תאים שלא מכילים סוגי נתונים מקושרים חוקיים במקום זאת.

VBA

קיימות כמה שיטות 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 לאחר סיימת. כדי להפעיל אחת משני הדוגמאות הראשונות, עבור אל הכרטיסיה מפתחים> קוד > פקודות מאקרו> את המאקרו שברצונך להפעיל מהרשימה ולאחר מכן בחר הפעל.

זקוק לעזרה נוספת?

תוכל תמיד לשאול מומחה ב- Excel Tech Community או לקבל תמיכה בקהילת Answers.

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×