Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Prepojené typy údajov boli prvýkrát vydané Excel pre Microsoft 365. júna 2018 a iné funkcie ich možno nebudú môcť identifikovať. Môže to overiť najmä vtedy, ak chcete na podmienené určenie, či bunka obsahuje prepojený typ údajov, použiť iné funkcie. V tomto článku sú vysvetlené niektoré alternatívne riešenia, ktoré môžete použiť na identifikáciu prepojených typov údajov v bunkách.

Poznámka: Prepojené typy údajov sú k dispozícii len pre celosvetoví klienti s viacerými nájomníkmi (štandardné Microsoft 365 kontá).

Vzorce

Vzorce, ktoré odkazujú na typy údajov, môžete vždy napísať. Ak však chcete extrahovať text bunky s prepojeným typom údajov pomocou funkcie TEXT, zobrazí sa #VALUE. .

Alternatívnym riešením je použiť funkciu FIELDVALUE a zadať pole Názov pre field_name funkcie. Ak bunka A1 obsahovala typ údajov akcie, v nasledujúcom príklade by vzorec vrátil názov akcie.

=FIELDVALUE(A1;"Názov")

Ak však bunka A1 neobsahuje prepojený typ údajov, funkcia FIELDVALUE vráti #FIELD!. Ak chcete vyhodnotiť, či bunka obsahuje prepojený typ údajov, môžete použiť nasledujúci vzorec, ktorý pomocou funkcie ISERROR testuje, či funkcia FIELDVALUE vráti chybu.

=IF(ISERROR(FIELDVALUE(A2;"Názov"));"Táto bunka nemá prepojený typ údajov";"Táto bunka obsahuje prepojený typ údajov")

Ak sa vo vzorci vyhodnotí chyba, vráti sa text Táto bunka nemá prepojený typ údajov, v opačnom prípade vráti text Táto bunka obsahuje prepojený typ údajov.

Ak chcete iba potlačiť #FIELD. môžete použiť:

=IFERROR(FIELDVALUE(A1;"Názov");"")

Ak sa vyskytne chyba, vráti sa prázdna bunka.

Podmienené formátovanie

Podmienene formátovať bunku môžete na základe toho, či obsahuje prepojený typ údajov. Najskôr vyberte bunky, ktoré potrebujú podmienené formátovanie, a potom prejdite na položky Domov > Podmienené formátovanie > Nové pravidlo >Použiť vzorec... Pre vzorec by ste mali použiť toto:

=NOT(ISERROR(FIELDVALUE(A1;"Názov")))

Bunka A1 je horná bunka v rozsahu, ktorý chcete vyhodnotiť. Potom použite požadovaný formát.

Ak v tomto príklade bunka A1 obsahuje platný názov poľa pre Názov, vzorec vráti hodnotu TRUE a formátovanie sa použije. Ak bunka A1 neobsahuje prepojený typ údajov, vzorec vráti hodnotu FALSE a formátovanie sa neuloží. Ak chcete zvýrazniť všetky bunky, ktoré neobsahujú platné prepojené typy údajov, môžete odstrániť not.

VBA

Existuje niekoľko metód jazyka VBA (Visual Basic for Applications), pomocou ktorých môžete zistiť, či bunka alebo rozsah obsahuje prepojené typy údajov. Táto prvá procedúra používa vlastnosť HasRichDataType. 

V oboch týchto postupoch sa zobrazí výzva na výber rozsahu buniek, ktoré sa majú vyhodnotiť, a potom sa zobrazí okno s hlásením s výsledkami.

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

V nasledujúcom postupe sa používa vlastnosť 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

Tento zlomok kódu je používateľom definovaná funkcia (UDF) a odkazujete na ňu rovnako ako na každý iný Excel vzorec. Stačí zadať =fn_IsLinkedDataType(A1),kde A1 je bunka, ktorú chcete vyhodnotiť.

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

Akchcete použiť ktorýkoľvek z týchto príkladov, stlačením kombinácie klávesov Alt + F11 otvorte Visual Basic Editor (VBE), prejdite na položku Vložiť modul> a prilepte kód do nového okna, ktoré sa otvorí na pravej strane. Po skončení môžete stlačením kombinácie klávesov Alt + Q Excel späť do práce. Ak chcete spustiť niektorý z prvých dvoch príkladov, prejdite na kartu Vývojár >kód > makrá > vyberte makro, ktoré chcete spustiť zo zoznamu, a potom vyberte položku Spustiť.

Potrebujete ďalšiu pomoc?

Vždy sa môžete opýtať odborníka v komunite Excel Tech Community alebo získať podporu v komunitách.

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×