엑셀에는 너무나도 다양한 함수들이 있다. 전문적으로 엑셀을 다루지 않는다 해도 엑셀은 너무나도 강력한 기능의 함수들이 있기 때문에 배워놓으면 좋다. 프로그래머라면 엑셀 함수를 처음 다루어도 어색하지 않다. 왜냐면 엑셀 함수는 프로그래밍에서의 함수와 같기 때문이다.
엑셀의 행과 열은 배열을 나타내며, 엑셀 함수는 대부분 이 배열의 요소를 인자로 받아들여 계산을 한다. 엑셀은 이런 함수들을 아무런 사전 조치(프로그래밍 언어는 함수를 사용하려면 그 함수의 라이브러리를 포함해야 함) 없이 그대로 사용할 수 있기에 누구나 조금만 배우면 매우 유용하게 사용할 수도 있다.
그 예로 얼마 전 행렬의 행렬식을 계산하는 프로그램을 만들었다. 인터넷 상에 다차원 행렬의 행렬식을 구하는 예가 너무 나도 적어서 테스트를 못하고 있었는데, 엑셀을 보니 행렬식을 구하는 함수가 있는 것이다. 사실 필자도 엑셀을 다루지 않는 사람이기에 공부를 해가면서, 기초부터 정리해 가려고 한다.
누군가에게는 너무 쉬운 내용일 테지만, 누군가에게는 도움이 되길 바랍니다.
행렬의 행렬식을 구하는 예인데 실용적인 예는 아니다. 엑셀시트의 기본 구성은 알파벳은 열, 숫자는 행을 나타낸다.
A1:E5 (A는 열 1은 행, E는 열 5는 행)
보통 사람들은 행-열 순서에 익숙하지만, 엑셀의 표현은 열-행 순서다. 위 그림에서 보면 함수 적는 곳에 인자값 A1:E5 다. : 는 범위를 나타낸다고 보면 된다. A1:E5는 행렬을 나타낸다. 범위를 함수의 인자로 넣었다.
함수(인자값,..)
프로그래밍을 해본 적이 없는 분을 위해 부연 설명하자면,가로 안의 함수(인자값) 은 하나의 데이터라고 생각하면 된다. 그 데이터는 하나의 요소가 될 수도 있고 범위를 가진 배열이 될 수도 있다. 물론 직접 값(value)를 넣어도 된다.
위 그림은 행렬식을 구하는 함수에 인자값으로 5X5행렬을 넣었다. 아무 곳에 행과 열을 맞춰 행렬을 적고 출력을 원하는 셀(G5)을 선택하고, 함수 적는 곳에 위와 같이 함수와 인자 값을 써 넣으면 자동으로 계산이 된다.(범위를 드래그and 드롭 해도 된다.)
엑셀에서 함수 적는 곳을 수식 입력 줄이라고 하는데 이곳에는 함수 뿐 아니라 단순한 값(숫자, 문자)를 넣을 수도 있다.
함수를 사용하기 위해서는 =로 시작해야 한다.
=의 의미는 값을 대입한다는 의미다. 함수는 값을 반환한다. 이 반환 값은 계산의 결과 값이다.
(좌변 값)G5 = (우변 값)MDETERM(A1:E5)
위처럼, 셀 G5에 함수의 반환 값을 넣는다는 의미다.
위 내용만 알고 있다면, 모든 함수를 활용할 수 있다. 사실 결국 모든 프로그래밍 언어도 함수와 값의 조작이기 때문에..
다음은 약간의 팁이다.
수식입력줄에 =a 를 타이핑하면 자동으로 A로 시작하는 모든 함수 목록이 펼쳐진다. 화살표키로 내려가면서 모든 함수를 체크할 수 있다. 원하는 함수에서 엔터를 치지말고 Tab키를 누르면 자동완성이 된다.
오른 편에 함수에 대한 설명이 나온다.
그리고, 한 가지 조언을 하자면 모든 함수를 외우려고 생각하지 말자. 프로그래머도 아주 기초적인 함수가 아니면 그때 그때 레퍼런스를 찾아서 설명을 읽으며 사용한다.
뭔지 모르지만 두 번째 함수는 많은 인자값을 가지고 있다. 이 인자값들이 무슨 값을 나타내는지 알고 싶다면 왼편에 fx를 눌러본다.
위와 같은 창이 나타난다.
함수 인수(=인자) 에 대한 설명이 자세히 나와있다.
이 창이 떠 있는 상태에서 인자값에 매치되는 셀을 택하면 된다. 각각의 인자값에 같은 방식으로 셀을 택하든 직접 값을 넣든 하여 함수를 완성하면 된다.
수식 입력 줄에 아무것도 안써진 상태에서 fx를 누르면
모든 함수를 확인할 수 있다.
정리하면 함수를 사용하는 방법은 함수가 어떤 기능을 하는 지와 함수가 필요로 하는 인자값이 어떤 값인지를 파악하는 것이다.
그리고 입력값과 출력값을 셀에 적절히 배치시키면 되는 것이다.