셀값과 같은 시트이름을 찾아 수식에 사용하기
오늘 어떤 선생님에게서 전화가 왔습니다. 학생별로 시트가 있고, 그 시트에 학생의 성적이 있는데, 별개의 시트에서 학생의 이름을 입력하면, 그 학생의 이름과 같은 시트를 찾아 그 시트의 특정셀값이 출력되게 할 수 없느냐는 질문이었습니다. 정교하게 짜려면 VBA를 사용해야할 것 같습니다만, 간단히 하려면 다음과 같이 가능합니다. 그림에서처럼, 학생의 이름별로 시트가 별도로 있고, 그 학생의 시트안에는 각 기간별 성적이 들어있습니다. 그리고, 학생의 시트마다 평균 성적을 구해둡니다. 여기서는 7행에 평균성적에 해당하는 셀들이 있군요. "평균"이라는 이름의 시트에 와서, 다음과 같이 수식을 입력합니다. =HLOOKUP(B$1,INDIRECT($A2&"!C1:F7"),7,0) --------답만 알기를 원하신다면 이 이후는 읽지 않으셔도 됩니다.--------- 사실, Kevin학생의 국어평균점수는 이미 Kevin시트의 C7셀에서 구해두었기때문에 =Kevin!C7 이라고 간단하게 구할 수 있습니다. 그런데 굳이 복잡한 함수를 쓴 이유는 뭘까요? 엑셀의 함수를 사용할때는 많은 양의 데이타를 다룬다는 것을 항상 염두에 두어야합니다. 그래서 함수를 아래로, 오른쪽으로 끌어채우기했을때도 제대로 작동할 수 있도록 만들어야합니다 . 그렇지 않고 모든 셀마다 함수를 달리 주어야한다면 엑셀을 사용하는 의미가 없는 것이지요. =Kevin!C7 이라는 수식을 아래로 끌면 오류가 날것입니다. Kevin시트가 아니라 Mike시트에서 셀을 찾아야하는데 그걸 표현해 주지 못하니까요. 따라서 올바른 수식을 만들려면 Kevin이나 Mike와 같은 시트이름을 그대로 사용하지 말고, 수식으로 표현해야 할 것입니다. 또, =Kevin!C7 이라는 수식을 오른쪽으로 끌면 차례대로 =Kevin!D7 =Kevin!E7 =Kevin!F7 의 수식이 만들어질 것이고, 각각 영어, 수학, 과학의 평