엑셀, 셀 하나에 값 여러 개 담는 리스트와 중첩 배열 기능 베타 공개
- 마이크로소프트가 엑셀에 리스트, 셀 내 배열, 중첩 배열 기능을 추가했으며 Windows·Mac 베타 채널에 먼저 공개함. 엑셀 40년 역사에서 셀당 값 하나라는 제한이 풀린 것임
- Ctrl+J 또는 Insert > List로 리스트를 만들면 쉼표나 세미콜론으로 나뉜 값을 한 셀에 넣고 개별 항목 단위로 필터링하거나 =B2처럼 참조해 셀로 흘려보낼 수 있음
- 수식 본문을 중괄호 { }로 감싸면 동적 배열 결과가 셀 밖으로 spill하지 않고 한 셀에 남으며, ={{1,2,3};{4,5,6}} 같은 중첩 배열도 셀 안에 정의할 수 있음
- 기존에는 배열을 만드는 수식이 잘린 결과나 #CALC! 오류를 냈으나 중첩 배열 지원으로 TEXTSPLIT이 행마다 배열 하나씩을 흘려보내고 각 배열로 계산이 가능함
- FLATTEN, HAS, HASANY, HASALL 네 개 함수가 추가됐고 마이크로소프트는 미리보기 단계라 중요한 워크북에는 쓰지 말 것을 권고함
Hacker News opinions
표는 행과 열짜리 2차원인데 여기에 깊이라는 세 번째 차원을 얹는다니... 잘 돌아가기만 바래야지.
깊이 역할은 애초에 워크북 안의 시트가 하고 있었잖아.
발표 문구를 읽다 보면 엑셀을 죽이려는 것처럼 들리기도 함. 나는 진작부터 스프레드시트에 JSON을 몰래 끼워 넣고 있었는데 전혀 안 아깝다.
나는 OLE로 셀 안에 스프레드시트를 통째로 넣어본 적 있다. 꽤 멋졌는데.
이제야 나온 거 아쉽다. spill 대신 애초에 이 방식으로 갔어야지. 셀 안 여러 값 중에 하나를 인덱싱하는 것까지 되면 좋겠고.
이상하다, 2008년에 엑셀 셀에 배열 넣던 기억이 있는데?
그건 셀 하나 안의 배열이 아니라 Ctrl+Shift+Enter나 이름 있는 범위로 돌리는 배열 연산이었음. 셀 하나에 배열을 넣으면 그냥 텍스트로 읽혔어.
기존 엑셀 배열은 느리고 기본 수식 지원도 빠져 있어서 다루기 힘들었지. 이번 건 기존 문제를 건드리면서 새 함수까지 넣은 꽤 말되는 구현으로 보인다.
이런 타입 물렁함이 엑셀이 별로인 이유임. 제약이 있어야 설계가 잡히는데 다 유연하게 두면 아무도 못 읽는 스파게티가 나옴.
실험 하나 해봐야겠네. 람다 여러 개를 리스트 하나에 정의하고 옆 셀들이 그 람다에 의존하게 만든 뒤, 걔네 타입까지 리스트가 되게 어디까지 굴러가는지 보자.
마이크로소프트가 이런 기능으로 일반 사용자의 데이터 이해를 해치고 있음. DOS 시절 Btrieve DB로 부동산 관리자랑 데이터 형태를 논의하던 게 지금 대형 엑셀 파일 상대하는 것보다 훨씬 수월했어.
엑셀이 프로그래밍 언어처럼 엄격하고 이식적일 필요는 없지. 오히려 사용자가 어떻게 쓰게 되는지를 보면 이게 차선일 수 있음.
Treesheets가 셀 안에 중첩 구조 넣기를 15년 넘게 지원하고 있었음.
Lotus Improv가 거의 35년 전에 스프레드시트 문제를 풀었는데 뭐 어쩌라고.
수학 계산은 Mathematica 같은 CAS로 하는 게 맞음. 람다를 셀 하나에 여럿 정의하고 타입까지 뒤섞이는지부터 실험해볼 참이고, 수치가 조용히 깨지면서 헤지펀드를 굴리게 될 판이다.
엑셀 사용 범위가 가능한 모든 케이스를 채울 때까지 팽창한다는 법칙이 하나 필요하겠다.
나는 엑셀 대신 OnlyOffice를 쓰고 있는데 수식 범위가 넉넉해서 꽤 만족 중이다. 오픈소스라 더 마음에 들고.
20년 묵은 VBA 파이프라인 또 터질 판이네. 유지보수 안 된 엑셀 시트로 굴러가는 회사들 이번에도 난리 날 듯.
진짜 혁신은 셀에 확률분포를 넣는 거임. 지금 스프레드시트는 전부 결정론적이라 현실의 불확실성을 다 가려버림.
Guesstimate라는 도구가 그걸 이미 함. 셀마다 이름이 있고 값 대신 확률분포를 넣을 수 있으며, 수식도 몬테카를로 시뮬레이션으로 분포를 뱉어.