B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R | |
2 |
20 |
기압 |
|
3 |
|
10 |
50 |
|
1.0353 |
1.191 |
1.0742 |
|
T/P |
1 |
5 |
10 |
50 |
3 |
70 |
도 |
|
2 |
|
0 |
100 |
|
1.0284 |
1.1102 |
1.0489 |
|
-100 |
1.0105 |
1.054 |
1.113 |
1.82 |
4 |
|
|
|
|
|
|
|
|
|
f= |
1.0565 |
|
0 |
1.0039 |
1.0177 |
1.0353 |
1.191 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
100 |
1.0039 |
1.018 |
1.0284 |
1.1102 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
110 |
1.0039 |
1.0188 |
1.0295 |
1.1082 |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
150 |
1.0039 |
1.0022 |
1.0288 |
1.111 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
160 |
1.0039 |
1.0022 |
1.0235 |
1.114 |
E2 =MATCH(B2,O2:R2,1)
E3 =MATCH(B3,N3:N8,1) ; 이와 같이, MATCH함수의 1 옵션을 쓰면 그 데이타를 넘지 않는 최대구간의 위치를 돌려줍니다. 예로써 E2의 경우 1, 5, 10, 50 기압의 열 중 20을 넘지 않는 최대열은 3번(10기압) 열을 돌려주지요. 이하는 그 데이타를 입력으로 사용, 보간법 수치를 내는 과정입니다. 즉,
G2 =INDEX(O2:R2,1,E2)
H2 =INDEX(O2:R2,1,E2+1)
G3 =INDEX(N3:N8,E3,1)
H3 =INDEX(N3:N8,E3+1,1)
J2 =INDEX($O$3:$R$8,E$3,E$2)
K2 =INDEX($O$3:$R$8,E$3,E$2+1)
L2 =J2+(K2-J2)*($B$2-G$2)/(H$2-G$2) ; (70도가 들어 있는 구간의 처음 0도의 20기압에 해당하는 f)
J3 =INDEX($O$3:$R$8,E$3+1,E$2)
K3 =INDEX($O$3:$R$8,E$3+1,E$2+1)
L3 =J3+(K3-J3)*($B$2-G$2)/(H$2-G$2) ; (70도가 들어 있는 구간의 끝 100도의 20기압에 해당하는 f)
L4 =L2+(L3-L2)*(B3-G3)/(H3-G3) ; (L2, L3를 y좌표로 두어 x=0~100도 중 70도에 해당하는 y를 구함)
참고로, L4의 수식에 G2:L3를 밀어 넣어 한 셀로 정리할 수는 있지만 수식이 무척 길어질 겁니다. (한번 정리된 이후에는 G2:L4가 필요 없음)
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
날짜별 세로표를 가로표로 재정렬 (0) | 2008.11.14 |
---|---|
군대달력 날짜 변환 (0) | 2008.11.14 |
복소수 4칙연산 체계 기초 (0) | 2008.11.14 |
주민번호로 특수조건 나이 구하기 (0) | 2008.11.14 |
구간별 시간 계산 (0) | 2008.11.14 |