PERT/CPM을 계산하는 엑셀 파일이다.
[VBA]PERT/CPM를 위한 엑셀 (Spreadsheet for Critical Path Mathod)
건물 에너지, IT와 여러 가지 글들
건축환경 및 설비 분야에서 공기의 상태값(psychrometrics)을 아는 것이 매우 중요하다.
(Excepted from Wikipedia) Although the principles of psychrometry apply to any physical system consisting of gas-vapor mixtures, the most common system of interest is the mixture of water vapor and air, because of its application in heating, ventilating, and air-conditioning and meteorology. In human terms, our thermal comfort is in large part a consequence of not just the temperature of the surrounding air, but (because we cool ourselves via perspiration) the extent to which that air is saturated with water vapor.
공기 상태를 계산하는 엑셀 프로그램을 여기에 올린다.
사용전 엑셀 보안 설정
– 도구 -> 매크로 -> 보안 -> “보안 수준” 탭에서 “보통”을 선택 (Excel 2003이하)
사용법
1) 시트 안에 있는 “계산기” 단추를 누른다.
2) 알고 있는 두 값을 선택해서 그 값을 입력한 다음 “계산” 단추를 누른다.
예) 건구온도 20도, 상대습도 55%를 입력해서 나머지 값을 구하고자 할 경우 다음과 같이 입력한다.
3) 계산결과는 엑셀 시트와 대화상자 동시에 출력이 된다.
4) 첨부 엑셀 파일(You can download the following file)
문제) 엑셀을 이용하여 이차방정식()을 풀어라
출제의도) If문을 이해한다.
해법)
1) 첫행(셀A1부터 셀E1까지)에 방정식에 필요한 계수들을 기록한다.
2) 둘째 행을 계수의 입력과 근에 대한 출력으로 설정한다.
3) 마지막 셀(셀F2)에 프로시저를 실행시킬 ‘단추’를 둔다.
4) VBA로 이차방정식을 푸는 프로시저를 다음과 같이 작성한다.
특징: 실근뿐만 아니라 허근도 구한다. 불능과 부정도 판정한다. 설령 이차항의 계수가 0일지라도, 즉 이차방정식이 아닐지라도 계산한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
Sub SolveQuadraticEquation() Dim a As Single Dim b As Single Dim c As Single 'Dim x1 As Single '실근만 있을때는 유효하나, 허근이 있으면 좀 곤란하게 되지요. 'Dim x2 As Single Dim d As Single '판별식 discriminant Dim u As Single Dim v As Single Dim output1 As String '허근의 표시 문자인 i를 출력하기 위해서, Dim output2 As String '그리고 부정과 불능을 출력하기 위해서 문자열로 처리함. '1) 셀에서 값을 읽어온다. Read the varibles from the excel cells a = Range("A2") b = Range("B2") c = Range("C2") ' '2) find the roots of equation If a <> 0 Then ' --> quadratic equation d = b ^ 2 - 4 * a * c u = -b / (2 * a) If d > 0 Then '서로 다른 두 실근(實根)을 갖는다. v = Sqr(d) / (2 * a) output1 = u + v output2 = u - v ElseIf d < 0 Then '허근(虛根)을 갖는다. v = Sqr(-d) / (2 * a) output1 = u & "+" & v & "i" output2 = u & "-" & v & "i" Else 'd=0 '중근(重根)을 갖는다. output1 = u output2 = output1 End If Else 'a = 0 If b <> 0 Then '--> linear equation output1 = -c / b output2 = "None" Else 'b= 0 If c <> 0 Then output1 = "不能" output2 = "不能" Else 'c = 0 output1 = "不定" 'indeterminate output2 = "不定" End If End If End If ' '3)출력 Output Range("D2") = output1 Range("E2") = output2 ' End Sub |
이전 글 : PERT/CPM을 위한 엑셀
제가 참고한 자료는 Seal교수의 논문입니다. 이 논문은 http://archive.ite.journal.informs.org/ ··· seal.php 에서 받을 수 있습니다. 엑셀 파일도 함께 있습니다.
간단한 작업 입력으로 PERT/CPM의 주요 계산을 수행하는 프로그램이다.
공장 또는 작업현장에 있어서의 원자재로부터 최종제품에 이르기까지의 자재,제품조립 및 종합 조립의 흐름을 순서 정연하게 능률적인 방법으로 계획하고 공정을 결정하고 예정을 세워 작업을 할당하고 감독하는 절차가 공정관리이다.
작업 흐름을 순서정연하게 하는 방법 중의 하나가 주공정법(critical path method)으로 본 프로그램은 주공정법을 수행할 수 있도록에 작성되었다.
작업명, 설명, 소요일수, 선행작업 등을 입력하여 공정시간과 여유시간을 계산하여 출력하고, 작업흐름을 한 눈에 볼 수 있도록 간트 도표를 출력한다.
엑셀 프로그램의 특징
1) 작업의 공정시간(EST, EFT, LST, LFT)을 계산한다.
2) 작업의 여유시간(TF, DF, FF)을 계산한다.
3) 작업의 주공정(Critical Path) 여부를 판단한다.
4) 작업의 바 차트를 그려준다.
프로그램의 구성
1) 사용설명서 시트 -> 사용을 위한 주의사항이 있음 (매크로 사용시 필독)
2) 입력 시트 -> 사용자가 직접 입력하는 부분과 계산 부분이 함께 있음
3) 바 차트 시트
프로그램 설명
Download file : CriticalPath.XLS
1) 입력시트에서 작업명, 설명, 소요일수, 선행작업 등을 입력한다.
– 작업명은 알파벳으로 한글자 이상 입력한다
– 설명에는 작업 내용을 기술한다.
– 선행작업이 둘 이상일 때는 쉼표로 구분한다.
2) 입력이 완료되면, 계산실행 단추를 누른다.
3) 공정시간과 여유시간을 계산하여 출력한다. 또한 간트도표를 별도의 시트에 출력한다.
참고한 논문에서는 엑셀의 내장 함수를 이용하여 계산하였으나,
본 엑셀은 내부적으로 비주얼베이직(Visual Basic)을 이용하였다.
If you want to read an english post, please click here.