Category»

Notice»

Statistics Graph
티스토리 모바일 블로그

 

'&'에 해당되는 글 2

  1. 2014.12.19 indirect 함수를 이용한 동적참조영역 활용법 -2 (1)
  2. 2013.02.19 5. 연산자
 



오늘은 지난 시간 약속대로 참조할 영역이 다른 시트일 경우에는 어떻게 하는지를 알아보겠습니다.


아래 예제를 보겠습니다.




위 예제 역시 성적표 입니다.


조금 다른 점이 있다면 위와 같이 성적표 시트가 따로 있고,


아래와 같이 가져올 참조 데이터 영역은 중간고사, 기말고사라는 시트가 따로 있는 경우입니다.





다행인 것은 중간고사 시트와 기말고사 시트의 참조영역 범위가 똑같다는 것이죠.


만약 범위가 다른 경우라면 상당히 난감한 상황이 발생합니다.


(뭐 그래도 가장 데이터가 많은 행을 기준으로 하면 그럭저럭 위기는 모면하겠죠.)




이번에도 마찬가지로 indirect 함수를 사용할 것입니다.


우선 시험종류 아래 B4 셀에 데이터 유효성 검사를 지정하겠습니다.


제한 대상에 [목록]을 선택하시고, 원본: [중간고사,기말고사]라고 입력하시고 [확인]을 클릭합니다.





이젠 성적을 가져올 차례입니다.




여기서 잠깐 생각해봅시다.


B4 셀의 값이 중간고사일 경우와 기말고사일 경우 참조영역은 다음과 같이 표현할 수 있습니다.



      • 중간고사일 경우 참조영역: 중간고사!$B$3:$I$12
      • 기말고사일 경우 참조영역: 기말고사!$B$3:$I$12



참조영역을 가져오기 위해 indirect 함수를 사용한다고 예고했었죠.



그럼 저 영역중에 중간고사와 기말고사는 시트명으로 들어가기 때문에 참조영역이 가능합니다.


그래서 B4셀의 값을 그냥 가져오면 되겠죠.



문제는 $B$3:$I$12의 범위를 어떻게 삽입할 것인가 하는 것입니다.


indirect 함수에서 참조범위가 아닌 것은 모두 데이터로 입력해야 한다는 것을 지난 번에 배웠죠.


그래서 "!$B$3:$I$12" <---- 이 범위가 추가되면 되겠죠.



그런데 한가지 문제가 있습니다.


참조영역과 데이터를 연결하는 방법의 문제인데요,


indirect(B4"!$B$3:$I$12") <--- 이렇게 수식을 넣으면 어떻게 될까요?



입력이 되지 않습니다. 참조영역+데이터의 형식이 되기 때문입니다.


다시 말하자면 참조영역 형식도 아니고 데이터 형식도 아닌 잡탕이 되었기 때문에 인식이 안됩니다.



그래서 엑셀 프로그램이 인식하도록 약간의 기술이 필요합니다.


바로 & 라는 연결연산자가 등장하는거죠.



위 참조영역을 다시 맞게 정리하면 아래와 같습니다.


indirect(B4&"!$B$3:$I$12")






위 그림에서 C6셀에 들어간 수식은 다음과 같습니다.


=VLOOKUP($B$6,INDIRECT($B$4&"!$B$3:$I$12"),2,0)




시트 탭이 몇 개라도 형식만 똑같이 맞춰두면 동적 참조영역 얼마든지 쉽게 만들수 있겠죠!



도움이 되셨다면 공감 꾸~욱 눌러주시고 가세요. ^^



저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

1. 연산 기능에 따른 분류


○ 연산자의 종류

이름

연산자 

부호 연산자

+, -

산술 연산자

+, -, *, /, % 

증감 연산자

++, --

대입 연산자

=, +=, -=, /=, %=, |=, ^=, >>=, >>>=, <<= 

관계 연산자

==, !=, >, <, >==, <== 

논리 연산자

&&, ||, ! 

비트 연산자

&, |, ~, ^, >>, >>>, << 

조건 연산자

? :

캐스트 연산자

(type) 



2. 자주 사용하는 연산자의 종류


○ 기본 연산자 : 수학의 사칙연산

연산자 

연산 

+

더하기 

a + b

-

빼기

a - b

*

곱하기 

a * b

/

나누기 

a / b

%

나머지

a % b


○ 대입 연산자

연산자

연산 

값을 대입 

a = 10 

+= 

현재 값에 더하기 

a + = b (a = a + b) 

 -=

현재 값에 빼기 

a - = b (a = a - b)  

*= 

현재 값에 곱하기 

a * = b (a = a * b) 

/= 

현재 값에 나누기 

a / = b (a = a / b) 

%= 

현재 값에 나머지를 대입 

a % = b (a = a % b) 


○ 증감 연산자

연산자

연산 

예 

++ 

1을 증가 

a ++ 또는 ++ a (a = a + 1)

-- 

1을 감소 

a -- 또는 -- a (a = a - 1)


○ 비교 연산자

연산자

연산

예 

==

같다 

a == b 

!= 

같지 않다 

a != b 

작다 

 a < b

크다 

 a > b

<= 

작거나 같다 

 a <= b

>= 

크거나 같다 

 a >= b


○ 논리 연산자

연산자

연산 

예 

a와 b가 모두 true이면 true

(a와 b 모두 평가)

a & b 

&& 

a와 b가 모두 true이면 true

(a가 false이면 b 평가 안함) 

a && b 

 |

 a와 b중 하나 이상이 true이면 true

(a와 b 모두 평가)

a | b 

 ||

  a와 b중 하나 이상이 true이면 true

(a가 true이면 b 평가 안함)

 a || b

a가 true이면 false, false이면 true

!a






저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'프로그래밍 > 초보자를 위한 Java 프로그래밍 입문' 카테고리의 다른 글

7. if문  (0) 2013.02.20
6. 다양한 연산 예제  (0) 2013.02.20
5. 연산자  (0) 2013.02.19
4. 변수의 할당 = 대입  (0) 2013.02.18
3. 변수의 선언과 자료형  (0) 2013.02.17
2. 처음으로 만들어보는 자바 프로그램  (0) 2013.02.16
 

티스토리 툴바