엑셀(EXCEL)/함수 10

근무기간 산정 DATEDIF 함수

살다보면 특정날짜의 기간을 산정할 일이 많이 있습니다. 뭐 예를 들면 그녀와 만난지 100일, 1000일.. 이런 기념일을 챙기기 위해. 또는 우리아이가 태어난지 몇개월, 몇일. 그리고 내가 금연한지 몇 일? 근무기간? 내가 지금까지 살아온 날을 일수로 따지면?? 아무튼 일수 계산을 하는데 엑셀에서 어떤 함수를 쓰시나요? 오늘은 함수마법사를 클릭해서 아무리 찾아 보아도 눈에 보이지 않는 함수를 알려드립니다. DATEDIF 함수 DATEDIF함수는 로터스 1-2-3과의 호환성을 위해 엑셀에 몰래 심어놓은 함수입니다. 그래서 함수마법사에는 없습니다. 당연 사용자들이 잘 모르는 함수이기도 합니다. DATEDIF함수는 시작일과 종료일 사이의 기간을 일, 월, 년 등으로 반환하는 함수입니다. DATEDIF(sta..

OFFSET함수

▒ OFFSET 함수 범주 : 찾기 /참조 영역 OFFSET함수는 기준셀 위치를 기준으로 지정한 행과 열만큼 떨어진 위치의 참조 영역을 표시하는 함수입니다. 참조영역은 단일셀 또는 셀범위가 될 수 있습니다. 구문을 보면 아래와 같습니다. =OFFSET(reference,rows,cols,height,width) =OFSSET(①기준셀, ②행수, ③열수, ④높이(행수), ⑤폭(열수)) (아래 그림 참조) 아래 그림에서 =OFFSET(A4,2,2,1,1) A4 셀에서 아래(행)로 2칸 우측(열)으로 2칸 떨어진 지점에서 높이1칸, 폭1칸 결과는 C6셀이 되며 단일셀로 C6값을 반환합니다. 그래서 1,400 =OFFSET(A4,4,3,3,2) A4 셀에서 아래(행)로 4칸 우측(열)으로 3칸 떨어진 지점에서 ..

단가 크기별로 절사자리 수 달리하는 수식

실행내역 또는 하도급 내역서 등 내역서를 작성하다보면 여러가지 여건으로 도급단가나 업체에서 견적해온 단가를 참조(도급단가에 몇%)하여 내역서를 작성해야 할 경우가 있습니다. 많은 분들이 ROUND함수나 TRUNC함수를 사용하여 자리수를 10원, 100원 또는 1,000원 단위에서 절사하는 방법을 사용할 것입니다. 그런데 금액의 크기에 따라 절사하는 자리수를 달리하고 싶은 경우 많은 분들이 IF함수를 사용합니다. =IF(단가*비율>=1000,TRUNC(단가*비율,-2),TRUNC(단가*비율,0)) 위와 같이 IF함수를 사용해서 1,000원 이상인 경우는 100원 단위에서 절사를 하고 아닌 경우는 원단위 미만에서 절사를 하는 방법을 사용합니다. 어떤 분은 1,000원 이상일때는 10원 단위에서 10,000원..

숫자를 문자로 바꾸는 NUMBERSTRING 함수

계약서, 기성청구서, 입찰내역서 등의 문서에 항상 총금액을 한글과 숫자로 표기하고 있습니다. 엑셀에서 숫자를 한글로 표기하는 함수가 있는데 바로 NUMBERSTRING 함수 입니다. 사용방법은 간단합니다. =NUMBERSTRING(A2,1) (단, A2에는 금액이 입력되어 있어야 합니다.) 위 그림과 같이 A2에 123,450,000 이 입력되어 있다면 '일억이천삼백사입오만' 이라고 나타납니다. 그리고 수식에 1을 2로 바꾸면 한자, 3으로 바꾸면 숫자 각각을 한글로 표기합니다. 그런데 보통 금액을 표기하면 '일금 일억이천삼백사십오만원정' 이라고 표기를 합니다. 그래서 수식을 단순히 =NUMBERSTRING(A1,1) 라고만 적을 것이 아니라 ="일금 " & NUMBERSTRING(A1,1) & "원정"..

공정표 작성과 DAY 함수

일반적으로 공정표를 작성할때 아래 그림과 같이 날짜를 일정한 단위로 구분하여 입력합니다. 이렇게 공정표의 날짜를 구분하고자 하는데 가끔 불편한 부분이 있습니다. 한 개의 열(Column)을 7일 단위로 하여 공정표를 작성한다고 하면 시작일을 입력하고 다음열은 7을 더하며 작성하는데 월이 바뀌면 다시 첫째주 월요일의 날짜를 확인해야 합니다. 물론 많은 시간이 소요되는 것은 아지만 간단히 DAY 함수를 사용하면 달력을 일일이 찾아볼 필요는 없을것 같네요. 먼저 DAY 함수에 대해서 설명을 드리면 제공된 날짜에서 일에 대한 일련 번호를 반환하며. 일은 1에서 31 사이의 정수로 제공됩니다. 예) =DAY(A1) 이라고 하고 A1셀에 2010년 1월 1일 이라고 되어 있다면 "1" 이라는 수가 반환됩니다. DA..

SUMPRODUCT함수

SUMPRODUTC 함수는 배열수식함수로 원리를 이해하면 응용 부분이 아주 많은 함수입니다. 우선 함수에 대한 설명을 위해 아래와 같이 지역별 성별 인구에 대한 표를 만들어 보았습니다. 설명 위해 데이타량이 적은 표로 설명을 드립니다. 일반적으로 이런식의 데이터가 수백 또는 수천개가 있다고 이해하시면 배열함수를 사용하는 이유를 아실듯 합니다. 서울지역 인구의 수 또는 남자의 인구수를 알고자 한다면 수식은 다음과 같습니다. 1) 서울지역 : =SUMPRODUCT(($A$4:$A$13=A16)*($C$4:$C$13)) 2) 남자 : =SUMPRODUCT(($B$4:$B$13=A17)*($C$4:$C$13)) 3) 서울지역에 사는 남자 : =SUMPRODUCT(($A$4:$A$13=A16)*($B$4:$B$1..

짝수행 홀수행 따로 더하기 (SUMPRODUCT 응용)

설계변경 내역서를 작성해 보았다면 각 품목의 합을 구할때 일반내역서와 차이가 있음을 알 수 있습니다. 일반내역서의 경우 SUM 함수를 사용해서 범위만 지정하면 합을 구할 수 있습니다. 그런데 설계변경 내역서의 경우 위 아래의 값을 각각 따로 합을 구해야 하기 때문에 많은 분들이 + 를 사용하여 하나하나 셀을 선택해서 수식을 만들곤 합니다. 그나마 1개의 공종이 1페이지에 끝나는 경우는 작업하기가 좀 쉽죠!! 창호공사나 설비, 전기 공사인 경우에는 이야기가 달라집니다. 하나하나 클릭하며 선택하다 보면 눈이 팽팽 돌아가십니다. 수식이 맞나 확인 할땐 더욱 난감합니다. 품목이 추가되는 경우에도 다시 + 해 줘야 합니다. 그래서 SUMPRODUCT함수를 사용합니다. SUMPRODUCT함수는 배열수식함수입니다. ..

금액자동절사와 ROUNDDOWN 함수

내역서를 작성하다보면 원단위 미만은 절사하여 계산을 합니다. 이중에 많이 사용되는 함수가 TRUNC 또는 INT 함수를 사용하는데 이는 주로 원단위 미만을 절사하는 경우 사용을 합니다. 물론 ROUNDDOWN함수를 사용해도 무관합니다. 그렇지만 함수가 길어서 그런지 아니면 특정 프로그램에서 내역작성시 TRUNC함수로 자동 작성되어 나와서 그런지 잘 사용하지 않습니다. 저도 TRUNC나 INT함수를 사용하는데요.. 이번엔 ROUNDDOWN함수를 이용해 원단위 미만 절사가 아닌 십만단위 또는 백만단위 미만을 절사하는데 내역이 바뀌어도 자동으로 절사해주는 수식에 대해서 알아보겠습니다. 입찰내역서이든 계약내역서이든 아무튼 내역서를 만들면 원가계산서나 집계표를 만들게 되는데 항상 마지막에 금액정리(십만단위, 백만..

산식을 값으로.. EVALUATE 함수

엑셀에서 산식을 값으로 어떻게 계산하는지 보면 대다수가 아래와 같은 방법을 사용하고 있습니다. [사용자 정의 함수]를 사용하지 않는다면 가장 간단한 방법이라 할 수 있습니다. 이번엔 [이름 정의]에서 EVALUATE 함수를 사용하는 방법에 대해 설명 드리겠습니다. 1) 아래 그림과 같이 B2셀을 선택하시고 2) 리본메뉴에서 [수식]-[이름정의] 하시면(2003버전의 경우 [삽입]-[이름]-[정의]) 3) "새 이름"창이 열립니다. 4) 이름(N)란에 산식계산(사용자가 알기쉬운 이름)을 적고 5) 참조대상에는 =EVALUATE(A2) 라고 입력하시고 "확인"을 클릭합니다. 6) B2셀에 "=산식계산" 이라고 입력하고 엔터하시면 값을 얻을 수 있습니다. 7) 마지막으로 아래로 드래그 하세요. 이렇게 사용하는..

산식을 값으로 바꾸는 함수 [사용자정의함수]

수량산출 전문 프로그램이 아닌 엑셀에서 수량산출을 하는 경우가 많이 있습니다. 엑셀에서 수량산출을 해보신분은 누구나 산식을 값으로 바꾸는 방법에 대해서 궁금해 합니다. 가장 간단한 방법은 리본메뉴에서 [수식] - [이름정의]를 선택해서 EVALUATE함수를 사용하는 방법입니다.(EVALUATE 함수 보기) 그런데 [이름정의]를 통한 방법은 사용에 몇가지 불편한 점이 있습니다. 그래서 산식을 값으로 바꾸는 [사용자정의함수]를 만들어 보도록 하겠습니다. [사용자정의 함수]는 사용자가 직접 만든 함수이며 좀더 깊게 알고 싶은 분은 카페나 블로그를 검색해보세요. 여기서는 단지 산식을 값으로 바꾸는 함수를 수량산출 파일에 적용하는 방법에 대해서만 설명 드리겠습니다. 1) VB Editor창에 모듈을 만듭니다.(모..