Povezani tipovi podataka prvi put su objavljeni u Excel za Microsoft 365. juna 2018. i zbog toga druge funkcije možda neće moći da ih identifikuju. To posebno može da bude tačno kada želite da koristite druge funkcije da biste uslovno utvrdili da li ćelija sadrži povezani tip podataka ili ne. Ovaj članak objašnjava neka zaokreta koja možete da koristite da biste identifikovali povezane tipove podataka u ćelijama.
Napomena: Povezani tipovi podataka dostupni su samo za klijente sa više zakuca u svetu (standardni Microsoft 365 zakucati).
Formule
Uvek možete da pišete formule koje se upućuju na tipove podataka. Međutim, ako želite da izdvojite tekst ćelije sa povezanim tipom podataka pomoću funkcije TEXT, dobijate #VALUE! grešku.
Zao bi se zaoredili korišćenje funkcije FIELDVALUE i navođenje polja Ime za argument field_name" U sledećem primeru, ako ćelija A1 sadrži tip podataka deonica, formula bi dala ime zaliha.
=FIELDVALUE(A1,"Name")
Međutim, ako ćelija A1 ne sadrži povezani tip podataka, funkcija FIELDVALUE će vratiti grešku #FIELD!.. Ako želite da procenite da li ćelija sadrži povezani tip podataka, možete da koristite sledeću formulu koja koristi funkciju ISERROR za testiranje da li će funkcija FIELDVALUE vratiti grešku.
=IF(ISERROR(FIELDVALUE(A2,"Name")),"Ova ćelija nema povezani tip podataka","Ova ćelija ima povezani tip podataka")
Ako formula kao rezultat daje grešku, vraća tekst "Ova ćelija nema povezani tip podataka", u suprotnom će vratiti poruku "Ova ćelija ima povezani tip podataka".
Ako želite samo da potisnete #FIELD! grešku, možete da koristite:
=IFERROR(FIELDVALUE(A1,"Name"),"")
To daje praznu ćeliju ako postoji greška.
Uslovno oblikovanje
Ćeliju možete uslovno da oblikujete na osnovu toga da li ona ima povezani tip podataka. Prvo treba da izaberete ćelije koje su potrebne za uslovno oblikovanje, a zatim idite na stavke Početna > Uslovno oblikovanje > Novo > Korišćenje formule... Za formulu biste koristili sledeće:
=NOT(ISERROR(FIELDVALUE(A1,"Name")))
Gde je ćelija A1 gornja ćelija u opsegu koji želite da procenite. Zatim primenite željeni format.
U ovom primeru, ako ćelija A1 sadrži važeće ime polja za "Ime", formula vraća vrednost TRUE i oblikovanje će biti primenjeno. Ako ćelija A1 ne sadrži povezani tip podataka, formula vraća vrednost FALSE i neće biti primenjeno oblikovanje. Možete da uklonite NOT ako želite da istaknete sve ćelije koje ne sadrže važeće povezane tipove podataka.
VBA
Postoji nekoliko VBA metoda (Visual Basic za aplikacije) koje možete da koristite da biste identifikovali da li ćelija ili opseg sadrže povezane tipove podataka. Ova prva procedura koristi svojstvo HasRichDataType.
Obe ove procedure će zatražiti da izaberete opseg ćelija za procenu, a zatim da vratite okvir sa porukama 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 svojstvo 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 isenac konačnog koda je korisnički definisana funkcija (UDF) i upućujete ga kao na bilo koju drugu Excel formuli. Jednostavno unesite =fn_IsLinkedDataType(A1), gde je A1 ćelija kojoj želite da procenite.
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 neki od ovih primera, pritisnite kombinaciju tastera Alt+F11 da biste otvorili Visual Basic Editor (VBE), a zatim idite na stavku Umetanje >modulu inalepite kôd u novi prozor koji se otvara sa desne strane. Alt+Q možete da koristite da biste se vratili Excel kada završite. Da biste pokreneli bilo koji od prva dva primera, idite na karticu Projektator >Kôd> Makroi > sa liste izaberite makro koji želite da pokrenete, a zatim izaberite stavku Pokreni .
Potrebna vam je dodatna pomoć?
Možete uvek da postavite pitanje stručnjaku u Excel Tech zajednici ili da potražite pomoć u Zajednicama.