Citu līdzekļu izmantošana saistīto datu tipu identificēšanai

Saistītie datu tipi tika izlaistiExcel pakalpojumam Office 365 jūnijā 2018, un kā tādi citi līdzekļi, iespējams, nevarēs tos identificēt. Tas var būt īpaši patiess, ja vēlaties izmantot citus līdzekļus, lai noteiktu, vai šūna satur saistītu datu tipu. Šajā rakstā ir izskaidroti daži risinājumi, ko var izmantot, lai norādītu saistīto datu tipus šūnās.

Formulas

Jūs vienmēr varat rakstīt formulas, kurās ir atsauces uz datu tipiem. Tomēr, ja vēlaties izvilkt šūnas tekstu ar saistītu datu tipu, izmantojot funkciju TEXT, saņemsit #VALUE! Ja norādītā pozīcija atrodas pirms lauka pirmā vienuma vai aiz lauka pēdējā vienuma, formula radīs kļūdu #REF!.

Risinājums ir izmantot funkciju FIELDVALUE un norādīt argumenta field_name lauku Name . Šajā piemērā, ja šūnā A1 ir iekļauts akciju datu tips, formula atgriezīs noliktavas nosaukumu.

= FIELDVALUE (a1, "name")

Tomēr, ja šūnā a1 nav ietverts saistīts datu tips, funkcija FIELDVALUE atgriež #FIELD! kļūdu. Ja vēlaties novērtēt, vai šūnā ir saistīts datu tips, varat izmantot tālāk norādīto formulu, kas izmanto funkciju ISERROR, lai pārbaudītu, vai funkcija FIELDVALUE atgriezīs kļūdu.

= IF (ISERROR (FIELDVALUE (a2; "name")), "šajā šūnā nav saistīto datu tips", "šai šūnai ir saistīts datu tips")

Ja formulas rezultāts ir kļūda, tad tiek atgriezts teksts "šajā šūnā nav saistīta datu tipa", pretējā gadījumā tiek atgriezta "šajā šūnā ir saistīts datu tips".

Ja vienkārši vēlaties apspiest #FIELD! kļūdu, varat izmantot:

= IFERROR (FIELDVALUE (a1; "name"), "")

Kas atgriezīs tukšu šūnu, ja tiek parādīts kļūdas ziņojums.

Nosacījumformatēšana

Šūnu var Formatēt , pamatojoties uz to, vai tajā ir saistīts datu tips. Vispirms atlasiet šūnas, kurām ir nepieciešams nosacījumformatējums, un pēc tam dodieties uz sākums > Nosacījumformatēšana > Jauna kārtula > formulas lietošana... Formulai varat izmantot tālāk norādītās darbības.

= NOT (ISERROR (FIELDVALUE (a1, "vārds")))

Kur šūna a1 ir augšējā šūna diapazonā, kuru vēlaties novērtēt. Pēc tam lietojiet vēlamo formātu.

Šajā piemērā, ja šūnā A1 ir derīgs lauka nosaukums "name", formula atgriež vērtību TRUE un formatējums tiks lietots. Ja šūnā a1 nav ietverts saistīts datu tips, formula atgriež APLAMs, bet formatējums netiek lietots. Varat noņemt funkciju NOT, ja vēlaties iezīmēt šūnas, kurās nav derīgu saistīto datu tipu.

VBA

Ir vairākas VBA (Visual Basic for Applications) metodes, ko var izmantot, lai noteiktu, vai šūnā vai diapazonā ir saistīti datu tipi. Šajā pirmajā procedūrā tiek izmantots Rekvizīts HasRichDataType

Abas šīs procedūras piedāvās atlasīt šūnu diapazonu, ko vēlaties novērtēt, un pēc tam atgriezt ziņojuma lodziņu ar rezultātiem.

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

Nākamā procedūra izmanto rekvizītu 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

Šis beigu koda fragments ir lietotāja definēta funkcija (UDF), un atsauce uz to ir tieši tāda pati kā citas Excel formulas. Vienkārši ievadiet =fn_IsLinkedDataType (a1), kur a1 ir šūna, kuru vēlaties novērtēt.

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

Lai izmantotu jebkuru no šiem piemēriem, nospiediet taustiņu kombināciju ALT + F11 , lai atvērtu Visual Basic redaktoru (VBE), un pēc tam pārejiet uz Ievietot> moduliun ielīmējiet kodu jaunā logā, kas tiek atvērts labajā pusē. Kad esat pabeidzis, varat izmantot taustiņu kombināciju Alt + Q , lai izietu no programmas Excel. Lai izpildītu kādu no pirmajiem diviem piemēriem, dodieties uz cilni Izstrādātājs> kodu> makro> sarakstā atlasiet izpildāmo makro un pēc tam atlasiet palaist.

Vai nepieciešama papildu palīdzība?

Vienmēr varat pajautāt speciālistiem Excel Tech kopienā, saņemt atbalstu Answers kopienā vai ieteikt jaunu līdzekli vai uzlabojumu vietnē Excel User Voice.

Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×