Korišćenje drugih funkcija za identifikovanje povezanih tipova podataka

Povezani tipovi podataka objavljeni su uExcel za Office 365 junu 2018 i kao takve druge funkcije možda neće moći da ih identifikuju. To može biti posebno tačno kada želite da koristite druge funkcije da biste uslovno identifikovali da ćelija sadrži povezani tip podataka ili ne. Ovaj članak objašnjava neka rešenja koja možete da koristite za identifikovanje povezanih tipova podataka u ćelijama.

Formule

Možete uvek da pišete formule koje se odnose na tipove podataka. Međutim, ako želite da izdvojite tekst ćelije sa povezanim tipom podataka pomoću funkcije TEXT, dobićete #VALUE! grešku.

Zaobilaženje problema je korišćenje funkcije Fieldvalue i navođenje polja " ime " za argument field_name . U sledećem primeru, ako ćelija a1 sadrži tip podataka Stock, formula će vratiti ime deonice.

= FIELDVALUE (a1, "name")

Međutim, ako ćelija a1 ne sadrži povezani tip podataka, funkcija FIELDVALUE će vratiti #FIELD! greška. Ako želite da izračunate da ćelija sadrži povezani tip podataka, možete da koristite sledeću formulu koja koristi funkciju ISERROR da bi se testirao ako funkcija FIELDVALUE vraća grešku.

= IF (ISERROR (IERROR (Cell, "name")), "Ova ćelija nema povezani tip podataka", "Ova ćelija ima povezani tip podataka")

Ako formula daje grešku, ona će vratiti tekst "Ova ćelija nema povezani tip podataka", u suprotnom, vraća "Ova ćelija ima povezani tip podataka".

Ako samo želite da sprečite #FIELD! Greška možete da koristite:

= IFERROR (polja Value (a1, "ime"), "")

Koji će vratiti praznu ćeliju ako postoji greška.

Uslovno oblikovanje

Možete uslovno da oblikujete ćeliju na osnovu toga da li ima povezani tip podataka. Prvo izaberite ćelije kojima je potrebno uslovno oblikovanje, a zatim idite na matičnu > uslovno oblikovanje > novo pravilo > koristite formulu... Za formulu ćete koristiti sledeće:

= NOT (ISERROR (CERROR (a1, "name")))

Gde je ćelija a1 gornja ćelija u opsegu koji želite da izračunate. Zatim primenjujte željeni format.

U ovom primeru, ako ćelija a1 sadrži važeće ime polja za "name", formula vraća vrednost TRUE i oblikovanje će se primeniti. Ako ćelija a1 ne sadrži povezani tip podataka, formula daje vrednost FALSE i nijedno oblikovanje neće biti primenjeno. Možete da uklonite polje ne ako želite da označite ćelije koje ne sadrže važeće povezane tipove podataka.

VBA

Postoji nekoliko metoda VBA (Visual Basic for Applications) metoda koje možete da koristite da biste identifikovali da li ćelija ili opseg sadrže povezane tipove podataka. Ova prva procedura koristi Svojstva hash Richdatatype

Obe ove procedure će vas upitati da izaberete opseg ćelija za proveru, a zatim da pošaljete okvir za poruku sa rezultatima.

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

Sledeća procedura koristi Svojstva 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

Ovaj poslednji kôd isečak je funkcija User Def (UDF) i upućuje se na nju kao i sve druge Excel formule. Jednostavno unesite =fn_IsLinkedDataType (a1), gde je a1 ćelija koju želite da izračunate.

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

Da biste koristili bilo koji od ovih primera, pritisnite kombinaciju tastera ALT + F11 da biste otvorili Visual Basic Editor (vobe), a zatim izaberite stavku Umetni> moduli nalepite kôd u novom prozoru koji se otvara sa desne strane. Možete da koristite kombinaciju tastera ALT + Q da biste izašli iz programa Excel kada završite. Da biste pokrenuli jedan od prvih dva primera, idite na karticu projektovanje> kôd> makroi> izaberite makro koji želite da uradite sa liste, a zatim izaberite stavku pokrene.

Potrebna vam je dodatna pomoć?

Možete uvek da postavite pitanje stručnjaku u zajednici Excel Tech Community, dobijete podršku u zajednici Answers community ili predložite novu funkciju ili poboljšanje na sajtu Excel User Voice.

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×