Michael은 월 이름 (1 월, 2 월 등)이있는 워크 시트를 가지고 있습니다.

A 열에서. B 열에서 그는 A 열에 지정된 워크 시트의 B11 셀에서 값을 가져 오려고합니다. 따라서 A 열에 “March”월이 포함 된 경우 3 월 바로 오른쪽에있는 셀 (B 열에 있음) )

그는 3 월에 가치를 끌어 올리고 싶다! B11. Michael은 INDIRECT 기능이이 작업에 도움이 될 것이라고 믿지만 작동시킬 수 없습니다.

좋은 소식은 Michael이 맞다는 것입니다. INDIRECT 함수를 사용하면됩니다. 함수의 기본 사용법은 다음과 같습니다.

=INDIRECT(A1&"!B11")

오류를 확인하는 함수 안에 수식을 포함하여보다 “강력한”버전의 수식을 만들 수 있습니다. 오류가 있으면 셀에 “No Data”라는 문구가 표시됩니다.

=IFERROR(INDIRECT(A1&"!B11"),"No Data")

이러한 접근 방식은 A1 셀에있는 모든 것을 직접 사용하며 A1의 값이 텍스트와 단일 단어 인 경우 작동합니다. A1에 두 번째 단어 (예 : “July Production”)가있을 수있는 경우 A11 셀에있는 모든 항목 주위에 아포스트로피를 포함하도록 수식을 약간 수정해야합니다.

=IFERROR(INDIRECT("'"&A1&"'!B11"),"No Data")

아포스트로피는 워크 시트 이름을 묶는 데 사용되므로 A1 셀에는 아포스트로피가 포함 된 텍스트가있을 수 없습니다. 따라서 A1 셀의 “July Production”은 제대로 작동하지만 ( “July Production”이라는 워크 시트가있는 경우) “July ‘s Production”은 아포스트로피 때문에 작동하지 않습니다.

또한 A1 셀에 선행 또는 후행 공백이있을 수있는 경우 해당 공백을 제거해야합니다. 보정하는 가장 쉬운 방법은 TRIM 함수를 사용하는 것입니다.

=IFERROR(INDIRECT("'"&TRIM(A1)&"'!B11"),"No Data")

지금까지 제시된 모든 변형은 A1의 값이 실제 문자열이면 잘 작동합니다. A1의 값이 월 이름처럼 보이는 실제 날짜이면 작동하지 않습니다. 날짜는 내부적으로 숫자로 저장되며 지금까지 설명한 수식 중 하나를 사용하면 셀 참조에 날짜 일련 번호를 추가하려고 시도하여 오류가 발생합니다. 대신 TEXT 함수를 사용하여 A1의 날짜를 월 이름으로 변환해야합니다.

=IFERROR(INDIRECT(TEXT(A1,"mmmm")&"!B11"),"No Data")

다른 사람들이 A1 셀에 월 이름을 입력 할 것으로 예상하는 경우 해당 항목을 가능한 한 간단하게 만드는 것이 좋습니다. 이를 수행하는 가장 좋은 방법은 데이터 유효성 검사를 사용하여 A1 셀에 입력 할 수있는 항목을 제한하는 것입니다. (데이터 유효성 검사를 사용하는 방법은 _ExcelTips_의 다른 문제에서 다루었습니다.)

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

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