상위 질문
타임라인
채팅
관점
마이크로소프트 엑셀
마이크로소프트의 스프레드시트 편집기 위키백과, 무료 백과사전
Remove ads
마이크로소프트 엑셀(Microsoft Excel)은 마이크로소프트에서 윈도우, macOS, 안드로이드, IOS, IPadOS용으로 개발한 인기 있는 스프레드시트 편집기이다. 이 프로그램은 계산 또는 컴퓨테이션 기능, 그래프 도구, 피벗 테이블, 그리고 비주얼 베이직 포 애플리케이션 (VBA)이라는 매크로 프로그래밍 언어를 특징으로 한다.
엑셀은 마이크로소프트 365 및 마이크로소프트 오피스 소프트웨어 제품군의 일부를 구성하며 1985년부터 개발되어 왔다.



Remove ads
기능
요약
관점
기본 작동
마이크로소프트 엑셀은 모든 스프레드시트의 기본 기능을 갖추고 있으며,[7] 숫자 행과 문자 이름 열로 배열된 셀 그리드를 사용하여 산술 연산과 같은 데이터 조작을 구성한다. 통계, 공학, 재정적 요구에 부응하는 다양한 기능을 제공한다. 또한 선 그래프, 히스토그램 및 차트로 데이터를 표시할 수 있으며, 매우 제한된 3차원 그래픽 디스플레이도 가능하다. 다양한 요인에 대한 데이터의 종속성을 다른 관점에서 볼 수 있도록 데이터를 분류할 수 있다 (피벗 테이블 및 시나리오 관리자 사용).[8] 피벗 테이블은 데이터 분석 도구이다. 이는 피벗 테이블 필드를 통해 대규모 데이터 세트를 단순화하여 이를 수행한다. 프로그래밍 기능으로 비주얼 베이직 포 애플리케이션이 포함되어 사용자가 다양한 수치적 방법을 사용할 수 있도록 한다. 예를 들어, 수학 물리학의 미분 방정식을 풀고,[9][10] 그 결과를 스프레드시트로 다시 보고할 수 있다. 또한 사용자가 스프레드시트를 완전히 숨길 수 있는 다양한 대화형 기능을 제공하여, 스프레드시트가 맞춤 설계된 사용자 인터페이스를 통해 소위 애플리케이션 또는 의사 결정 지원 시스템(DSS)으로 나타날 수 있다. 예를 들어 주식 분석기,[11] 또는 일반적으로 사용자에게 질문하고 답변과 보고서를 제공하는 설계 도구로 사용될 수 있다.[12][13] 더 정교한 구현에서는 엑셀 애플리케이션이 업데이트 일정에 따라 외부 데이터베이스 및 측정 기기를 자동으로 폴링하고,[14] 결과를 분석하고, 워드 보고서 또는 파워포인트 슬라이드 쇼를 만들고, 이러한 프레젠테이션을 정기적으로 참여자 목록에 이메일로 보낼 수 있다.
마이크로소프트는 엑셀 시작 방식을 제어하는 여러 선택적 명령줄 스위치를 허용한다.[15]
함수
엑셀 2016에는 484개의 함수가 있다.[16] 이 중 360개는 엑셀 2010 이전에 존재했다. 마이크로소프트는 이 함수들을 14개 범주로 분류한다. 현재 484개 함수 중 386개는 "WorksheetFunction" 개체의 메서드로 VBA에서 호출할 수 있으며[17] 44개는 VBA 함수와 이름이 같다.[18]
매크로 프로그래밍
VBA 프로그래밍
엑셀의 윈도우 버전은 마이크로소프트의 비주얼 베이직 방언인 비주얼 베이직 포 애플리케이션 (VBA)을 통한 프로그래밍을 지원한다. VBA를 사용한 프로그래밍은 표준 스프레드시트 기술로는 번거롭거나 불가능한 스프레드시트 조작을 가능하게 한다. 프로그래머는 코드 작성, 디버깅, 코드 모듈 구성 환경을 포함하는 비주얼 베이직 편집기 (VBE)를 사용하여 코드를 직접 작성할 수 있다. 사용자는 VBA에서 수치적 방법을 구현하고 서식 지정이나 데이터 구성과 같은 작업을 자동화할 수 있으며[21] 스프레드시트로 다시 보고된 중간 결과를 사용하여 계산을 안내할 수 있다.
VBA는 Mac Excel 2008에서 제거되었다. 개발자들이 VBA 엔진을 Mac OS X에 기본적으로 포팅하는 것이 적시에 출시될 수 없다고 판단했기 때문이다. VBA는 다음 버전인 Mac Excel 2011에서 복원되었지만,[22] 이 빌드에는 액티브X 개체에 대한 지원이 없어 일부 고급 개발자 도구에 영향을 미쳤다.[23]
VBA 코드를 생성하는 일반적이고 쉬운 방법은 매크로 기록기를 사용하는 것이다.[24] 매크로 기록기는 사용자의 동작을 기록하고 매크로 형태로 VBA 코드를 생성한다. 이 동작들은 매크로를 실행하여 자동으로 반복될 수 있다. 매크로는 키보드 단축키, 명령 버튼 또는 그래픽과 같은 다양한 트리거 유형에 연결될 수도 있다. 매크로의 동작은 이러한 트리거 유형 또는 일반 도구 모음 옵션에서 실행될 수 있다. 매크로의 VBA 코드는 VBE에서 편집할 수도 있다. 루프 함수 및 자체 속성에 의한 화면 프롬프트, 일부 그래픽 표시 항목과 같은 특정 기능은 기록할 수 없지만 프로그래머가 VBA 모듈에 직접 입력해야 한다. 고급 사용자는 사용자 프롬프트를 사용하여 대화형 프로그램을 만들거나 시트가 로드되거나 변경되는 것과 같은 이벤트에 반응할 수 있다.
매크로 기록 코드는 엑셀 버전과 호환되지 않을 수 있다. 엑셀 2010에서 사용되는 일부 코드는 엑셀 2003에서 사용할 수 없다. 셀 색상을 변경하고 셀의 다른 측면을 변경하는 매크로를 만들면 하위 호환성이 없을 수 있다.
VBA 코드는 엑셀 개체 모델을 통해 스프레드시트와 상호 작용한다.[25] 개체 모델은 스프레드시트 개체를 식별하는 어휘와 스프레드시트에 읽고 쓸 수 있으며 사용자와 상호 작용할 수 있는(예: 사용자 정의 도구 모음 또는 명령 모음 및 메시지 상자를 통해) 일련의 제공된 함수 또는 메서드이다. 사용자 생성 VBA 서브루틴은 이러한 작업을 실행하고 매크로 기록기를 사용하여 생성된 매크로처럼 작동하지만 더 유연하고 효율적이다.
역사
엑셀은 첫 버전부터 매크로(반복 작업 자동화) 및 사용자 정의 함수(엑셀의 내장 함수 라이브러리 확장)의 최종 사용자 프로그래밍을 지원했다. 엑셀 초기 버전에서는 이러한 프로그램이 수식 구문을 가진 매크로 언어로 작성되었으며, 특수 목적의 매크로 시트(Windows에서 .XLM 파일 확장자로 저장됨) 셀에 상주했다. XLM은 Excel 4.0까지 엑셀의 기본 매크로 언어였다.[26] 버전 5.0부터 엑셀은 기본적으로 VBA로 매크로를 기록했지만, 버전 5.0에서는 XLM 기록이 옵션으로 허용되었다. 버전 5.0 이후에는 이 옵션이 중단되었다. 엑셀 2021을 포함한 모든 버전의 엑셀은 XLM 매크로를 실행할 수 있지만, 마이크로소프트는 사용을 권장하지 않는다.[27]
파이썬 프로그래밍
2023년 마이크로소프트는 엑셀이 파이썬 프로그래밍 언어를 직접 지원할 것이라고 발표했다.[28][29] 2025년 현재 엑셀의 파이썬 기능은 엔터프라이즈 및 비즈니스 사용자에게 제공되며 (일부 예외 있음), 가족, 개인 및 교육 사용자에게는 미리보기로 제공된다.[30][28]
차트
엑셀은 지정된 셀 그룹에서 생성된 차트, 그래프, 또는 히스토그램을 지원한다. 또한 피벗 테이블에 직접 연결될 수 있는 피벗 차트도 지원한다. 이를 통해 피벗 테이블과 함께 차트도 새로 고칠 수 있다. 생성된 그래픽 구성 요소는 현재 시트에 포함되거나 별도의 개체로 추가될 수 있다.
이러한 디스플레이는 셀 내용이 변경되면 동적으로 업데이트된다. 예를 들어, 중요한 설계 요구 사항이 시각적으로 표시되고, 사용자가 매개변수의 시험 값을 변경하면 설계를 설명하는 곡선의 모양이 변경되고 교차점이 이동하여 최적의 설계를 선택하는 데 도움이 된다.
추가 기능
추가 기능은 추가 기능을 사용하여 사용할 수 있다. 엑셀과 함께 제공되는 몇 가지 기능은 다음과 같다.
Remove ads
데이터 저장 및 통신
요약
관점
행과 열의 수
엑셀 7.0 버전까지는 데이터 세트 크기가 16K (214 = 16384) 행으로 제한되었다. 버전 8.0부터 11.0까지는 64K (216 = 65536) 행과 256개 열 (28, 'IV'로 표시)을 처리할 수 있었다. 현재 버전 16.x를 포함한 12.0 버전부터는 1M (220 = 1048576)개 이상의 행과 16384개 (214, 'XFD' 열로 표시)의 열을 처리할 수 있다.[31]
파일 형식
2007 버전까지 마이크로소프트 엑셀은 기본 형식으로 Excel 이진 파일 형식(.XLS)이라는 독점적인 이진 파일 형식을 사용했다.[32] 엑셀 2007은 기본 파일 형식으로 오피스 오픈 XML을 사용하는데, 이는 엑셀 2002에서 처음 도입된 "XML Spreadsheet"("XMLSS")라는 이전 XML 기반 형식 이후에 나온 XML 기반 형식이다.[33]
새로운 XML 기반 형식을 대체 형식으로 지원하고 권장했음에도 불구하고, 엑셀 2007은 전통적인 이진 형식과 하위 호환성을 유지했다. 또한 대부분의 마이크로소프트 엑셀 버전은 CSV, DBF, SYLK, DIF 및 기타 레거시 형식을 읽을 수 있다. 일부 오래된 파일 형식에 대한 지원은 엑셀 2007에서 제거되었다.[34] 이 파일 형식은 주로 DOS 기반 프로그램에서 유래했다.
이진 파일
오픈오피스는 엑셀 형식에 대한 문서를 작성했다. 이 형식은 97-2003 OLE 형식과 더 오래된 스트림 형식의 두 가지 시대로 나뉜다.[35] 마이크로소프트는 엑셀 이진 형식 사양을 무료로 다운로드할 수 있도록 제공했다.[36]
XML 스프레드시트
엑셀 2002에서 도입된 XML 스프레드시트 형식[33]은 단순한 XML 기반 형식으로, VBA 매크로 저장과 같은 일부 고급 기능이 빠져 있다. 이 형식의 의도된 파일 확장자는 .xml이지만, 프로그램은 .xls 확장자를 가진 XML 파일도 올바르게 처리한다. 이 기능은 MySQL 쿼리 브라우저와 같은 타사 애플리케이션에서 이진 파일 형식을 구현하지 않고 "엑셀로 내보내기" 기능을 제공하는 데 널리 사용된다. 다음 예제는 Book1.xml 또는 Book1.xls로 저장될 경우 엑셀에서 올바르게 열릴 것이다.
<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<Worksheet ss:Name="Sheet1">
<Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="2" x:FullColumns="1" x:FullRows="1">
<Row>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Example</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">Value</Data></Cell>
<Cell><Data ss:Type="Number">123</Data></Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
현재 파일 확장자
마이크로소프트 오피스 2007 제품군의 다른 제품들과 함께 마이크로소프트 엑셀 2007은 새로운 파일 형식을 도입했다. 이 중 첫 번째(.xlsx)는 오피스 오픈 XML (OOXML) 사양에 정의되어 있다.
오래된 파일 확장자
다른 윈도우 애플리케이션 사용
마이크로소프트 액세스 및 마이크로소프트 워드와 같은 윈도우 애플리케이션과 엑셀은 서로 통신하고 서로의 기능을 사용할 수 있다. 가장 일반적인 것은 동적 데이터 교환이다. 마이크로소프트가 강력하게 비난하지만, 이는 윈도우에서 실행되는 애플리케이션 간에 데이터를 전송하는 일반적인 방법이며, 공식 MS 간행물에서는 이를 "지옥의 프로토콜"이라고 언급한다.[38] 이름에서 알 수 있듯이, 이 기능은 애플리케이션이 다른 애플리케이션에 계산 및 표시를 위한 데이터를 공급할 수 있도록 한다. 금융 시장에서 블룸버그 및 로이터와 같은 중요한 금융 데이터 서비스에 연결하는 데 매우 일반적이다.
OLE 개체 연결 및 포함은 윈도우 애플리케이션이 다른 애플리케이션을 제어하여 데이터를 서식 지정하거나 계산할 수 있도록 한다. 이는 애플리케이션이 다른 애플리케이션을 사용하여 더 적합한 작업을 처리하는 "포함" 형태로 나타날 수 있다. 예를 들어 파워포인트 프레젠테이션이 엑셀 스프레드시트에 포함되거나 그 반대의 경우도 가능하다.[39][40][41][42]
외부 데이터 사용
엑셀 사용자는 Office 데이터 연결 파일 형식으로 만들어진 .odc 연결과 같은 마이크로소프트 오피스 기능을 통해 외부 데이터 소스에 접근할 수 있다. 엑셀 파일 자체는 마이크로소프트에서 제공하는 ODBC 드라이버를 사용하여 업데이트될 수 있다.
엑셀은 여러 프로그래밍 인터페이스를 통해 실시간으로 데이터를 받을 수 있으며, 이를 통해 블룸버그 및 로이터와 같은 많은 데이터 소스와 통신할 수 있다 (Power Plus Pro와 같은 추가 기능을 통해).
- 동적 데이터 교환은 윈도우의 메시지 전달 메커니즘을 사용하여 엑셀과 다른 애플리케이션 간에 데이터가 흐르도록 한다. 사용자가 이러한 링크를 만드는 것은 쉽지만, 이러한 링크를 안정적으로 프로그래밍하는 것은 너무 어려워서 시스템 개발자인 마이크로소프트는 이를 공식적으로 "지옥의 프로토콜"이라고 부른다.[38] 많은 문제에도 불구하고 DDE는 금융 시장의 트레이더들에게 데이터가 도달하는 가장 일반적인 방법으로 남아 있다.
- 네트워크 DDE는 DDE 프로토콜을 확장하여 다른 컴퓨터의 스프레드시트가 데이터를 교환할 수 있도록 했다. 윈도우 비스타부터 마이크로소프트는 네트워크 DDE를 더 이상 지원하지 않는다.[43]
- 실시간 데이터는 기술적으로 DDE보다 여러 면에서 우수하지만, 수용 속도가 느렸다. 이는 비전문적인 프로그래밍 기술이 필요하고, 처음 출시되었을 때 적절하게 문서화되지 않았으며 주요 데이터 공급업체에서 지원되지 않았기 때문이다.[44][45]
또는 마이크로소프트 쿼리는 마이크로소프트 엑셀 내에서 ODBC 기반 탐색 기능을 제공한다.[46][47][48]
스프레드시트 내보내기 및 마이그레이션
프로그래머들은 마이크로소프트 엑셀이 아닌 다양한 응용 프로그램 및 환경에서 엑셀 스프레드시트를 열 수 있는 API를 개발했다. 여기에는 액티브X 컨트롤 또는 어도비 플래시 플레이어와 같은 플러그인을 사용하여 웹에서 엑셀 문서를 여는 것이 포함된다. 아파치 POI 오픈 소스 프로젝트는 엑셀 스프레드시트 파일을 읽고 쓰는 자바 라이브러리를 제공한다.
암호 보호
마이크로소프트 엑셀 보호는 다음과 같은 여러 유형의 암호를 제공한다.
문서를 여는 암호를 제외한 모든 암호는 문서를 생성하는 데 사용된 마이크로소프트 엑셀 버전에 관계없이 즉시 제거할 수 있다. 이러한 유형의 암호는 주로 문서에 대한 공유 작업에 사용된다. 이러한 암호로 보호된 문서는 암호화되지 않으며, 설정된 암호의 데이터 소스는 문서의 헤더에 저장된다. 통합 문서 보호 암호는 예외이다. 이 암호를 설정하면 문서가 표준 암호 "VelvetSweatshop"으로 암호화되지만, 이 암호가 대중에게 알려져 있기 때문에 문서에 추가적인 보호를 제공하지는 않는다. 침입자가 문서에 접근하는 것을 막을 수 있는 유일한 유형의 암호는 문서 열기 암호이다. 이러한 종류의 보호의 암호 강도는 문서를 생성하는 데 사용된 마이크로소프트 엑셀 버전에 따라 크게 달라진다.
마이크로소프트 엑셀 95 및 이전 버전에서는 열기 암호가 16비트 키로 변환되어 즉시 해독될 수 있다. 엑셀 97/2000에서는 암호가 40비트 키로 변환되며, 이 역시 최신 장비를 사용하여 매우 빠르게 해독될 수 있다. 레인보우 테이블을 사용하는 서비스(예: Password-Find)의 경우, 보호를 제거하는 데 몇 초밖에 걸리지 않는다. 또한 암호 해독 프로그램은 초당 수십만 개의 암호를 무차별 대입 공격으로 공격할 수 있으며, 이는 문서를 해독할 뿐만 아니라 원본 암호를 찾을 수 있게 한다.
엑셀 2003/XP에서는 암호화가 약간 개선되었다. 사용자는 시스템에서 사용 가능한 모든 암호화 알고리즘을 선택할 수 있다 (암호화 서비스 공급자 참조). CSP 때문에 엑셀 파일은 해독될 수 없으므로 열기 암호를 제거할 수 없지만, 무차별 대입 공격 속도는 여전히 상당히 높다. 그럼에도 불구하고, 이전 엑셀 97/2000 알고리즘이 기본값으로 설정되어 있다. 따라서 기본 설정을 변경하지 않는 사용자는 문서에 대한 신뢰할 수 있는 보호 기능이 부족하다.
엑셀 2007에서는 상황이 근본적으로 바뀌었다. 128비트 키를 사용하는 최신 AES 알고리즘이 해독에 사용되기 시작했으며, SHA1 해시 함수를 50,000회 사용하여 무차별 대입 공격 속도를 초당 수백 개의 암호로 줄였다. 엑셀 2010에서는 암호를 키로 변환하기 위해 100,000회 SHA1을 사용하여 기본 보호 강도를 두 배로 높였다.
Remove ads
기타 플랫폼
모바일용 엑셀
엑셀 모바일은 XLSX 파일을 편집할 수 있는 스프레드시트 프로그램이다. 셀의 텍스트를 편집하고 서식을 지정하며, 수식을 계산하고, 스프레드시트 내에서 검색하고, 행과 열을 정렬하고, 창을 고정하고, 열을 필터링하고, 주석을 추가하고, 차트를 만들 수 있다. 문서의 가장자리를 제외하고는 열이나 행을 추가할 수 없으며, 열이나 행을 재배열하거나, 열이나 행을 삭제하거나, 스프레드시트 탭을 추가할 수 없다.[52][53][54][55][56][57] 2007년 버전에는 제한된 화면 해상도를 처리하기 위한 전체 화면 모드와 동시에 워크시트의 다른 부분을 볼 수 있는 분할 창 기능이 있다.[55] 보호 설정, 확대/축소 설정, 자동 필터 설정, 특정 차트 서식, 숨겨진 시트 및 기타 기능은 엑셀 모바일에서 지원되지 않으며, 통합 문서를 열고 저장할 때 수정될 것이다.[56] 2015년에 엑셀 모바일은 윈도우 스토어에서 윈도우 10 및 윈도우 10 모바일용으로 제공되었다.[58][59]
웹용 엑셀
웹용 엑셀은 마이크로소프트 워드 및 마이크로소프트 파워포인트의 웹 버전도 포함하는 Office on the web의 일부로 제공되는 마이크로소프트 엑셀의 무료 경량 버전이다.
웹용 엑셀은 엑셀 데스크톱 버전에서 사용할 수 있는 대부분의 기능을 표시할 수 있지만, 삽입하거나 편집하지 못할 수도 있다. 특정 데이터 연결은 웹용 엑셀에서 접근할 수 없으며, 이러한 외부 연결을 사용하는 차트도 포함된다. 웹용 엑셀은 엑셀 4.0 매크로나 엑셀 5.0 대화 상자 시트와 같은 레거시 기능도 표시할 수 없다. 또한 일부 엑셀 기능이 작동하는 방식에 약간의 차이가 있다.[60]
마이크로소프트 엑셀 뷰어
마이크로소프트 엑셀 뷰어는 엑셀로 만든 스프레드시트 문서를 보고 인쇄하기 위한 마이크로소프트 윈도우용 프리웨어 프로그램이었다.[61] 마이크로소프트는 2018년 4월에 뷰어를 중단했으며, 엑셀 뷰어 2007 (SP3)용 마지막 보안 업데이트는 2019년 2월에 출시되었다.[62][63]
마이크로소프트가 출시한 첫 버전은 엑셀 97 뷰어였다.[64][65] 엑셀 97 뷰어는 윈도우 CE에서 핸드헬드 PC용으로 지원되었다.[66] 2004년 10월, 마이크로소프트는 엑셀 뷰어 2003을 출시했다.[67] 2007년 9월, 마이크로소프트는 엑셀 뷰어 2003 서비스 팩 3 (SP3)을 출시했다.[68] 2008년 1월, 마이크로소프트는 엑셀 뷰어 2007을 출시했다 (리본 인터페이스가 축소되지 않는 기능 포함).[69] 2009년 4월, 마이크로소프트는 엑셀 뷰어 2007 서비스 팩 2 (SP2)를 출시했다.[70] 2011년 10월, 마이크로소프트는 엑셀 뷰어 2007 서비스 팩 3 (SP3)을 출시했다.[71]
마이크로소프트는 엑셀 파일을 무료로 보고 인쇄하려는 사용자에게 윈도우 10용 엑셀 모바일 애플리케이션을 사용하고, 윈도우 7 및 윈도우 8용으로는 원드라이브에 파일을 업로드하고 마이크로소프트 계정을 사용하여 웹 브라우저에서 웹용 엑셀을 사용하도록 권장한다.[62][72]
Remove ads
제한 사항 및 오류
요약
관점
일반적인 스프레드시트 문제 외에도 엑셀의 다른 문제로는 숫자 정밀도, 오해의 소지가 있는 통계 함수, Mod 함수 오류, 날짜 제한 등이 있다.
숫자 정밀도
엑셀은 15자리 정밀도를 사용함에도 불구하고, 사용자 요청에 따라 더 많은 숫자(최대 30자리)를 표시할 수 있다. 그러나 표시된 숫자는 실제 계산에 사용되는 숫자가 아니므로, 예를 들어 두 숫자의 차이가 표시된 값의 차이와 다를 수 있다. 이러한 차이는 일반적으로 15번째 소수점 이하에서 발생하지만, 특히 매우 크거나 매우 작은 숫자의 경우 예외가 발생할 수 있다. 숫자의 자동 비교(예: 엑셀 If 함수 사용)를 기반으로 결정이 이루어지면 심각한 오류가 발생할 수 있는데, 두 숫자의 같음이 예측 불가능할 수 있기 때문이다.
그림에서 1/9000이라는 분수가 엑셀에 표시되어 있다. 이 숫자는 무한한 1의 문자열인 십진수 표현을 가지고 있지만, 엑셀은 선두 15자리만 표시한다. 두 번째 줄에서는 분수에 1이 더해졌고, 엑셀은 다시 15자리만 표시한다. 세 번째 줄에서는 엑셀을 사용하여 합계에서 1이 빼진다. 두 번째 줄의 합계는 소수점 이하에 11개의 1만 있기 때문에, 이 표시된 값에서 1을 뺐을 때의 차이는 세 개의 0 뒤에 11개의 1 문자열이 뒤따른다. 그러나 엑셀이 세 번째 줄에 보고하는 차이는 세 개의 0 뒤에 13개의 1 문자열과 두 개의 추가 오류 숫자가 뒤따른다. 이는 엑셀이 표시하는 것보다 약 반 자리 더 많은 숫자로 계산하기 때문이다.
엑셀은 1985년에 수정된 IEEE 754 사양 버전을 사용한다.[73] 엑셀의 구현은 이진수와 십진수 표현 간의 변환을 포함하며, 이는 단순한 15자리 정밀도에서 예상되는 것보다 평균적으로 더 나은 정확도를 제공하지만, 때로는 더 나쁠 수도 있다. 자세한 내용은 주 문서를 참조한다.
사용자 계산의 정확성 외에도 엑셀 제공 함수의 정확성 문제가 제기될 수 있다. 특히 통계 함수 영역에서 엑셀은 계산 속도를 위해 정확성을 희생했다는 비판을 받았다.[74][75]
엑셀의 많은 계산은 VBA를 사용하여 실행되므로, 추가적인 문제점은 변수 유형과 사용자가 요청한 정밀도에 따라 달라지는 VBA의 정확성이다.[76]
통계 함수
엑셀의 통계 도구의 정확성과 편리함은 비판을 받아왔다.[77][78][79][80][81] 데이터 누락 시 잘못 처리하거나, 반올림 및 큰 숫자 처리 미숙으로 인해 부정확한 값을 반환하거나, 일부 셀 값이 변경될 때 스프레드시트의 계산을 선택적으로만 업데이트하거나, 제한된 통계 도구 세트를 가지고 있다는 점 때문이다. 마이크로소프트는 엑셀 2010에서 이러한 문제 중 일부가 해결되었다고 발표했다.[82]
엑셀 MOD 함수 오류
엑셀은 모듈로 연산에 문제가 있다. 결과가 과도하게 클 경우, 엑셀은 답변 대신 오류 경고 #NUM!을 반환한다.[83]
1900년 가상의 윤일
엑셀은 1900년을 윤년으로 잘못 취급하여 2월 29일을 포함한다. 예를 들어 2100년은 윤년이 아닌 해로 올바르게 처리한다.[84][85] 따라서 (예를 들어) 1900년 2월 1일과 1900년 3월 1일 사이의 날짜를 계산하는 수식은 잘못된 결과를 반환한다. 이 버그는 로터스 1-2-3에서 시작되었으며, 컴퓨터 메모리를 절약하기 위해 의도적으로 구현되었고, 버그 호환성을 위해 엑셀에서도 의도적으로 구현되었다.[86] 이 유산은 나중에 오피스 오픈 XML 파일 형식으로 이어졌다.[87]
날짜 범위
엑셀은 1900년에서 9999년까지의 연도 범위를 가진 날짜를 지원하며, 1899년 12월 31일은 0으로 입력할 수 있고 1900년 1월 0일로 표시된다.
하루의 일부를 1900년 1월 1일의 한 순간으로 간주하여 시간, 분, 일로 변환하는 것은 음수 부분에서는 작동하지 않는다.[88]
변환 문제
엑셀이 날짜로 해석하는 형식의 텍스트가 입력되면, 해당 텍스트는 의도치 않게 표준 날짜 형식으로 변경될 수 있다. 비슷한 문제는 텍스트가 숫자의 부동 소수점 표기 형식인 경우에도 발생한다. 이러한 경우 원래의 정확한 텍스트는 결과에서 복구할 수 없다. 모호한 텍스트를 입력하기 전에 셀을 TEXT로 서식 지정하면 엑셀이 이를 변환하는 것을 방지할 수 있다.
이 문제는 예를 들어 생물정보학에서 DNA 분석에 잘 알려진 문제를 야기했다. 2004년에 처음 보고된 바와 같이,[89] 유전 과학자들은 엑셀이 특정 유전자 이름을 날짜로 자동으로 잘못 변환한다는 사실을 발견했다. 2016년 후속 연구에서는 많은 동료 평가된 과학 학술지 논문이 영향을 받았으며, "선택된 저널 중 유전자 이름 오류로 인해 영향을 받은 유전자 목록이 포함된 엑셀 파일을 가진 출판된 논문의 비율은 19.6%였다"는 사실을 발견했다.[90] 엑셀은 복사 및 붙여넣기된 데이터를 구문 분석하고 때로는 그 데이터가 무엇이라고 생각하는지에 따라 변경한다. 예를 들어, MARCH1 (Membrane Associated Ring-CH-type finger 1)은 3월 1일(1-Mar)로 변환되고 SEPT2 (Septin 2)는 9월 2일(2-Sep) 등으로 변환된다.[91] 일부 보조 뉴스 소스[92]는 이를 엑셀의 결함으로 보고했지만, 2016년 논문의 원 저자들은 엑셀을 잘못 사용한 연구자들에게 잘못을 돌렸다.[90][93]
2020년 8월, 휴고 유전자 명명 위원회 (HGNC)는 "데이터 처리 및 검색에 영향을 미치는 기호" 문제를 피하기 위해 네이처 저널에 유전자 명명에 대한 새로운 지침을 발표했다. 2020년 현재, MARCH1을 MARCHF1으로, SEPT1을 SEPTIN1으로 변경하는 등 27개 유전자가 유전자 이름이 날짜로 우발적으로 변환되는 것을 피하기 위해 이름이 변경되었다.[94]
2023년 10월, 마이크로소프트는 이러한 변환을 비활성화할 수 있는 설정 옵션을 도입했다.[95]
긴 문자열 관련 오류
다음 함수들은 255자보다 긴 문자열이 전달될 때 잘못된 결과를 반환한다.[96]
type()은 잘못된 "오류 값"을 의미하는 16을 반환한다.IsText()는 VBA 개체WorksheetFunction의 메서드(즉, VBA의WorksheetFunction.IsText())로 호출될 때 잘못된 "false"를 반환한다.
파일 이름
마이크로소프트 엑셀은 이름이 같은 두 문서를 열지 않고 대신 다음과 같은 오류를 표시한다.
- '%s'라는 이름의 문서가 이미 열려 있습니다. 문서가 다른 폴더에 있더라도 이름이 같은 두 문서를 열 수 없습니다. 두 번째 문서를 열려면 현재 열려 있는 문서를 닫거나 문서 중 하나의 이름을 바꾸십시오.[97]
이유는 연결된 셀과의 계산 모호성 때문이다. 만약 ='[Book1.xlsx]Sheet1'!$G$33이라는 셀이 있고, "Book1"이라는 이름의 두 개의 통합 문서가 열려 있다면, 사용자가 어느 것을 의미하는지 알 방법이 없다.[98]
Remove ads
버전
요약
관점
초기 역사
1982년, 마이크로소프트는 첫 스프레드시트 프로그램인 멀티플랜을 출시하여 CP/M 시스템에서 인기를 얻었다. 그러나 멀티플랜은 MS-DOS 시스템에서 경쟁하는 데 어려움을 겪었고, 1983년까지 지배적인 스프레드시트 프로그램이 되어 멀티플랜과 이전 비지칼크를 능가한 로터스 1-2-3에 시장 점유율을 잃었다.[99][100]
멀티플랜의 시장 점유율 하락에 대처하기 위해 마이크로소프트는 1983년에 "오디세이"라는 코드명으로 새로운 고급 스프레드시트 프로그램을 개발하기 시작했다. 이 프로젝트는 디자인을 담당한 자베 블루멘탈과 멀티플랜의 주요 개발자였던 더그 클런더가 이끌었다. 원래 CP/M 및 MS-DOS를 실행하는 IBM PC용으로 기획되었지만, 1984년 초 로터스가 애플 매킨토시용 통합 프로그램 재즈를 개발하기 시작하고 로터스 1-2-3이 IBM PC에서 계속 우위를 점하면서 프로젝트의 초점은 바뀌었다.[101] 1984년 3월, 빌 게이츠는 오디세이 개발을 매킨토시 플랫폼으로 전환했는데, 이는 시스템의 512KB 메모리를 지원해야 했다. 이 결정으로 프로젝트는 9개월 지연되었고, 클런더는 잠시 마이크로소프트를 떠나 상추 재배 일을 했으며, 프로젝트는 이후 왕 연구소의 전 개발자 필립 플로렌스가 이끌었다. 플로렌스가 심장마비를 겪은 후, 클런더가 돌아와 프로젝트를 마무리했다.[99][100][102]
1985년 5월 2일, 애플 컴퓨터의 스티브 잡스와 빌 게이츠는 뉴욕시 태번 온 더 그린에서 애플 매킨토시 플랫폼용 엑셀을 공개적으로 발표하는 공동 기자회견을 열었다. 발표 후, 소프트웨어는 1985년 9월 30일에 공식적으로 판매되었다.[99][100][102][103] 첫 번째 윈도우 버전인 엑셀 2.05는 1987년 11월 19일에 출시되었으며, 매킨토시 버전 2.2와 일치하도록 설계되었다.[99][104][105] 1990년 American Institute of Certified Public Accountants 회원 설문조사에서는 응답자의 2%가 엑셀을 스프레드시트로, 3%가 데이터베이스로, 8%가 그래픽용으로 사용한다고 응답했다.[106] 로터스는 윈도우용 1-2-3를 출시하는 데 늦었고, 1990년대 초까지 엑셀은 1-2-3를 능가하여 마이크로소프트가 선도적인 PC 소프트웨어 개발사로 자리매김하는 데 기여했다. 이러한 성과는 마이크로소프트를 유효한 경쟁자로 확고히 했고, GUI 소프트웨어 개발에서의 미래를 보여주었다. 마이크로소프트는 약 2년마다 정기적인 새 출시를 통해 우위를 유지했다.
마이크로소프트 윈도우
엑셀 2.0은 인텔 플랫폼용 엑셀의 첫 번째 버전이다. 2.0 이전 버전은 애플 매킨토시에서만 사용할 수 있었다.
엑셀 2.0 (1987)
첫 번째 윈도우 버전은 맥 버전과 일치하도록 "2"로 명명되었다. 1987년 10월 6일 발표되었고, 11월 19일에 출시되었다.[107] 여기에는 윈도우의 런타임 버전이 포함되었다.[108]
1989년 BYTE는 엑셀 for 윈도우를 BYTE 어워드의 "특징" 수상작 중 하나로 선정했다. 이 잡지는 "뛰어난" 매킨토시 버전의 포트가 원본만큼 또는 그 이상으로 훌륭한 사용자 인터페이스를 갖추고 "빛난다"고 평가했다.
엑셀 3.0 (1990)
도구 모음, 그리기 기능, 개요, 추가 기능 지원, 3D 차트 등 다양한 새로운 기능을 포함했다.[108]
엑셀 4.0 (1992)
마이크로소프트 오피스 3.0에 포함된 이 버전은 자동 채우기 기능을 도입했다.[109]
또한 엑셀 4.0의 이스터 에그는 춤추는 숫자 1에서 3까지의 숨겨진 애니메이션을 보여주며, 이는 로터스 1-2-3을 나타내고 엑셀 로고에 의해 박살난다.[110]
엑셀 5.0 (1993)
마이크로소프트 오피스 4.2 및 4.3에 포함된 엑셀 5.0은 비주얼 베이직 기반의 프로그래밍 언어인 비주얼 베이직 포 애플리케이션(VBA)을 포함하여 엑셀에서 작업을 자동화하고 워크시트에서 사용할 사용자 정의 함수(UDF)를 제공하는 기능을 추가했다. VBA에는 완벽한 통합 개발 환경(IDE)이 포함되어 있다. 매크로 기록은 사용자 동작을 복제하는 VBA 코드를 생성하여 일반 작업을 간단하게 자동화할 수 있게 한다. VBA는 양식과 워크시트 내 컨트롤을 생성하여 사용자와 통신할 수 있게 한다. 이 언어는 액티브X (COM) DLL 사용(생성은 아님)을 지원하며, 이후 버전에서는 클래스 모듈 지원을 추가하여 기본적인 객체 지향 프로그래밍 기술을 사용할 수 있게 한다.
VBA가 제공하는 자동화 기능으로 인해 엑셀은 매크로 바이러스의 표적이 되었다. 이는 안티바이러스 제품이 이러한 바이러스를 탐지하기 시작할 때까지 심각한 문제를 야기했다. 마이크로소프트는 뒤늦게 매크로를 완전히 비활성화하거나, 통합 문서를 열 때 매크로를 활성화하거나, 신뢰할 수 있는 인증서로 서명된 모든 매크로를 신뢰하는 기능을 추가하여 오용을 방지하기 위한 조치를 취했다.
엑셀 버전 5.0부터 9.0까지는 "고문받은 영혼의 전당"이라는 둠과 유사한 미니게임 등 다양한 이스터 에그를 포함하고 있었지만, 버전 10부터 마이크로소프트는 이러한 비공식 기능을 제품에서 제거하기 위한 조치를 취했다.[111]
5.0은 Windows 3.1용 16비트 x86 버전으로 출시되었고, 나중에 NT 3.51 (x86/Alpha/PowerPC)용 32비트 버전으로 출시되었다.
엑셀 95 (v7.0)
1995년 마이크로소프트 오피스 95와 함께 출시되었으며, 모든 오피스 애플리케이션이 동일한 주요 버전 번호로 표준화되었기 때문에 엑셀 6.0은 없으며 엑셀 5.0 이후의 첫 번째 주요 버전이다.
32비트로 내부적으로 다시 작성되었다. 외부적으로는 거의 변화가 없지만, 더 빠르고 안정적이다.
엑셀 95에는 "고문받은 영혼의 전당"이라는 숨겨진 둠 같은 미니게임이 포함되어 있었는데, 이는 개발자들의 이름과 얼굴이 특징인 일련의 방들로 구성된 이스터 에그이다.[112]
엑셀 97 (v8.0)
오피스 97 (x86 및 Alpha용)에 포함되었다. 이것은 클립 오피스 길잡이를 도입하고 내부 엑셀 베이직 대신 표준 VBA를 특징으로 하는 주요 업그레이드였다. 현재는 제거된 자연어 레이블을 도입했다.
이 버전의 엑셀에는 비행 시뮬레이터가 이스터 에그로 포함되어 있다.
엑셀 2000 (v9.0)
오피스 2000에 포함되었다. 이전 버전에서 사소한 업그레이드였지만, 여러 개체를 한 번에 담을 수 있는 클립보드 업그레이드를 도입했다. 엑셀 97에서 빈번하고 불필요하게 나타나 많은 사용자를 귀찮게 했던 오피스 길잡이는 덜 침해적으로 바뀌었다.
"Dev Hunter"(스파이 헌터에서 영감을 받음)라는 작은 3D 게임이 이스터 에그로 포함되었다.[113][114]
엑셀 2002 (v10.0)
마이크로소프트 오피스 XP에 포함되었으며 이전 버전에 비해 사소한 개선이 있었다.
엑셀 2003 (v11.0)
마이크로소프트 오피스 2003에 포함되었으며 이전 버전에 비해 사소한 개선이 있었다.
엑셀 2007 (v12.0)
마이크로소프트 오피스 2007에 포함되었다. 이 릴리스는 이전 버전에서 크게 업그레이드되었다. 다른 업데이트된 오피스 제품과 마찬가지로 2007년 엑셀은 새로운 리본 메뉴 시스템을 사용했다. 이는 사용자들이 익숙했던 것과 달랐고, 엇갈린 반응을 받았다. 한 연구에서는 고도로 숙련된 사용자 및 고전적인 WIMP 인터페이스를 가진 워드 프로세싱 응용 프로그램 사용자들을 제외하고는 사용자들이 비교적 잘 받아들였지만, 효율성과 조직 측면에서는 덜 확신했다.[115] 그러나 온라인 설문조사에서는 응답자의 대다수가 변경에 대해 부정적인 의견을 가지고 있었고, 고급 사용자가 중간 사용자보다 "다소 더 부정적"이었으며, 사용자들이 자기 평가 생산성 감소를 보고했다.
추가된 기능으로는 테이블[116]과 SmartArt 편집 가능한 비즈니스 다이어그램 세트가 포함되었다. 또한 이름 관리자를 통한 명명된 변수 관리 개선과 그래프 서식의 유연성 개선이 추가되어 (x, y) 좌표 레이블링 및 임의 두께의 선을 허용했다. 피벗 테이블에도 여러 개선 사항이 도입되었다.
다른 오피스 제품과 마찬가지로, 매크로가 있는 통합 문서를 위한 .xlsm 및 매크로가 없는 통합 문서를 위한 .xlsx를 포함한 오피스 오픈 XML 파일 형식이 도입되었다.[117]
특히, 이전 버전의 많은 크기 제한이 크게 증가했다. 예를 들어, 행 수는 1,048,576 (220)개, 열 수는 16,384개 (214; 가장 오른쪽 열은 XFD)였다. 이는 유효한 A1 참조와 명명된 범위가 무엇인지 변경한다. 이 버전은 스프레드시트 계산에 여러 코어를 더 광범위하게 사용했지만, VBA 매크로는 병렬로 처리되지 않았고, XLL 추가 기능은 스레드 안전하며 등록 시 표시된 경우에만 병렬로 실행되었다.
엑셀 2010 (v14.0)
마이크로소프트 오피스 2010에 포함된 이 버전은 v12.0 다음의 주요 버전이다. 버전 번호 13은 건너뛰었다.
다음과 같은 사소한 개선 및 64비트 지원이 포함되었다.[118]
엑셀 2013 (v15.0)
마이크로소프트 오피스 2013에 포함되었으며, 이 릴리스에는 많은 새로운 도구가 포함되었다.
엑셀 2016 (v16.0)
마이크로소프트 오피스 2016에 포함되었으며, 이 릴리스에는 많은 새로운 도구가 포함되었다.
- 파워 쿼리 통합
- 엑셀 읽기 전용 모드
- 엑셀에서 피벗 테이블 및 슬라이서 키보드 접근
- 새로운 차트 유형
- 비지오에서 빠른 데이터 연결
- 엑셀 예측 함수
- 터치를 사용한 슬라이서 항목의 다중 선택 지원
- 시간 그룹화 및 피벗 차트 드릴 다운
- 엑셀 데이터 카드[125]
엑셀 2019, 엑셀 2021, 엑셀 2024, 오피스 365 및 이후 버전 (v16.0)
마이크로소프트는 더 이상 오피스 또는 엑셀을 독특한 버전으로 출시하지 않는다. 대신 기능은 시간이 지남에 따라 자동으로 도입된다. 버전 번호는 16.0으로 유지된다. 따라서 기능이 나타나는 대략적인 날짜만 제공할 수 있다. 새로운 기능은 다음과 같다.
- 동적 배열. 기본적으로 배열 수식과 같지만 자동으로 인접 셀로 "넘치며" 이를 생성하기 위해 ctrl-shift-enter가 필요하지 않다. 또한 동적 배열은 기본 형식이며, 이전 버전과의 호환성을 제공하기 위해 새로운 "@" 및 "#" 연산자가 추가되었다. 이는 2007년 이후 가장 큰 구조적 변화이며, 구글 시트의 유사한 기능에 대한 대응이다. 동적 배열은 2018년경 미리보기 버전에서 나타나기 시작했으며, 2020년 3월 현재 사용자가 "오피스 인사이더"를 선택한 경우 게시된 오피스 365 버전에서 사용할 수 있다.
마이크로소프트 윈도우 및 macOS용 마이크로소프트 오피스 2024 (오피스 16.0의 네 번째 영구 릴리스)는 2024년 10월 1일에 출시되었다.[126]
맥
- 1985 엑셀 1.0
- 1988 엑셀 1.5
- 1989 엑셀 2.2
- 1990 엑셀 3.0
- 1992 엑셀 4.0
- 1993 엑셀 5.0 (오피스 4.x의 일부 — 최종 Motorola 680x0 버전[127]이자 첫 PowerPC 버전)
- 1998 엑셀 8.0 (Office 98의 일부)
- 2000 엑셀 9.0 (Office 2001의 일부)
- 2001 엑셀 10.0 (Office v. X의 일부)
- 2004 엑셀 11.0 (Office 2004의 일부)
- 2008 엑셀 12.0 (Office 2008의 일부)
- 2010 엑셀 14.0 (Office 2011의 일부)
- 2015 엑셀 15.0 (Office 2016의 일부 — Office 2016 for Mac은 Mac 버전을 Windows 버전과 훨씬 더 유사하게 만들었고, 많은 보고 및 고급 개발자 기능을 조화시키면서 리본과 스타일을 PC 버전과 일치시켰다.)[128]
- 마이크로소프트 오피스 2019 for Mac의 일부
- 마이크로소프트 오피스 2021 for Mac의 일부
- 마이크로소프트 오피스 2024 for Mac의 일부
OS/2
- 1989 엑셀 2.2
- 1990 엑셀 2.3
- 1991 엑셀 3.0
요약
오래된 버전
오래된 버전, 지원 중
최신 버전
Remove ads
영향
엑셀은 초기 전자 스프레드시트에 비해 많은 사용자 인터페이스 개선점을 제공하지만, 본질은 원래의 스프레드시트 소프트웨어인 비지칼크와 동일하다. 프로그램은 행과 열로 구성된 셀을 표시하며, 각 셀에는 데이터 또는 수식, 다른 셀에 대한 상대적 또는 절대적 참조가 포함될 수 있다.
맥의 GUI 기반 버전을 모델로 한 윈도우용 엑셀 2.0은 당시 태동기였던 윈도우 환경의 설치 기반을 간접적으로 확장했다. 엑셀 2.0은 윈도우 2.0 한 달 전에 출시되었고, 1987년 당시 윈도우의 설치 기반이 너무 낮아서 마이크로소프트는 엑셀 2.0과 함께 윈도우 1.0의 런타임 버전을 번들로 제공해야 했다.[129] 마이크로소프트 워드와 달리 엑셀의 DOS 버전은 결코 존재하지 않았다.
엑셀은 사용자가 스프레드시트의 모양(글꼴, 문자 속성, 셀 모양)을 정의할 수 있게 한 최초의 스프레드시트였다. 또한 지능형 셀 재계산을 도입하여, 수정되는 셀에 종속된 셀만 업데이트되었다(이전 스프레드시트 프로그램은 항상 모든 것을 다시 계산하거나 특정 사용자 명령을 기다렸다). 엑셀은 자동 채우기 기능을 도입했는데, 이는 선택 상자를 끌어 확장하여 셀 또는 행 내용을 인접 셀 또는 행으로 자동으로 복사하고, 셀 참조 또는 내용을 자동으로 증가시켜 복사본을 지능적으로 조정하는 기능이다. 엑셀은 또한 광범위한 그래프 기능을 도입했다.
엑셀은 현대 사무 업무에서 중심적인 위치를 차지한다. 2022년 설문조사에 따르면 사무직 근로자의 3분의 2가 시간당 최소 한 번 엑셀을 사용하며, 총 근무 시간의 38%를 프로그램 내에서 보낸다.[130] 매달 7억 5천만에서 12억 명의 사용자가 엑셀에 접속하는 것으로 추정된다.[131]
Remove ads
보안
엑셀은 널리 사용되기 때문에 해커들의 공격을 받아왔다. 엑셀이 직접 인터넷에 노출되지는 않지만, 공격자가 피해자에게 엑셀 파일을 열도록 유도하고 엑셀에 적절한 보안 버그가 있다면 공격자는 피해자의 컴퓨터를 제어할 수 있다.[132] 영국의 정부통신본부는 이러한 목적으로 TORNADO ALLEY라는 도구를 가지고 있다.[133][134]
게임
이스터 에그 외에도 테트리스, 2048, 스크래블, 야찌, 앵그리버드, 팩맨, 문명, 모노폴리, 배틀십, 블랙잭, 스페이스 인베이더 등 수많은 게임이 엑셀에서 제작되거나 재현되었다.[135][136][137][138][139]
2020년 엑셀은 Financial Modeling World Cup의 등장과 함께 e스포츠가 되었다.[140][141]
같이 보기
각주
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads