※ 요약

엑셀은 버전업을 할때마다 새로운 함수들을 추가해왔다. 이렇게 새로 추가된 함수는 하위 버전의 엑셀에서 오픈할 경우 #NAME? 오류를 발생시키기도 하므로 버전별로 추가된 함수들을 알아두는 것도 나쁘지 않다. 그래서 이번 포스트에서는 엑셀 버전별로 새로 추가된 함수들에 대해 알아보도록 하겠다. 참고로 새로 추가된 모든 함수들을 나열하지는 않았는데, 그 이유는 생각보다 많아서 필자 손가락이 아플까봐다.. 고로 더 많은 정보가 필요한 독자는 맨 아래 관련 페이지를 참고하기 바란다.


※ 임시

 엑셀 버전

 함수

 설명

 2007

SUMIF

COUNTIFS

AVERAGEIF 

AVERAGEIFS

IFERROR

 다중 조건 처리 함수들 추가됨

 2010

RANK.EQ

RANK.AVG

NETWORKDAYS.INTL

WORKDAY.INTL

AGGREGATE

 기본 함수명에 마침표(.)를 찍는 방식의 함수들이 추가됨

 2013

ISFORMULA

FORMULATEXT.DAYS

BITAND

BITLSHIFT

BITRSHIFT

BITOR

BITXOR

 수식과 관련된 함수들이 추가됨

 2016

IFS

SWITCH

FORECAST.ETS

MAXIFS

MINIFS

CONCAT

 논리, 통계, 텍스트 등의 함수들 추가





※요약

chmod : 파일이나 디렉토리의 읽기/쓰기 접근 권한을 변경한다.

change mode



※특징

pmode 값은 _S_IREAD와 _S_IWRITE 값만 사용한다.



※함수 원형 및 설명

int chmod( const char *filename, int pmode );
//filename : 파일의 경로
//pmode : 파일에 설정할 접근 모드 값
//반환값 : 정상 일 때 0, 에러 시 -1

접근 권한

설 명

비 고

_S_IREAD

읽기 접근 권한

-

_S_IWRITE

쓰기 접근 권한

_S_IREAD 속성 해제



※예제

#include <stdio.h>
#include <sys⁄stat.h>    //_S_IREAD, _S_IWRITE
#include <io.h>          //chmod

int main( )
{
	char strPath[] = { "D:\\Text.txt" };
	
	int nResult = chmod( strPath, _S_IREAD );

	if( nResult == 0 )
	{
		printf( "읽기 전용으로 속성 변경 성공" );
	}
	else if( nResult == -1 )
	{
		perror( "실패 - " );
	}

	return 0;
}





※요약

mkdir : 디렉토리(폴더)를 생성한다.

make directory


※특징

만들려는 폴더가 이미 존재하면 errno는 EEXIST,

폴더가 부정확하면 errno는 ENOENT


※함수 원형 및 설명

int mkdir( const char *dirname );
//dirname : 생성할 디렉토리 경로와 이름
//반환값 : 정상 일 때 0, 에러 시 -1



※예제

#include <stdio.h>
#include <direct.h>		//mkdir
#include <errno.h>		//errno

int main( )
{
	char strFolderPath[] = { "D:\\CreateFolder" };
	
	int nResult = mkdir( strFolderPath );

	if( nResult == 0 )
	{
		printf( "폴더 생성 성공" );
	}
	else if( nResult == -1 )
	{
		perror( "폴더 생성 실패 - 폴더가 이미 있거나 부정확함\n" );
		printf( "errorno : %d", errno );
	}

	return 0;
}





※요약

rmdir : 디렉토리(폴더)를 삭제한다.



※특징

디렉토리 내에 파일이 존재하거나 사용중이면 삭제할 수 없다.

삭제 전에 디렉토리의 존재 유무 확인 후 삭제하면 좋다.



※함수 원형 및 설명

int rmdir( const char *dirname );
//dirname : 삭제할 디렉토리 경로
//반환값 : 정상 일 때 0, 에러 시 -1



※예제

#include <stdio.h>
#include <direct.h>		//rmdir
#include <errno.h>		//errno

int main( )
{
	char strFolderPath[] = { "D:\\TestFolder2" };
	
	int nResult = rmdir( strFolderPath );

	if( nResult == 0 )
	{
		printf( "폴더 삭제 성공" );
	}
	else if( nResult == -1 )
	{
		perror( "폴더 삭제 실패 - 폴더 안에 파일이 있거나 사용중\n" );
		printf( "errorno : %d", errno );
	}

	return 0;
}





※요약

remove : 지정한 경로의 파일을 삭제한다.



※특징

읽기 전용, 숨김, 시스템 속성 등을 갖는 파일은 삭제할 수 없다.

또 현재 사용 중인 파일도 삭제할 수 없다.



※함수 원형 및 설명

int remove( const char *path );
//path : 파일 경로
//반환값 : 정상 일 때 0, 에러 시 -1



※예제

#include <stdio.h>

int main( )
{
	char strPath[] = { "D:\\Text2.txt" };
	
	int nResult = remove( strPath );

	if( nResult == 0 )
	{
		printf( "파일 삭제 성공" );
	}
	else if( nResult == -1 )
	{
		perror( "파일 삭제 실패" );
	}

	return 0;
}


+ Recent posts