Excel에서 RTD 함수를 설정하고 사용하는 방법

요약

참고

RTD(RealTimeData) 함수의 성능은 Excel M365 버전 2002 이상에서 크게 향상되었습니다. 자세한 내용은 Excel 성능 및 제한 개선을 참조하세요.

이 문서에서는 RTD(RealTimeData) 함수가 제공하는 기능에 대해 설명합니다. Microsoft Office Excel은 워크시트 함수 RealTimeData(RTD)를 제공합니다. 이 함수를 사용하면 COM(구성 요소 개체 모델) 자동화 서버를 호출하여 실시간으로 데이터를 검색할 수 있습니다.

재무 데이터 또는 과학적 데이터와 같이 실시간으로 업데이트되는 데이터를 포함하는 통합 문서를 만들어야 하는 경우 이제 RTD 워크시트 함수를 사용할 수 있습니다. 이전 버전의 Excel에서는 해당 용도로 DDE(동적 데이터 교환)가 사용됩니다. RTD 함수는 COM 기술을 기반으로 하며 견고성, 안정성 및 편의성 측면에서 이점을 제공합니다. RTD는 실시간 데이터를 Excel에서 사용할 수 있도록 RTD 서버의 가용성에 따라 달라집니다. RTD 서버를 만드는 방법에 대한 자세한 내용은 "참조" 섹션을 참조하세요.

RTD 함수는 통합 문서에서 사용하기 위해 RTD 서버에서 데이터를 검색합니다. 함수 결과는 서버에서 새 데이터를 사용할 수 있게 되고 통합 문서에서 수락할 수 있을 때마다 업데이트됩니다. 서버는 업데이트하기 전에 Excel이 유휴 상태가 될 때까지 기다립니다. 이렇게 하면 개발자가 Excel에서 업데이트를 수락할 수 있는지 여부를 확인해야 합니다. 다른 함수는 워크시트를 다시 계산할 때만 업데이트되므로 RTD 함수는 이와 관련하여 다른 함수와 다릅니다.

RTD 함수는 서버의 데이터에 대한 링크를 제공하지만 다른 워크시트 또는 통합 문서의 셀에 대한 참조와 동일한 유형의 링크는 아닙니다. 예를 들어 통합 문서에서 RTD 함수를 사용하는 경우 통합 문서를 열 때 링크 시작 메시지가 표시되지 않으며 링크 편집 대화 상자를 통해 RTD 함수의 상태 관리할 수도 없습니다.

구문

RTD 함수는 다음 구문을 사용합니다.

=RTD(RealTimeServerProgID,ServerName,Topic1,[Topic2], ...)

여기서 함수 인수는 다음과 같습니다.

  • RealTimeServerProgID

    로컬 시스템에 설치된 RTD 서버의 프로그램 ID를 나타내는 문자열입니다. 일반적으로 설치 프로시저 또는 RegSvr32를 사용하여 등록된 COM 추가 기능입니다. RealTimeServerProgID는 필수 인수입니다.

  • ServerName

    RTD 서버를 실행할 서버의 이름을 나타내는 문자열입니다. RTD 서버가 로컬로 실행되는 경우 ServerName은 빈 문자열("")이거나 생략되어야 합니다.

  • Topic1, [Topic2], ...

    검색할 데이터를 결정하는 문자열입니다. 하나의 항목만 필요하지만 topics 1개에서 28개까지 사용할 수 있습니다.

RTD 사용

RTD 함수의 예로 여러 동시 경합에서 실행기에 대한 연속 데이터를 제공하는 서버에서 정보를 검색하는 것이 좋습니다. 서버가 RaceReport.dll 이름이 인 DLL(동적 링크 라이브러리)로 제공되고, 사용자의 컴퓨터에 설치되며, 자체 설치 프로세스에 의해 COM 추가 기능으로 등록되었다고 가정합니다. 이 서버와 함께 사용되는 RTD 함수의 일반적인 형식은 다음과 같습니다.

=RTD("MyRTDServerProdID","MyServer","RaceNum","RunnerID","StatType")

여기서 topics RaceNum, RunnerID 및 StatType이 관심 경합, 데이터가 필요한 실행기 및 함수의 특정 사용에 대한 데이터 형식을 각각 결정합니다.

여기서 사용자는 셀을 선택하고 셀에 다음 수식을 입력할 수 있습니다.

=RTD("ExcelRTD.RaceReport","","2","16","Time")

경주 번호 2에서 주자 번호 16의 현재 경과 시간을 확인합니다. topics 수와 관련 데이터의 특성은 COM 서버의 개발자가 결정합니다. 예를 들어 다음 RTD 함수를 사용하는 경우 경합 보고 서버는 다른 데이터를 제공할 수 있습니다.

=RTD("ExcelRTD.RaceReport","","3","25","Position")

이 경우 반환된 데이터는 경주 번호 3에서 실행기 번호 25의 현재 위치를 나타냅니다.

이러한 방식으로 통합 문서 전체에서 동일한 함수를 다르게 사용하여 동일한 서버에서 다른 데이터를 검색할 수 있으며, 모두 자동으로 업데이트됩니다.

간편 사용을 위한 래퍼

RTD 함수는 Microsoft Visual Basic for Applications UDF(사용자 정의 함수) 내에서 사용할 수 있습니다. 그런 다음 RTD 함수의 래퍼가 됩니다. 이 방법은 RTD 서버 이름 및 ProgID의 세부 정보로부터 사용자를 보호하고 사용자에게 중요한 데이터에만 집중할 수 있도록 하는 데 유용할 수 있습니다.

예를 들어 이전 시나리오에서는 GetTime(RunnerID) 및 GetPosition(RunnerID)의 두 가지 함수가 사용자에게 제공될 수 있습니다. 이러한 함수는 사용자가 항상 동일한 서버 및 경합 번호를 처리한다고 가정합니다. 따라서 사용자는 실행기의 경과된 시간과 위치에 대한 현재 데이터를 수신하기 위해 실행기의 ID만 지정해야 합니다.

계산

RTD는 Excel이 유휴 상태일 때 데이터를 업데이트하므로 Excel이 수동 계산 모드인 경우 계속해서 정보를 받습니다. 이 경우 새 데이터가 캐시되고 수동 계산이 수행될 때 현재 값이 사용됩니다.

보안

RTD 서버는 디지털 서명되어야 합니다. RTD 서버가 디지털 서명되지 않은 경우 서버가 로드되지 않을 수 있으며 RTD 서버를 참조하는 셀에 #N/A 가 표시됩니다.

Microsoft Office Excel 2007의 경우 보안 센터를 사용하여 보안 설정을 검토할 수 있습니다. Excel 옵션 대화 상자의 보안 센터 탭에서 액세스할 수 있습니다.

Microsoft Office Excel 2003 및 Microsoft Excel 2002의 경우 Excel에서 매크로 보안 설정을 조정하여 부하 동작을 변경할 수 있습니다.

참조

RTD 및 Excel 보안에 대한 자세한 내용은 Excel에서 RTD 함수를 설정하고 사용하는 방법을 참조하세요.

RTD 서버를 만드는 방법에 대한 자세한 내용은 Excel용 RealTimeData 서버를 만드는 방법을 참조하세요.