Microsoft Excel
1. 개요
마이크로소프트사에서 만든 스프레드시트 프로그램. Microsoft Office의 구성 요소 중 하나. 그 정체는 윈도 환경의 진정한 '''킬러 애플리케이션'''. 엑셀을 쓰려다 보니 MS Office를 쓰고, MS Office를 쓰려다 보니 윈도를 쓰게 되는 격이다.
2. 상세
마이크로소프트가 1983년에 만든 CP/M의 스프레드시트 프로그램, 멀티플랜(Multiplan)이 시초이다. 마이크로소프트는 골치아픈 운영 체제 따위 신경쓸 것 없이 오피스나 만들어 돈을 벌자는 것이 빌 게이츠의 계획이었다는 얘기도 있다. 초기에는 스프레드시트의 원조라 할 수 있는 애플 II의 '비지캘크'와 경쟁하였는데, 큰 상업적인 성공을 거두게 됐다. 빌 게이츠의 말로는 무려 100기종도 넘는 8비트 컴퓨터에 이식 되었다고 한다. 우리에게 흔히 알려져 있는 코모도어 64, MSX, 애플 II 등의 컴퓨터에 멀티플랜이 이식되었고, 심지어는 CP/M과 같이 팔기도 했다.
1985년 마이크로소프트가 매킨토시 128K에 오늘날의 엑셀이라는 이름으로 스프레드시트 프로그램을 내놓으면서 초기 매킨토시 판매에 큰 도움이 되었다. 그리고 1987년 윈도 2.01과 함께 끼워 팔면서 IBM PC 호환기종에도 출시했다. 그리고 DOS 시절 대세였던 로터스 1-2-3을 몰아내고 현재는 확고한 스프레드시트 프로그램의 대세가 됐다.
3. 기능
(엑셀을 사용하게 되는 분야에서는) 못 하는게 없다고 생각하면 될 정도. 기본으로 지원하는 기능도 엄청나게 다양한데, 후술된 내용을 보면 알 수 있지만 확장성까지 뛰어나다. 기초적인 자료 분석이나 통계에는 이만한 가격대 성능비를 내는 프로그램이 없다. 물론 데이터가 많아지면 액세스로 가야 하고[1] 계산이 복잡해지면 수치해석 프로그램을 동원해야 하지만, 대학 학부 수준에서는 어지간해서야 엑셀로 다 처리가 되기 때문에 이공계열 학과들에서는 교수들이 한번쯤 엑셀로 자료 분석을 해보도록 권하는 실정. 사실 이공계뿐만 아니라 인문계 학부 과정에서도 자주 다루는 프로그램이다. 숫자를 많이 다루는 상경계열은 말할 것도 없다.
최고의 특징은 비주얼 베이직 기반의 사용자 프로그래밍 환경(VBA)을 지원한다는 것. VBA 를 이용하면 엑셀 내부의 동작을 내 맘대로 조작하는 것이 가능[2] 해서 프로그램이 지원하는 것 이외의 기능을 만들 수가 있다. 심지어는 셀에 색깔을 입히고 그것을 움직여 게임[3] 을 만드는 것도 가능할 정도.
게임회사도 다양한 데이터관리를 위해 엑셀을 쓴다. 일명 마도기. 엑셀 파일 기반으로 게임 내 테이블을 관리하는 경우가 거의 100%라고 해도 과언이 아니다. 각종 VBA로 데이터 관리 툴까지 만들어 엑셀 파일 내에 포함시켜 쓰는 경우도 상당히 많다. 이 때문에 엑셀과 VBA는 게임 기획자에게는 필수로 마스터 해야 할 코스로 통한다.
어떤 회사에서는 이걸로 워드 대신 문서를 작성하기도 할 정도다. 엑셀 따로, 워드 따로 띄우기가 귀찮아서 그렇다고. [4] 심지어 공장 설계도 도면을 엑셀로 그린 경우도 있다고 한다. 도시전설이 아니라 엄연한 사실 증언. 셀 칸 너비랑 그리기 기능 등으로 별짓을 다 하니까 되더라고…설계도면 원본파일을 본 사람이 기가막혀한건 또 다른 이야기. 어떤 회사에서는 엑셀로 캐드작업을 하면서 '오토엑셀'이라고 부르기도 했다고.(...)
매크로를 제대로 실무에 활용하려면 VBA를 알아야 한다. VBA와 매크로를 활용할 수 있다면 업무량을 상당히 단축 할 수도 있다.
기능이 원체 다양하다보니 개개인의 활용 능력 편차가 크다. 혹시 작업도중 '이런 기능도 있지 않을까'라거나 '이 작업은 이런 방식으로 가능하지 않을까'라는 의문이 들면 구글에서 검색해보자. 어지간하면 다 재야(?)엑셀 전문가들이 다 정보를 공유하고 있다. 사실 정식 교육기관 못지않게 이런식으로 엑셀을 학습하는 방법도 꽤나 효과적이다.
3.1. 그래프
데이터를 마우스로 긁은 후 "삽입 → 세로 막대형, 꺾은선형, 원형"을 선택하면 막대 그래프, 선 그래프, 원 그래프를 그릴 수 있다.
3.2. 함수
뭐니뭐니해도 엑셀의 꽃은 함수인데 합계를 구하는 SUM부터 해서 부분합을 구하는 SUBTOTAL까지 함수의 수가 300개가 넘을 정도로 엄청난 수를 자랑한다. 보통 함수라고 하면 중·고등학교 시절 수학에서의 함수 때문에 치를 떠는 사람들이 많은데, 전혀 그렇지 않다. 엑셀의 함수는 간편하게 돼있으며, 함수 각각의 설명이 잘 되어 있어서 사용하기 편하다.
z-분포, t-분포, 카이-제곱 분포, F-분포, 회귀 분석 등 간단한 통계학 계산은 엑셀이나 Calc로 할 수 있다. 다만, 자료가 늘어날수록 연산 속도가 급속도로 저하되는 엑셀 특성상 표본 수가 많은 경우는 통계분석용으로 활용하기 어렵다. 물론 스프레드 시트 프로그램이 통계처리가 가능하다는 것 자체만으로도 대단하긴 하다.
Microsoft Excel/함수 목록 참조.
3.3. 통계 데이터 분석 도구
엑셀 2016에선 "파일 → 옵션 → 리본 사용자 지정 → 개발 도구" 하면 화면에 개발 도구가 생긴다. 그리고서 "개발 도구 → Excel 추가 기능 → 분석 도구"를 선택한다.(2010 버전에선 "Excel 추가 기능" 대신 "추가 기능") 그러면 "데이터"에 "데이터 분석"이 생긴다. 그리고 "데이터 분석"에서 z-검정, t-검정, F-검정, 분산 분석, 회귀 분석 등을 한다. 변수들의 입력 범위와 출력할 위치를 지정해주면 된다.
리브레오피스 6의 Calc는 "데이터 → 통계"에서 z-test, Paired t-test, 카이 제곱 테스트, F-test, 분산 분석 (ANOVA), 회귀 등을 고르면 된다.
변수 1 범위는 a2:a51처럼 적어주면 되고, 변수 2 범위는 b2:b51처럼 적어주면 된다. 결과는 d1이나 h1처럼 적어주면 된다.
엑셀로 통계 분석하는 방법
4. 버그
4.1. 큰 숫자를 부정확하게 입력받는 문제
직접 입력하든 CSV와 같이 외부 데이터를 엑셀로 가져올 때이든 큰 숫자 데이터가 지수로 표현되면서 데이터가 소실되는 문제가 발생한다.
엑셀에선 11자리 이상의 큰 숫자를 입력하면 영문자 E를 사용해 지수로 표현된다. 이때 직접 키보드로 입력하든 복사 붙여넣기, CSV 파일과 같이 엑셀 외부에서 불러오든 숫자는 15자리를 초과하면 작은 자리의 숫자부터 모두 0으로 치환된다.
예를 들어 15자리를 초과 이상의 숫자를 입력하면 16자리 숫자 1234567890123456 은 1234567890123450 으로 17자리 숫자 12345678901234567 은 12345678901234500 으로 받아들인다.
이 문제는 마이크로소프트에서 이미 알고 있으며 이 문제에 대한 답변은 "Excel 프로그램 상의 제한 사항"이라 답한다.
출처 출처 아카이브
이는 버그 임을 인지하고 있지만 고칠 의지가 없거나 회사 정책상의 문제로 방치하고 있는 듯 하다.
이 문제는 한컴오피스의 한셀에서도 나타나지만 리브레오피스의 Calc와 Google Sheets에서는 같은 문제가 발생하지 않는다.
5. 기타
엑셀 팁
- 모 회사에서는 VBA를 이용하여 플로터 출력 프로그램을 만들어 사용한다. 이 쯤되면 장인. 문제는 이런 것이 약간 특수 분야인데 정상적으로 만든(?) 독일 제품에 비하여 정밀도는 약간 낮지만 속도는 빠르다는 호평을 받으며 세계 시장에서 먹히고 있다는 것이다. 사실 별도로 비주얼 베이직을 살 생각 없으면 VBA로 어플리케이션 짜는 일은 적지 않다. HTML5 짜는거나 엑셀에서 VBA로 짜는거나 코딩은 거기서 거기.
- 군대 인트라넷을 보면 엑셀의 VBA 기능을 이용한 많은 게임들을 볼 수 있다. 사다리타기 게임부터 턴 전략 시뮬레이션까지. 행정병/전산병들의 잉여력(?)을 볼 수 있는 대목이다. 종종 전역일계산기를 만들어 놓기도 한다. 입대일 기준으로 단축되는 전역일수도 포함해서.
- 엑셀 2010에서는 여러가지 옛날 기능들이 복잡하게 변경되거나 삭제되었다. 2007 버전 이후 기준 변경 및 삭제된 기능들 - 도구 메뉴, 차트 작성 마법사, 차트 메뉴, 각종 메뉴 명령어 변경들, 대부분의 이중 축 혼합형 차트.[8]
- 한글과컴퓨터 회사에서도 한글과컴퓨터 한컴오피스라고 해서 서로 똑같이 호환이 되는 엑셀 컴퓨터 소프트웨어를 개발하기도 했다. 자세한 내용은 항목 참조. 사실 한글과컴퓨터가 아래아 한글만 만들던 시절에는 아래아한글+엑셀을 패키지로 판매한 적도 있었다. 이후 MS가 MS 워드를 본격적으로 푸시 하면서 두 회사가 같이 묶인 제품을 판매한 것은 흑역사가 되었다. 결국 한글과컴퓨터도 오피스군으로 제품이 필요했고 로터스와 제휴하여 이것 저것 판매를 했지만 신통치 못하고 따로 개발하게 되었다.
- 95에서는 이스터 에그로 게임 같은 게 하나가 숨겨져 있는데, 95번째 행을 전체 선택하고 포인터를 B95로 옮긴 뒤 Help → About Microsoft Excel → Tech Support(Ctrl + Shift를 누른 채로)를 순서대로 클릭하면 Hall of Tortured Souls(고통받는 영혼들의 방)이라는 제목의 1인칭 길찾기 게임이 실행된다. 텍스처에는 개발자들의 이름이 적혀 있으며 마지막 방에는 개발자들의 사진이 있다. 가운데에 독극물이 놓여져있고 계단 위에 있는 육각형 공간은 둠의 첫번재 맵을 오마주했다는 설이 있다. 당시 둠 열풍이 불었고, 마이크로소프트 사내에서도 둠 열풍은 결코 예외가 아니었기 때문에 이런 분위기에 편승해 넣은 이스터에그로 여겨진다.
- 2000에서는 자동차 게임 이스터 에그가 있다. 빈 문서를 웹페이지로 저장한 다음 열고 WC2000셀로 이동해 Ctrl+Alt+Shift를 누른 채 왼쪽 상단의 엑셀 로고를 누르면 된다. 플레이어의 자동차에서는 2연장 따발총을 발사하거나 뒷쪽에 기름을 뿌릴 수 있다. 이 이스터 에그의 이름은 Dev Hunter로 도로에는 개발자들 이름이 주루룩 나열되어있다.
- Ctrl+↓을 누르지 않고 그냥 ↓키만 쭉 누르고 있으면 마지막 줄에 도달하기까지 "9시간 36분 10초 19"가 걸린다. #
- 한글화 하는 과정에서 오역이 있다. 대표적으로 해찾기 기능의 해 찾기 결과 창에 우편물 종류 라는 해괴한 번역이 있으나, 원문은 Sensitivity , 즉 민감도 이다.
- 믿기지 않겠지만 엑스컴 스타일의 게임을 엑셀로 구현한 사람도 있다. 제목은 엑셀컴(EXLCOM)
- 엑셀로 드럼머신을 만든 사람도 있다. https://www.youtube.com/watch?v=To2JIXGoYzA
- 그림은 고사하고 동영상을 만드는 사람도 있다. エクセルでひぐらしのなく頃に解OP(엑셀로 쓰르라미 울적에 해답편 오프닝 만들기) 본격 셀 애니메이션(...).
- 이 프로그램과 직접적인 관련은 없지만 2013년 경제학계를 발칵 뒤집어 놓은 엑셀발 불황 사건이 발생했다. 유로존 위기에서 긴축재정 지지자들의 핵심 논거는 라인하르트-로고프의 90% 이론이었는데[9] 이 이론은 GDP 대비 국가부채의 비율이 높을수록 경제성장률이 줄어들고 부채 비율이 90%가 넘으면 경제성장률이 마이너스로 떨어지기 때문에 부채비율이 90%가 넘는 국가는 긴축 재정을 펴야 한다는 이론이었다. 그런데 메사추세츠 대학의 박사과정 연구원들이 이 논문을 자세히 분석해 본 결과 스프레드시트(엑셀)에 잘못된 데이터를 입력해 계산하였음이 밝혀졌고 제대로 된 데이터를 넣어 계산한 결과 부채비율이 90%를 넘어도 경제성장률은 +2.2%가 나왔다. 이 사건으로 유로존은 잘못된 데이터를 들고 긴축정책을 강요하여 유럽의 경제를 자폭시켜버린 역대급 실책을 저지른 꼴[10] 이 되었으며 폴 크루그먼 교수는 이를 엑셀발 불황(The Excel Depression)이라며 비꼬았다.[11] 이에 대해 저자인 케네스 로고프와 칼 라인하르트는 엑셀 오류는 인정하였으나, 전체적인 주장은 변함이 없다고 언급하였다.
6. 관련 문서
- LibreOffice Calc
- Google Sheets
[1] 엑셀의 거의 유일한 단점으로 지적받는 부분인데, 데이터량이 많아지면 연산이 엄청나게 느려진다. 사실 태생이 데이터베이스나 통계분석이 아닌 스프레드시트 프로그램이니 단점이라기도 뭐하다. [2] 사실 외부 프로그램도 프로그래밍에 따라 얼마든지 조작할 수 있다. 매크로 바이러스가 괜히 있는 것이 아니다[3] 카드게임, 지뢰찾기, 테트리스나 로그라이크 게임까지도...(!)[4] 해외에선 문서작성 프로그램으로 종종 쓰인다. 물론 해외에서도 엑셀로 문서작성한다고 하면 '뭥미?'라는 표정으로 쳐다볼 정도로 마이너다. [26진법] A B (A~Z)이다.[5] 256열, 65536행. 각각 $$\displaystyle {2}^{8}$$과 $${2}^{16}$$이다.[6] 16384열, 1048576행. 각각 $$\displaystyle {2}^{14}$$와 $$\displaystyle {2}^{20}$$이다.[7] Ctrl 키와 방향키를 누르면 표의 젤 끝으로 커서가 이동된다. 아무것도 입력이 안 된 상태라면 Ctrl+→, Ctrl+↓로 확인이 가능하다. 내용이 있어도 같은 방식으로 한두 번 더 누르면 끝으로 이동 가능하다. 따라서 한 시트당 총 셀의 개수는 $$\displaystyle {2}^{34}$$개. 즉 171억 7986만 9184개이다. 물론 데이터량이 많아지면 기하급수적으로 연산 속도가 느려지는 특성상, 이 정도 셀을 다 채우는 건 사실상 불가능하다. 어지간한 PC로는 셀이 몇만 개 정도만 차도 로딩이 눈에 띄게 느려진다.[8] 다른 기능으로 복잡하게 변경되었다.[9] 'This time is different' (2009)라는 책에서 잘 설명이 되어 있다. '이번엔 다르다'는 제목으로 번역.[10] 정책적인 긴축재정은 당연히 경제를 위축시킨다.[11] Paul Krugman, 2013-04-18. https://www.nytimes.com/2013/04/19/opinion/krugman-the-excel-depression.html