Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

연결된 데이터 형식은 Microsoft 365용 Excel 2018년 6월에 처음 릴리스되었습니다. 따라서 다른 기능은 식별할 수 없습니다. 이 기능은 다른 기능을 사용하여 셀에 연결된 데이터 형식이 있는지 여부를 조건부로 식별하려는 경우 특히 그에 해당할 수 있습니다. 이 문서에서는 셀에서 연결된 데이터 형식을 식별하는 데 사용할 수 있는 몇 가지 해결 방법을 설명합니다.

참고: 연결된 데이터 형식은 전 세계 다중 테넌트 클라이언트(표준 Microsoft 365 계정)에서만 사용할 수 있습니다.

수식

항상 데이터 형식을 참조하는 수식을 작성할 수 있습니다. 그러나 TEXT 함수를 사용하여 연결된 데이터 형식이 있는 셀의 텍스트를 추출하려는 경우 텍스트가 #VALUE! 오류가 발생합니다.

해결 방법을 통해 FIELDVALUE 함수를 사용하여 필드 인수의 이름 필드를 field_name 있습니다. 다음 예제에서 셀 A1에 주식 데이터 형식이 포함된 경우 수식은 주식 이름을 반환합니다.

=FIELDVALUE(A1,"Name")

그러나 셀 A1에 연결된 데이터 형식이 없는 경우 FIELDVALUE 함수는 #FIELD! 오류를 반환합니다.. 셀에 연결된 데이터 형식이 있는지 여부를 평가하려는 경우 ISERROR 함수를 사용하여 FIELDVALUE 함수가 오류를 반환하는지 테스트하는 다음 수식을 사용할 수 있습니다.

=IF(ISERROR(FIELDVALUE(A2,"Name")),"이 셀에는 연결된 데이터 형식이 없습니다", "이 셀에는 연결된 데이터 형식이 있습니다.")

수식이 오류로 평가하면 "이 셀에는 연결된 데이터 형식이 없습니다"라는 텍스트가 반환됩니다. 그렇지 않으면 "이 셀에 연결된 데이터 형식이 있습니다"가 반환됩니다.

단순히 를 표시하지 #FIELD! 오류, 다음을 사용할 수 있습니다.

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

오류가 있는 경우 빈 셀을 반환합니다.

조건부 서식

연결된 데이터 형식이 있는지 여부에 따라 셀의 서식을 조건부로 지정할 수 있습니다. 먼저 조건부 서식이 필요한 셀을 선택한 다음, 새 규칙 > 수식 사용 > > 홈 >... 수식의 경우 다음을 사용하게 됩니다.

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

여기서 셀 A1은 평가하려는 범위의 최상위 셀입니다. 그런 다음 원하는 형식을 적용합니다.

이 예제에서는 셀 A1에 "Name"에 대한 유효한 필드 이름이 포함된 경우 수식이 TRUE를 반환하고 서식이 적용됩니다. 셀 A1에 연결된 데이터 형식이 없는 경우 수식은 FALSE를 반환하고 서식은 적용되지 않습니다. 대신 유효한 연결된 데이터 형식을 포함하지 않는 셀을 강조 표시하려면 NOT를 제거할 수 있습니다.

VBA

셀 또는 범위에 연결된 데이터 형식이 Visual Basic for Applications 식별하는 데 사용할 수 있는 여러 VBA(Visual Basic for Applications) 메서드가 있습니다. 이 첫 번째 프로시저는 HasRichDataType 속성을 사용합니다. 

이러한 두 프로시저 모두 평가할 셀 범위를 선택한 다음 결과와 함께 메시지 상자를 반환하라는 메시지가 표시됩니다.

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

이 다음 절차에서는 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

이 최종 코드는 UDF(사용자 정의 함수)입니다. 다른 코드 수식과 Excel 참조합니다. =fn_IsLinkedDataType(A1)을입력하면 A1이 평가하려는 셀입니다.

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

이러한 예제를 사용하게 하여 Alt+F11을 눌러 VBE(Visual Basic 편집기)를 연 다음> 모듈 삽입으로 이동하고 오른쪽에 열리는 새 창에 코드를 붙여넣습니다. Alt+Q를 사용하여 완료되면 Excel 종료할 수 있습니다. 처음 두 예제 중 하나를 실행하려면 목록에서 실행할 매크로를 > 코드>> 개발자 탭으로 이동한 다음 실행을 선택합니다.

추가 지원

언제든지 Excel 기술 커뮤니티에서 전문가에게 문의하거나 커뮤니티에서 지원을 받을 수 있습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×