本文へ
ハクソク

世界を動かす技術を、日本語で。

Excelが単一のセルで複数の値をサポートするようになりました

元記事: 原文(techcommunity.microsoft.com)

概要

  • Excel が40年ぶりに セル内で複数値を扱える新機能 を発表
  • リスト・配列・ネスト配列 がWindows/MacのBeta Channelで先行公開
  • 新機能により 計算・フィルタ・編集の柔軟性 が向上
  • 新関数や制限事項、互換性バージョン3の導入
  • 一部制約あり、フィードバックをもとに正式版で調整予定

Excelのセル内リスト・配列機能の刷新

  • Excel史上初、1セルに複数値(リスト・配列)を直接格納可能

  • 例:オーナー名「Carlos, Henrietta, Jacob」やアンケート回答「2:00 PM; 2:30 PM; 3:00 PM」など、従来は区切り文字で1セルに詰め込んでいたデータ管理の刷新

  • リスト機能 で、値を分離したまま1セル内で管理・編集・フィルタリング・計算が可能

  • 作成方法 :Insert > List選択、またはCtrl+Jでリスト入力

  • セル内のアイコン選択で個別値を表示、ダブルクリックやF2で編集

    • フィルタ :リスト内の個別項目で絞り込み可能
    • 数式参照 :=B2などでリスト内の全値をスピル(複数セルに展開)可能

配列・ネスト配列の新しい扱い

  • 配列がセル内でネイティブに扱える よう進化
  • 配列は任意のサイズ・形状で、さらに 他の配列を内包(ネスト) 可能
  • スピルの抑制 :波括弧{ }で数式を囲むと、結果を1セル内に保持
    • 例:={1;2;3}を{{1;2;3}}とすることで、複数セルに展開せず1セルに格納
  • ネスト配列 :={{1,2,3};{4,5,6}}のように多重配列を1セルに
    • 従来は#CALC!エラーや一部値のみ返却だったが、完全なネスト配列対応へ
    • TEXTSPLIT関数の例:ネスト配列対応で各行ごとに配列を保持し、より柔軟な計算が可能

配列操作を支援する新関数

  • FLATTEN(array, [pad_value], [levels])
    • ネスト配列の階層を指定して平坦化、空欄補完も指定可能
  • HAS(array, value)
    • 指定値が配列内に存在するか判定(TRUE/FALSE)
  • HASANY(array, values)
    • 複数値のうちいずれかが配列内に存在するか判定
  • HASALL(array, values)
    • 複数値すべてが配列内に存在するか判定

実用例と応用

  • ランニング記録表 :1行ごとにスプリットタイム(区間タイム)をリストで格納、走行距離によってリスト長が可変

  • 集計や分析 も同一テーブル内で実施可能、柔軟なデータ管理を実現

    • 詳細な事例はLinkedIn, YouTube, Reddit等のExcelコミュニティ参照推奨

互換性バージョンと既知の制限

  • Compatibility Version 3 が配列機能の大半で必須
    • 設定:Formula > Calculation Optionsからワークブックごとに指定
    • 一部の既存数式はバージョン3で動作が変化、従来通りの場合はバージョン1または2を選択推奨
  • Beta Channel限定の制約
    • 条件付き書式:配列内容の判定不可(数式利用時のみ可)
    • データ検証:リスト・配列をドロップダウン選択肢に利用不可
    • グラフ:配列をデータポイントとして展開不可
    • ピボットテーブル:配列値をソースデータとして認識不可
    • Power Query:配列値カラムの入出力非対応
    • 検索と置換:リスト・配列項目の置換不可

対応バージョン・リリース状況

  • Beta Channel対象バージョン

    • Windows:Version 2610(Build 20520.20000)以降
    • Mac:Version 16.114(Build 26092111)以降
  • プレビュー機能は順次展開、品質・パフォーマンス監視のため一部ユーザーのみ利用可能

  • 機能は調整・一時停止・削除される可能性あり

    • フィードバックはExcelの「Help > Feedback」から送信可能

参考リンク

  • 詳細・最新情報:https://techcommunity.microsoft.com/blog/excelblog/excel-now...

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

エクセルで革命が起こるとしたら、セルに確率分布を入れられるようになることだね。今のスプレッドシートはかなり決定論的で、これが現実世界について何かを教えてくれてると思ってるけど。セルに分布を作れるようになれば、世界の不確実性をもっとよく表現できるし、テールの分布みたいな面白いことも見えてくると思う。

└

それってどんな感じになるんだろう?そういうのが必要なときは、各パラメータをそれぞれのセルに入れて、そこから関数を使ってるよ。最悪のケース、平均のケース、最高のケースが違うってことを、技術や数学に詳しくないCEOにもっと簡単に伝えられる方法があったらいいなと思ってる。

└

これは有料のアドオンだけど、@Riskが求めてる機能を提供してるよ。

└

Guesstimate(https://getguesstimate.com)は何年も前からあるよ。ExcelやGoogleがすぐにその機能を取り入れると思ってたけど、全然広まらなかったね。特徴としては: - すべてのセルに名前がついてる(設定しなければ自動で名前がつく) - セルには単一の値、いろんなタイプの確率分布、またはサンプルデータが入れられる - 数式も分布を一級の出力として生成する。計算はモンテカルロシミュレーションだから - 各セルには自分の理由を説明するためのポップアップボックスがあって、ドキュメントも内蔵されてる。これがすごく役立つ。特にサンプルデータが便利で、確率的なボトムアップ予測を作って、実際のデータで更新できるから。

└

プロセス改善をやってたときは、MiniTabを使ってたよ。正直あのプログラムはあまり好きじゃなかったし、Excelを使えたらよかったのにって思ってた。でも、統計的なことができないことが多すぎるんだよね。

└

それってテンソルになるのかな?行列はテンソルだけど、テンソル積演算子の代わりに行列積演算子を使うんだよね。PandasはMultiIndex DataFrameをサポートしてるけど、ドキュメントでは3DやN次元データにはxarrayを推奨してるよ。xarrayはNetCDFみたいなN次元データをサポートしてるけど、テンソル演算はできないんだ。xarray_jax: https://github.com/google-deepmind/xarray_jax : > このライブラリはその問題を解決するよ。xarrayのデータ構造をカスタムJAX PyTreesとして登録するんだ。これにより、JAXはxarrayオブジェクトを生の配列にシームレスにフラット化して、高速計算を行い、結果を完全にラベル付けされたxarrayオブジェクトに戻すことができる。次元名や座標といった重要なメタデータも保持されるんだ。データ型を使ったフラット化とアンフラット化は、パフォーマンスのためにループを展開するのに必要だよ。確率論的論理において、頻度主義や記号的分布を値として持つ式にはどんな論理が正しいの?量子論理や量子統計力学は、すべての確率論的論理にとって適切または有用なツールなのかな?dist_a1 dist_a2の不確実性は、Pythonのnumpy型でmean±devを意味するよ。出典: https://news.ycombinator.com/item?id=41411280 : > W3C CSVWは列ごとのスキーマをサポートしてるよ。(データ型のURI付き) > 不確実性やPint(またはastropy.units)、複素値を含む辞書をJSONにシリアライズして、同じ型に戻すためにJSONから読み込むんだ。日時、複素値、カテゴリカルを扱うIEEE-754はNaN(null)、±0、3つの無限大(正、負、無符号)を指定してるけど、IEEE-754はカテゴリカル、日時(ISO8601のような)、複素数の表現を指定してないんだ。RDFSの語彙がrdfs:Propertyのrdfs:rangeを指定するためによく使うXSD(XMLスキーマデータ型)は、抽象的な複素数をどう指定するかを示してないけど、OpenMath RDFやQUDT(量、単位、次元、型)、OMオントロジーは、複素数をディスクに保存する方法を持ってるよ。

└

この新機能を使えば、セルに分布のサンプルを1万個保存できるよ。それから、計算をサンプル軸にブロードキャストできる。

└

Gnumericにはモンテカルロが内蔵されてるよ。

└

こういうのをいじるのには、https://www.squiggle-language.com/ が大好きなんだけど、Excelよりプログラミングに近いかな。

最初は半信半疑だったけど、これは本当に役立ちそうだね。最近作業してたスプレッドシートにはユーザーのリストがあって、その後に使ってるソフトウェアのカンマ区切りリストがあったんだけど、解析するのがちょっと大変だった。でも、記事の例はリストをフィルタリングするのに確実に役立つと思う。

次のステップは、セルにスプレッドシートを追加できるようにして、無限ズームを導入することだね。

└

https://support.microsoft.com/en-us/excel/insert-an-object-i...

Hacker Newsで議論の続きを見る

同じ出典の記事