http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=DDs2egZxzPfnaEeoRsXYKZ2RvJxo4tBR
|
A |
B |
C |
D |
E |
F |
G |
1 |
구분 |
101 |
102 |
103 |
104 |
105 |
106 |
2 |
2008-08-08 |
빔 |
참 |
빔 |
빔 |
참 |
빔 |
3 |
2008-08-09 |
빔 |
참 |
빔 |
참 |
빔 |
빔 |
4 |
2008-08-10 |
빔 |
참 |
빔 |
참 |
빔 |
빔 |
5 |
2008-08-11 |
참 |
참 |
참 |
빔 |
빔 |
참 |
6 |
2008-08-12 |
참 |
빔 |
빔 |
빔 |
빔 |
빔 |
7 |
2008-08-13 |
참 |
참 |
빔 |
빔 |
빔 |
참 |
8 |
2008-08-14 |
참 |
빔 |
참 |
빔 |
빔 |
빔 |
9 |
2008-08-15 |
빔 |
참 |
빔 |
참 |
참 |
참 |
10 |
|
|
|
|
|
|
|
11 |
|
101 |
|
103 |
|
|
106 |
12 |
2 |
|
|
|
|
|
|
13 |
2008-08-08 |
3 |
|
|
|
|
|
14 |
2008-08-10 |
|
|
|
|
|
|
질문 1은 위 예시의 11행을 어떻게 구성하느냐 하는 것과 같습니다. A13:A14 날짜 범위를 주면 각 열의 해당 날짜 행을 뒤져 모두 "빔"이 되는 열에만 그 방번호를 출력하도록 했습니다. 이건 행번호가 유동적일 때 그 범위를 주어 COUNTIF를 시행하면 되는 문제이지요. 아래 수식의 유동참조 기법을 참고, 응용해 보세요.
A12 =ROW(B1)+MATCH(A13,A2:A9,0) ; 행번호 계산의 일례. B11에 쓰임. 실전에선 필요 없음
B11 =IF(COUNTIF(INDIRECT(ADDRESS(ROW(B1)+MATCH($A13,$A2:$A9,0),COLUMN())):INDIRECT(ADDRESS(ROW(B1)+MATCH($A14,$A2:$A9,0),COLUMN())),"빔")=$A14-$A13+1,B1,"") ; G11까지 복사
B13 =COUNT(B11:G11) ; 해당 데이타의 개수
질문 2는 위 11행과 B13의 결과 값을 어떻게 장식하느냐의 문제겠습니다. 예로써 IF문을 써서 "방 없음"을 표시할 수 있겠지요. 조건부 서식을 써서 색상이 넣을 수도 있을 것이고 VBA를 써서 클릭하면 B13이 없을 때에만 "방 없음", 그렇지 않은 경우 유효성 검사 결과를 출력, 방 번호를 선택하게 할 수도 있을 겁니다. (그런 기법과 제가 별로 친한 사이가 아니라서리...생략합니다.)
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
중복 없는 난수 발생, 시간 구간 계산 (0) | 2008.11.14 |
---|---|
공란이 아닌 셀 순번 매기기 (0) | 2008.11.14 |
경우의 수 (8*5, 12ab) (0) | 2008.11.14 |
중복된 데이터를 하나로 보고, 순위를 구하여 원하는 데이터를 찾기 (0) | 2008.11.14 |
(A1, A2, A3) 형태로부터 A1 위치 찾아 내기 (0) | 2008.11.14 |