Roy에는 = ‘[http://www.formville.com/C4_free-timesheets.html [Timesheet] s.xlsm] Week01′! L6과 같이 다른 통합 문서의 셀을 참조하는 수식이 있습니다.

그는 수식이 다른 셀에서 워크 시트의 이름 (Week01)을 가져 오도록하여 수식이보다 일반적인 용도가되도록하고 싶습니다. Roy는 B9 셀에있는 워크 시트 이름을 사용할 수 있도록 수식을 변경하는 방법을 궁금해합니다.

이를 처리하는 가장 쉬운 방법은 INDIRECT 워크 시트 함수를 사용하는 것입니다. 기본적으로 셀 주소를 가져와 “포인터”로 사용한 다음 해당 셀에서 값을 검색합니다. 예를 들어 다음을 사용할 수 있습니다.

=INDIRECT(L6)

결과적으로 셀 L6의 값을 가져 와서 실제로 원하는 것에 대한 포인터로 사용합니다. 따라서 L6 셀에 “A7″이 포함 된 경우 함수는 A7 셀에있는 값을 반환합니다. 흥미롭게도 이러한 방식으로 함수를 호출하면 다른 결과가 나타납니다.

=INDIRECT("L6")

결과는 L6 셀의 내용을 포인터로 사용하는 대신 L6 셀의 내용입니다.

이 정보를 사용하면 INDIRECT 기능과 함께 올바르게 작동하는 주소를 쉽게 조합 할 수 있습니다.

=INDIRECT("'[Timesheets.xlsm]" & K2 & "'!L6")

이 수식은 원하는 워크 시트의 이름이 K2 셀에 저장되어 있다고 가정합니다. 해당 셀에 유효한 워크 시트 이름이 없으면 수식에서 #REF 오류가 반환됩니다.

이 접근 방식에서 한 가지 중요한 “잘못”은 통합 문서 (Timesheets.xlsm)가 열려 있는지 확인해야한다는 것입니다. INDIRECT는 열려 있지 않은 통합 문서에 도달하지 않습니다. 열려 있지 않으면 원하는 값 대신 #REF 오류가 발생합니다.

수식을보다 일반적인 용도로 만들려면 다음과 같이 워크 시트 내의 셀에서 통합 문서 이름, 워크 시트 이름 및 셀 참조를 모두 가져올 수 있습니다.

=INDIRECT("'[" & K1 & "]" & K2 & "'!" & K3)

이 경우 K1에는 통합 문서 이름 (Timesheets.xlsm)이 포함되고 K2에는 워크 시트 이름 ( “Week01”)이 포함되고 K3에는 원하는 셀 ( “L6”)이 포함됩니다.

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (6069)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.