Excel now supports multiple values in a single cell

1 day ago (techcommunity.microsoft.com)

Related: https://techcommunity.microsoft.com/blog/excelblog/excel-now...

What would be a revolution in excel is if we could have probability distributions in cells. Right now all spreadsheets are fairly deterministic and we think that tells us something about the real world. Having an ability to make cells distributions (and then all resultant cells would be distributions too) would represent the uncertainty in the world better (and expose lots of interesting things like distributions of tails)

  • Guesstimate (https://getguesstimate.com) has been around for years. I assumed Excel and Google would incorporate its features quickly, but it never seems to have taken off.

    Features:

    - All cells are named (auto named if you don't set them)

    - Cells can have single values, many types of probability distribution, or sample data

    - Formulas also produce distributions as first class outputs, because calculation is a Monte Carlo sim

    - Each cell also has a pop-up box that invites you to explain your reasoning -- built in documentation

    It got so much right. Sample data particularly useful because you can build a probabilistic bottom-up forecast and then update it with real-world data.

    • This is really amazing, and it reminds me of an Excel modification I did 24 years ago for an animation studio. They had around 3,000 digital artists and then about 200 support staff, and around 8 different productions moving through the studio at the same time. Each production was at some different stage of completion. The studio's production management staff spent a huge amount of time negotiating what staff was assigned to what productions, and the reasonings were all hazy and non-fact based. So I wrote what people would now call a deep learning system that mined all the accounting and production tracking records the studio had, and created probability distributions and confidence intervals for every individual and every task, and every combination of people and their combined tasks, and that all composited together into a giant predictive engine of real time whatif scenarios for the entire studio in different configurations.

      It was used for a series of feature films you all probably saw: the Chronicles of Narnia series, the Scooby Doo live action CG films, the Garfield films with the CG Garfield, and Life of PI.

      People both loved and hated it. They loved the insights into the studio's capabilities, and they hated thinking through how the thing operated, and they hated the thought process of constructing a new whatif scenario, because they had to THINK.

      1 reply →

  • Check out @Risk and crystal ball - both have been around for a long time.

    I should also say what’s really nice is you can define the shape of the probability distribution and parameters for random variables, as well as the correlation of different random variables. Both are effective but also feel dated these days.

    https://lumivero.com/products/at-risk/

    https://www.oracle.com/applications/crystalball/

  • What would this look like? Whenever I need something like that, I just stick each parameter in its own cell and use functions from there.

    I would love an easier way to communicate to tech/math-illiterate CEOs that worst case, average case, and best case are different things, but must all be planned for.

  • This has been my dream for decades. I even pestered the excel team when I worked at MS. Everyone thought it would be cool but not worth the effort and complexity.

  • Its a paid add-on but @Risk gives the functionality you're looking for

    • As a number of the comments have suggested there are a number of Monte Carlo methods (including this addin) but I was hoping that someone would make one which calculated based on random variables and output a resultant random variable, over brute force monte carlo. Monte Carlo is also somewhat slow, but doing the maths analytically should be fast.

      1 reply →

  • When I did Process Improvement we used MiniTab for this.

    I honestly was not a fan of that program and would have loved to be able to use Excel, but there are so many statistical things you just can't do in it.

  • With this new functionality, you could store 10000 samples of the distribution in the cell. Then broadcast your computations to the sample axis.

  • Would those then be tensors?

    Matrices are Tensors but with the matrix product operator instead of the tensor product operator.

    Pandas supports MultiIndex DataFrames but the pandas docs recommend xarray for 3D and N-Dimensional data.

    xarray supports N-Dimensional data as for example NetCDF but not tensor arithmetic.

    xarray_jax: https://news.ycombinator.com/item?id=41411280 :

    > W3C CSVW supports per-column schema. ( with URIs for datatypes )

    > Serialize a dict containing a value with uncertainties and/or Pint (or astropy.units) and complex values to JSON, then read it from JSON back to the same types. Handle datetimes, complex values, and categoricals

    IEEE-754 specifies NaN (null), ±0, three infinities (positive, negative, and unsigned), but IEEE-754 does not specify a representation for categoricals, datetimes (like ISO8601), or complex numbers.

    XSD (XML Schema Datatypes), which RDFS vocabularies often use to specify the rdfs:range of an rdfs:Property, does not specify how to specify abstract complex numbers; but OpenMath RDF, and QUDT (Quantities, Units, Dimensions, and Types) and OM Ontology all have a way to save complex numbers to disk, too.

    • The matrix product is not something specific to matrices, but it is a particular case of the contracted tensor product.

      (While now almost everybody uses the names "tensor product" and "contracted tensor product", historically these names are wrong. Better names, which do not misuse the word "tensor", would have been "Zehfuss product" and "Cayley product", after the names of the mathematicians who have introduced them.)

      The word "tensor" has become increasingly corrupted over the years. Originally, it had a meaning that matched its etymology, i.e. "tensor" meant "symmetric matrix", because a matrix could be decomposed through the polar decomposition into a tensor and a versor (i.e. a symmetric matrix and a rotation matrix).

      Then what is now called tensor theory was created by Ricci, but without ever using the word "tensor". The meaning of the word "tensor" was changed by Einstein in his theory of the general relativity, where for unknown reasons he chose this word to refer to arrays with an arbitrary number of dimensions that satisfy a certain kind of transformation relationships when the systems of coordinates is changed.

      After WWII, due to the huge popularity of Einstein, this weird usage of the word has become widespread.

      Then for many decades tensors were just a subset of arrays, those that are changed in a certain specific way when the system of coordinates is changed.

      Eventually, there was the second corruption of the word "tensor" which is completely unjustified, when "tensor" has become just a synonym for "array".

      Vectors are 1-dimensional arrays (though originally, like tensors, vectors were only a subset of 1-dimensional arrays), matrices are 2-dimensional arrays and nowadays "tensors" means just "arrays", i.e. of an arbitrary dimension.

      The tensor product and the contracted tensor product are defined for arrays of arbitrary dimensions. For 2-dimensional arrays the contracted tensor product is a.k.a. matrix product, and for 1-dimensional arrays it is a.k.a. scalar product.

      3 replies →

I was skeptical, but this looks genuinely useful. I can already think of some use-cases for this, e.g. a spreadsheet I was working on recently had a list of user, and then a comma-separated list of software apps they were using. It was a bit of a nightmare to parse, but the example in the article would definitely help with filtering the list.

Technically, this is a huge deal for Excel because it represents a fundamental change from the traditional one-value-per-cell model. From a practical usage perspective, though, it may not be as revolutionary as it initially sounds.

I was playing around with it this morning and tested it on a fairly large Excel model with lots of spillable dynamic arrays used as intermediate calculations. I was able to replace those spill ranges with arrays in cells, and all the formulas referencing those results continued to work nicely. In many cases, enabling it was as simple as adding {} around the existing dynamic array formula. That huge workbook immediately looked much cleaner without all those helper spill ranges taking up space.

I think that's where the immediate value is. It simplifies helper ranges and intermediate calculations, reduces potential #SPILL! issues, and makes complex models easier to build, understand, and maintain.

It could also be interesting when combined with LET and LAMBDA, allowing custom formulas to work with arrays without exposing all their intermediate results across the worksheet.

I think it will become considerably more useful, once it supports features like charts, Power Query, and data validation.

Over the years, I've seen many comments dismissing Excel. But as many people who've worked in enterprises know, Excel is a godsend for manipulating reams of data for non-programmers who can think analytically. Of course, complex formulae and extensive VBA functions become a tech debt over time. But implemented properly, it provides a solution which doesn't require huge management approvals and increases productivity.

I'm sure that these new features will find a lot of use amongst many people. And seeing these Excel innovations is heartening.

  • Even as a programmer I find Excel pretty useful for anything involving numbers. The fact that everything is reactive allows for very fast iteration when testing stuff.

    I wouldn't necessarily want to maintain a really complicated spreadsheet but I stop using spreadsheets once it gets anywhere near "complicated". It's still valuable for what I use for.

  • I work at an airline where Claude is replacing data analysis tools like excel, data visualization tools like power bi, all that's left is dynatrace because it does it all automatically like Claude does. Many bespoke data processing or data analysis tools for non programmers are being replaced by Claude suscriptions, like excel, power bi, spss, tableau, those are the most used I think. No Python data analysis nor big data tools like pandas, numpy, apache superset are being replaced though

    • I love Claude and use it for many things, including analyzing and manipulating Excel files. But I’m not convinced that replacing spreadsheets with Claude is the right approach.

      Over the years, we’ve seen many platforms promise to replace spreadsheets for a particular use case or industry. Businesses adopt them and push users away from Excel, but in many cases, those same users eventually find their way back to Excel to do the exact same work.

      My concern is that we may end up creating another dual-system maintenance problem, where some people use AI and others continue using Excel for the same business process. Over time, the two versions inevitably diverge, potentially creating more problems than they solve.

      Excel is much stickier than most people realize. I think the more interesting opportunity is figuring out how AI and Excel can work together, rather than trying to replace one with the other.

    • I would argue using Claude in replacing a spreadsheet is potentially more of a tech debt than the spreadsheet itself. Now if you would use Claude to build a point application that performs the same standard analysis it might be better, but only marginally so.

      2 replies →

  • The other aspects is the new generation doesn't understand it. During interviews in marketing but also for a medical field expert, I often ask "make a small budget so you'll see how your bonus will work", and even the PhD, which is the top academic level, couldn't use a basic formula. How do they deal with data during a PhD? "In Prism", she said.

    Same for marketing students and, although it's a lower academic level, they still need Excel for prospect lists.

    • Recent grads at all levels always suffer from this problem. The issue is they’ve not needed to use it with enough frequency in their academic lives to build the knowledge or muscle memory. Things have improved a lot in past 10 years or so, but it’s even true with many Finance and Accounting grads (that’s who I hire). Many of them just have never seen real world business data and working with it so different than the contrived information they had seen in coursework. That said give them $15 to spend on Udemy. Then, give them a few assignments, with real world business data. And most people pick it up pretty quickly.

    • A PhD is not for teaching about specific software tools, and hopefully even less so about legacy software from the 80's.

      If you want people to be able to use Excel or service a mechanical typewriter, you need to spend extra effort to teach them.

    • I'm one of those. Excel's ease of use isn't relevant if you already know how to use Python / Jupyter / DuckDB / whatever.

      The mental model of describing a series of reproducible transformations on normalized tables is more intuitive to me.

      Excel lets you do too many things. As a result, I mostly see spreadsheets that aren't much more machine-parsanle than a word document.

      We had to write a score-table at a party lately, and a while ago, and I managed to get it working with DataSpell faster, than it took us to figure out how Google Sheets stupid date-parsing works.

      1 reply →

Interesting.

I wouldn't consider myself a "pro" Excel user. I think my comprehension would be on the higher end of "basic", or maybe the lowest end of "intermediate".

That said, in all the years I've used spreadsheets, I guess I've never really thought I needed more than one value in a cell. I never really seriously considered putting JSON or something in there, and have been ok with just using more cells instead (especially since Office 2019 when they added dynamic arrays that allowed spillover).

I genuinely believe this is the only revolutionary feature I’ve seen implemented in excel in the 30 years that I have been using it.

There have been obviously lots of change but nothing like this, incrementally adding functions etc but this changes the type system like nothing else I’ve seen.

  • I would say the replacement of the calculation engine with an array first engine with spill, and array functions was even more powerful.

It's funny how history repeats itself... from 61 years ago: Pick OS had multi-value fields... Not quite the same, but it was the "Excel", and so much more, at the time.

https://en.wikipedia.org/wiki/Pick_operating_system

I guess I am dating myself!

  • There are still 100's of organization still using MVDBs. Of those 1000's of multivalue professionals, I expect very few to peruse HN. There are dozens of us!

Why does a blog page need three loading spinners at the top to load a couple of simple text banners asynchronously?! ... And this from one of the biggest software giants. We have fallen so far.

I kind of wish most of LLM/AI dashboards out there just does it in excel/google sheets to have a normalized interface. One of key benefits of spreadsheets is almost everyone, technical or not have had some exposure to them.

I didn’t really appreciate excel fully until I worked at a company that forbid software development and had implemented a whitelist policy for executables. VBA was blocked too.

Excel on Windows was the only tool available, outside of offering sacrifices to the high priesthood of IT.

It is a supremely elegant tool capable of deep data integration and extraordinary analysis, if you approach it with an engineer’s mindset.

This was during the time when they started introducing lambda and related functions. Nowadays, Excel is even more of a superpower.

Unfortunately, Excel on Mac is not nearly as good. It has all the features, but it’s missing a lot of the UI needed to use them effectively.

  • I've worked at places like they. They did have a self-service app store you could use to install things. It also had an approval system for anything that cost real money for a license. Excel was the bread and butter for many engineers for a long time to make functional tools. The great part of Excel is you could make little GUIs with the tables, not exactly QT, but you could have labels and textboxes. We regularly used a tool up until 2020 that was originally created in Excel 97.

    MATLAB was the runner up for our tools but the good part about Excel was that every PC had it whereas MATLAB wasn't and also needed network access for the license (or else your program/department had to buy a node license). Later, many people switched to python since not everyone loves MATLAB and it's more of a real software language (and it's free) than what's effectively a very expensive calculator.

    • > They did have a self-service app store you could use to install things.

      We had this too. The apps were years out of date because they needed to be manually packaged for the internal store. The one person who was allowed to run the recorder to monitor the vendor installer (because that requires admin level to monitor other apps) to create the store install script has 1000 other package requests ahead of yours.

  • Excel on Mac does not have all the features. It does have most of them. It is also buggy.

  • Excel has kept many companies alive that ought to have sunk. It covers for incompetent CIOs and sclerotic management.

    Blocking VBA (for security reasons) did wonders for process maturity because it forced funded implementation of programs. Now we have vibeslop we're going the other way.

  • Were you able to process truly large datasets? I worked at a very excel company once but we kept running into row limit issues when scaling workloads and eventually migrated almost everything away from it. What industry were you in at the time?

    • Aerospace. I was interacting with data sets on the order of hundreds of millions to low billions of rows. This particular company had legacy WinForms applications running against SQL Server. Excel can directly connect to the db to run complex, multi-step queries (IIRC it holds the connection open so you can do things in temp table). Hitting “Refresh” in Excel can trigger a lot of work. And then it can do a ton of processing locally. IIRC, there were no row limits on what excel could process locally (so long as the final result stayed under the sheet limit).

    • The same thing that works for databases also works for excel. You shard the data and run your analysis on the set of shards in excel. It's not elegant, but can solve many problems.

  • The console in browsers is also very useful

    Especially since it uses your cookies by default.

  • > Unfortunately, Excel on Mac is not nearly as good. It has all the features, but it’s missing a lot of the UI needed to use them effectively.

    Someone could just vibe code that. I'm not even kidding.

Excel excels because if fills the 2D user interface. But not separating calculations from the tabular position in the UI is a historical failure and things like this is a band aid on that

  • Having used Framework very extensively at one time, I would say that is one of the best thing about Excel.

    OTOH, LAMBDA and LET enable moving the core of some calculations into user defined functions in the Name catalog. And Tables fix a lot of the cell reference issues though they need a lot of improvement to handle array spills.

Reminds me of Oppenheimer: "Now I am become Death, the destroyer of worlds"

About time! Should have done this from the start instead of spill. That and being able to index into the multiple values in a cell.

Excel now support lists and arrays as values in a cell, but it still thinks February 29th, 1900 is a thing because 40 year-old backwards compatibility?

This is a strange world we live in.

Backwards compatibility with Lotus 1-2-3: https://learn.microsoft.com/en-us/troubleshoot/microsoft-365...

  • Is that a contradiction? Adding list and arrays doesn't break backwards compatibility. In general, guaranteeing backwards compatibility doesn't prevent you from adding new features, and having both old quirks and new features is fairly common for any decently old software

I imagine adding this feature has cost many hours of development. Aren't there lower-hanging fruits to please Excel's users? What about allowing user-defined shortcuts? E.g. to edit a cell it's still either the mouse or F2, neither of which is comfortable on modern laptops.

  • Even more basic stuff like scrollbars that work sensibly, and not trying to second-guess what I type into a cell.

I’ve recently been experimenting with OnlyOffice as a non-excel alternative that can still support a broad formula set and I’ve been really pleasantly surprised. I want to be able to use an open source spreadsheet system and onlyoffice is surprisingly robust.

  • Are you familiar with LibreOffice? Are there any advantages that OnlyOffice has over other open source spreadsheets?

    • Sibling comment nailed my feeling on this: the UI of onlyoffice is modern and clean. To add on, it gives me a feeling of confidence that it can round-trip files back and forth from excel more reliably; a lot of people on my team also use excel and we need to exchange workbooks, so that was what prompted me to move on from LibreOffice when I lost confidence that files would be able to remain pretty stable going back and forth.

    • I’m a very occasional and casual user of office programs. Mostly I don’t use them.

      What I like about OnlyOffice over LibreOffice is the UI. I like how it’s one program that can open all the documents rather than a collection of different programs as well. It feels clean, simple, and modern.

This seems like it'd be some sort of April Fools announcement.

  • Same thoughts here. The comments in here make it sounds like a good idea. But isn't the whole idea behind excel (and any spreadsheet really) to have all data flat into sheets. For me the idea alone seems to break the whole concept

    • Keeping all values of a cell as scalars is literally First Normal Form in database normalisation; it brings myriad design benefits.

      But Excel is not a relational database: for simple cases, having an extra table for a non-scalar column is awfully confusing to present to an end-user. From that angle this makes total sense. There's still 1NF for more complex embeddings, anyhow

      1 reply →

Treesheets had this for over 15 years now. https://strlen.com/treesheets/

Having just learned R, it feels like Excel is feeling competitive pressure from R and so has implemented R's `lists` and `vectors` types. It will be interesting to see if it makes its way to ODS.

  • Lists and vectors have been around for a while. I dont think they suddenly started feeling pressure from those data structures after 30 years, coincidentally when you learnt about their existence

    Also the people who would use R and who would use excel are completely different. They use both for the same thing but a user of one would rarely use the other

This is a huge change, but it's unfortunate they left out types. Imagine if they had Haskell style list pattern matching and pure function evaluation.

That seems pretty wild to me

Wonder if it works with all the functions - most of which would assume one value

  • Most of those were updated with the switch to the array first calculation engine (with a few glaring exceptions) so this capability should already be supported.

Weird, because I remember a job where we had arrays in Excel cells back in 2008.

  • Excel arrays are difficult to work with, exceedingly slow, and didn't have some basic formula support.

    This looks like a very sane implementation, addresses some issues with traditional arrays (while extending them nicely) and implements those much-needed formulas.

    • That should be were difficult to work with - that changed drastically with a new calculation engine. This just makes arrays more of a first class cell type.

  • You could call a named range or ctrl+shift+enter to run an array command. You couldn't put a defined array in a single cell, it would read at text.

> Throughout Excel's 40-year history, you've only been able to put one value per cell. In this announcement, we're excited to share how that's changing with the release of lists, arrays in cells, and nested arrays, initially to Microsoft Excel for Windows and Mac Beta Channels.

This seems like something I'd expect to already exist in Excel, but the way it's being presented makes it sound like they want to murder Excel.

Would anyone be shocked to find out that I've been smuggling JSON in spreadsheets for a long long time and regret nothing?

  • I have, at the risk of being a meme, put spreadsheets in cells via OLE. It was glorious.

    • Can you extract values from the embedded spreadsheets to do math in the host sheet?

      What was that syntax like?

Some day maybe excel will be a proper database. Anyway, who uses Excel?

The real question is if Google Sheets will get these features.

Users might see it as a good thing to have yet another feature, but this sort of type-softness is why Excel is bad. In general having every feature is a bad thing, you need constraints to design things, to have idioms.

Making everything flexible is what allows you to make spaghetti that nobody understands.

  • I shall embark upon a quest, and the quest’s object shall be thus: to define multiple lambdas within a list, and thereupon, to make cells downstream depend upon the lamda’s, and to make them in turn become lists or values, and so on, until the whole thing breaks.

  • Excel does not need to be as opinionated or portable as a programming language. This might actually be a lesser of two evils considering what type of user behavior it encourages. (I've heard a similar ethos behind certain design decisions of Go)

    • The flexibility of Excel is a lot of its value. If it wasn’t flexible like this then how could it be so widespread as a general purpose business tool?

      Excel allows and embraces whatever mess you want to make.

  • Microsoft is actively harming the laypersons comprehension of their data with 'features' such as this.

    Reasoning about the basic shape of data with real estate managers using the Btrieve[0] database on DOS (and then XP) in years gone by was noticeably more straight forward than wrangling the monolithic excel monstrosities encountered today.

    [0]https://en.wikipedia.org/wiki/Btrieve

    • There is an argument to be made somewhere that Microsoft should’ve pressed much more hardly upon Access and the separation between data and operations thereupon than the conglomerate mess that is Excel.

This really feels like jumping the shark. But I'll admit I've run into cases where this would have been handy. I wonder if it'll be worth all the inevitable edge cases and footguns it'll create.

  • Did you? Isn't the whole point of of excel to just make a new sheet if you have a another form of data structure?

I used to say Excel was the only truly useful, well-designed piece of software Microsoft ever made. It's an amazing example of dataflow programming and for that reason alone it's worthy of study.

Alas, Microsoft has enshittified it. Excel used to be a standalone program, then they made it online with the offline version hard to find. I bought that offline version only to discover it would stop working if it didn't phone home to the mothership every 30 days. Now (at least for my Mac version) it has stopped working entirely, even if I let it phone home.

I probably have a cause of action against Microsoft for this, but life's too short to wade into a legal battle with a sewage company and Libre Office is available and I'm switching to Linux anyway.

Oh great. More stuff to break the two decade piplelines in the poorly maintained VBA-scripted and now AI-infested sheets that control businesses.

[flagged]

It makes me gleeful to see Microsoft adding genuinely new and useful features to their standard products. Whether true or not, it feels like it's been such a long time..

  • And something that isn't AI or an advertising opportunity…

    Though they have been slowly adding useful new features to Excel (auto- spill is one I occasionally find to be both a time saver and a mistake reducer) for a few years now, after a long time seemingly doing very little with it. While I'm all for things having a "done" state and after that not doing much with them so as to not break a good thing, there is plenty of room for little improvements like new functions (admittedly many of them likely a bit niche) in Excel, just as long as they don't break what already works at the same time.

So they added support for and a nice UI on JSON data types in database fields.

That may sound reductive and dismissive, but I think that's actually pretty cool and likely to make some things a lot easier.

I didn't read this, but it could already hold tons of values in one cell? Can someone explain what they are 'supporting' now?

  • I recommend you read the article. It's short, illustrated, and does a good job of explaining what's new, how it works, and how it extends existing Array functionality.

The way to do mathematics on computers is via a CAS such as Mathematica. This is misguided pornography. Unfortunately as such it shall do what its implementers intended: for a while embrace, and if not extend, embolden.

And yes, I know Wolfram Language is proprietary too, and, yes, I know Stephen Wolfram is a massive tool, and yes, I know Mathematica licenses are expensive, and yes, I am aware of probably all the criticisms you can level my way and at it and then some in various permutations thereof, but heavens, at least it isn’t this dissolute disaster otherwise known as Excel, where “numbers have a place” but they don’t need to be numbers, and they don’t need to be in a place or have a place, but they break silently whilst you run your hedge fund.

EDIT: As soon as I get my hands on this monstrosity I shall embark upon a voyage to define several lambdas within the same cell as a list, and then make other cells depend upon it, and their type too, to see how far I can push this thing until it breaks.

  • I'm sure someone has already coined a law something like this:

    The use of Excel expands until it fills the space of all use cases.