Excel now supports multiple values in a single cell
Excel 셀 하나에 여러 값을 담습니다
Excel 베타 채널에 셀 안의 목록과 배열, 중첩 배열 기능이 추가됩니다. 개별 항목을 필터링하고 계산에 활용할 수 있으며, FLATTEN과 HAS 계열 함수도 제공합니다. 다만 Power Query, 차트, PivotTable 등은 아직 배열을 직접 처리하지 못합니다.
- 주제
AI 요약
Microsoft가 Excel 셀 하나에 여러 값을 담는 목록과 배열 기능을 Windows·Mac 베타 채널에 선보입니다. 쉼표로 구분한 값을 텍스트 한 덩어리로 저장하는 대신, 각 항목을 셀 안에서 별도로 다루고 필터링이나 계산에 활용하는 방식입니다. 미리보기 기능이라 정식 출시 전 동작이 바뀔 수 있으며, 중요한 통합 문서에는 사용하지 말라고 안내합니다.
목록으로 셀 안의 항목 다루기
Insert > List를 선택하거나 Ctrl+J를 눌러 목록을 만듭니다. 지역 설정에 따라 쉼표나 세미콜론으로 항목을 구분해 입력하고, 셀의 아이콘을 선택해 개별 값을 확인합니다. 셀을 두 번 클릭하거나 F2를 누르면 항목을 추가·삭제·수정할 수 있습니다. 기존 쉼표 구분 텍스트는 필터에서 문장 전체를 기준으로 골라야 하지만, 목록은 내부 항목별로 필터링합니다. 수식에서 목록 셀을 참조하면 값이 여러 셀로 펼쳐집니다. 예를 들어 =B2는 목록의 항목을 각각 셀에 출력합니다.
셀 안에 배열 저장하기
이번 변경은 목록 입력 UI에 그치지 않습니다. Excel이 배열을 셀의 값이나 수식 결과로 직접 보관합니다. 동적 배열 수식은 보통 결과를 주변 셀로 펼치지만, 수식 본문을 중괄호로 감싸면 배열 결과를 셀 하나에 넣을 수 있습니다. 예를 들어 ={1;2;3}은 세 셀로 펼쳐지지만, ={{1;2;3}}은 1×1 배열 안에 배열을 담습니다. 행과 열 크기가 다양한 배열을 셀에 보관하고, 다른 배열 안에 배열을 넣는 중첩 구조도 지원합니다.
중첩 배열과 새 함수
기존에는 배열을 반환하는 수식이 배열의 배열을 만들면 결과가 잘리거나 #CALC! 오류가 났습니다. 이제 지원 수식은 중첩 결과를 온전히 반환합니다. 글에서는 TEXTSPLIT을 예로 듭니다. 여러 행의 텍스트를 나눌 때 중첩 배열을 쓰지 않으면 각 행의 첫 항목만 나오지만, 중첩 배열을 쓰면 행마다 분리된 배열이 펼쳐집니다. FLATTEN(array, [pad_value], [levels])은 중첩 단계를 없애 배열을 평탄화합니다. HAS(array, value)는 특정 값의 포함 여부를 확인하고, HASANY(array, values)는 여러 값 중 하나라도 있는지, HASALL(array, values)는 모든 값이 있는지 TRUE 또는 FALSE로 반환합니다.
호환성과 제한
중첩 배열 계산 대부분에는 Compatibility Version 3이 필요합니다. 통합 문서별로 Formula > Calculation Options에서 설정합니다. 일부 기존 수식은 버전 3에서 결과가 달라질 수 있어, 예상과 다르게 동작하면 버전 1이나 2를 유지하라고 안내합니다. 미리보기 단계에서는 조건부 서식이 수식 없이 배열 내부를 검사하지 못하고, 데이터 유효성 검사 드롭다운에 목록·배열을 쓸 수 없습니다. 차트는 배열을 데이터 포인트로 확장하지 않으며 PivotTables와 Power Query도 배열 열을 읽거나 내보내지 못합니다. 찾기 및 바꾸기도 목록·배열 안의 항목을 바꾸지 못합니다. Windows는 버전 2610 빌드 20520.20000 이상, Mac은 버전 16.114 빌드 26092111 이상 베타 채널에서 순차 배포합니다.
Hacker News 반응
- @amanzi — 회의적이었지만 실제로 쓸모 있어 보입니다. 최근 작업한 스프레드시트에는 사용자 목록과 각 사용자가 쓰는 앱을 쉼표로 구분해 적은 열이 있었는데, 처리하기가 꽤 까다로웠습니다. 글의 예시 기능이 있으면 목록을 필터링하기 쉬워지겠습니다.
- @infogulch — 드디어 나왔네요! 처음부터 스필 대신 이런 방식을 제공했어야 합니다. 셀 안 여러 값 중 하나를 인덱스로 가져오는 기능도 필요합니다.
- @lordnacho — 사용자는 기능이 하나 더 생긴 것을 좋아할지 모르지만, 이런 타입의 느슨함이 Excel을 나쁘게 만듭니다. 모든 기능을 다 갖추는 건 대체로 좋지 않습니다. 설계에는 제약과 관용구가 필요합니다. 모든 걸 유연하게 만들면 아무도 이해하지 못하는 스파게티를 만들게 됩니다.
- @spbaar — Excel은 프로그래밍 언어만큼 엄격하거나 이식성 있을 필요가 없습니다. 이런 기능이 사용자를 유도하는 행동을 고려하면 오히려 둘 중 덜 나쁜 선택일 수 있습니다.
- @Grombobulous — Excel이 널리 쓰이는 범용 업무 도구인 이유 중 하나는 유연성입니다. 이렇게 유연하지 않았다면 어디서든 쓰이지 못했을 겁니다. Excel은 사용자가 원하는 엉망을 만들도록 허용하고 받아들입니다.
- @sublinear — Excel에서 이미 이런 기능이 있을 거라고 생각했는데, 발표문은 Excel을 죽이려는 것처럼 들립니다. 저는 오래전부터 스프레드시트에 JSON을 넣어왔고 후회하지 않습니다.
- @agar — 기존 Excel 배열은 다루기 어렵고 매우 느렸으며 기본적인 수식 지원도 부족했습니다. 이번 구현은 기존 배열의 문제를 보완하면서 필요한 함수를 추가한 꽤 합리적인 방식으로 보입니다.
- @shakna — VBA 스크립트로 겨우 유지되고 AI까지 들어간 20년 된 업무 파이프라인을 더 망가뜨릴 기능이 추가됐네요.
- @dang — 댓글에는 두 가지 문제가 있습니다. 하나는 비꼬는 어조이고, 다른 하나는 정보가 부족해 피상적으로 읽힌다는 점입니다. 스프레드시트나 VBA, 기업 업무를 다뤄본 경험이 있다면 이번 변경이 무엇을 깨뜨리는지 구체적인 사례를 들어 설명하면 좋은 댓글이 됩니다.
- @gcanyon — Excel이 셀 안 목록과 배열을 지원하게 됐지만, 여전히 1900년 2월 29일이 실제 날짜인 것처럼 취급합니다. 40년 된 하위 호환성 때문이라니 묘한 세상입니다.
- @sheept — 모순인가요? 목록과 배열을 추가한다고 하위 호환성이 깨지는 건 아닙니다. 하위 호환성을 보장하면서 새 기능을 더하는 일은 오래된 소프트웨어에서 흔합니다.
- @abtinf — 소프트웨어 개발을 금지하고 실행 파일 허용 목록까지 둔 회사에서 일한 뒤 Excel을 제대로 이해하게 됐습니다. VBA도 막혀 있어 Windows Excel이 사실상 유일한 도구였습니다. 엔지니어처럼 접근하면 데이터 통합과 분석을 깊이 해낼 수 있는 도구입니다.
원문: Microsoft 365 Insider Blog / 번역·요약: Trawling