Saistīto datu tipi pirmo reizi tika izlaisti Excel pakalpojumam Microsoft 365 2018. gada jūnijā, un līdz ar to citi līdzekļi, iespējams, nevarēs tos identificēt. Tas var būt īpaši iespējams, ja vēlaties izmantot citus līdzekļus, lai nosacījuma vajadzībām noteiktu, vai šūnā ir ietverts saistītais datu tips. Šajā rakstā ir izskaidroti daži risinājumi, kurus varat izmantot saistīto datu tipu identificēšanai šūnās.

Piezīme.: Saistīto datu tipi ir pieejami tikai globālajiem vairāku nomnieku klientiem (standarta Microsoft 365 konti).

Formulas

Vienmēr varat rakstīt formulas, kurās ir atsauces uz datu tipiem. Tomēr, ja vēlaties izvilkt šūnas tekstu ar saistīto 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 argumentam nosaukums norādīt field_name nosaukumu. Šajā piemērā, ja šūnā A1 bija akciju datu tips, formula atgrieztu akciju nosaukumu.

=FIELDVALUE(A1,"Nosaukums")

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

=IF(ISERROR(FIELDVALUE(A2,"Nosaukums")),"Šai šūnai nav saistīto datu tipa","Šai šūnai ir saistītais datu tips")

Ja formulas rezultāts ir kļūda, tiek atgriezts teksts "Šai šūnai nav saistīto datu tipa", pretējā gadījumā tā atgriezīs tekstu "Šīs šūnas saistīto datu tips".

Ja vienkārši vēlaties izlaist #FIELD! varat izmantot:

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

Tiek atgriezta tukša šūna, ja ir kļūda.

Nosacījumformatēšana

Varat nosacījumformatēšanu šūnai atkarībā no tā, vai tai ir saistītais datu tips. Vispirms atlasiet šūnas, kurām nepieciešams nosacījumformatējums, un pēc tam pārejiet uz > Nosacījumformatēšana, >Jauna kārtula > Lietot formulu... Formulai jāizmanto šāda formula:

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

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

Ja šajā piemērā šūnā A1 ir derīgs "Nosaukums" lauka nosaukums, formula atgriež TRUE, un tiek lietots formatējums. Ja šūnā A1 nav saistīto datu tipa, formula atgriež VĒRTĪBU FALSE, bet formatējums netiks lietots. Varat noņemt NOT, ja vēlaties iezīmēt visas šūnas, kurās nav derīgu saistīto datu tipu.

VBA

Pastāv vairākas VBA (Visual Basic for Applications) metodes, ko varat izmantot, lai noteiktu, vai šūnā vai diapazonā ir saistīto datu tipi. Pirmajā procedūrā tiek izmantots rekvizīts HasRichDataType. 

Abas šīs procedūras piedāvā atlasīt jānovērtē šūnu diapazonu, 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

Šajā nākamajā procedūrā tiek izmantots rekvizīts 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 pēdējā koda fragments ir lietotāja definēta funkcija (UDF), un uz to atsaucas tāpat kā jebkuru citu Excel formulu. 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 kādu no šiem piemēriem, nospiediet taustiņu kombināciju Alt+F11, lai atvērtu Visual Basic redaktoru (VBE), pēc tam dodieties uz Ievietot > moduli un ielīmējiet kodu jaunajā logā, kas tiek atvērts labajā pusē. Varat izmantot taustiņu kombināciju Alt+Q, Excel lai izietu no darba, kad esat pabeidzis. Lai izpildītu kādu no pirmajiem diviem piemēriem, dodieties uz cilni Izstrādātājs> Kods > Makro> sarakstā atlasiet makro, kuru vēlaties izpildīt, un pēc tam atlasiet Palaist.

Vai nepieciešama papildu palīdzība?

Vienmēr varat vērsties pie speciālista Excel Tech kopienā vai saņemt atbalstu Answers kopienā.

Vai nepieciešama papildu palīdzība?

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

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar tulkojuma kvalitāti?
Kas ietekmēja jūsu pieredzi?

Paldies par jūsu atsauksmēm!

×