複数列対応のExcelによるクロス結合の別解

ExcelでREDUCEやらを使ってクロス結合を書いてみました。複数列*複数列でも対応してます。 =LAMBDA(range1,range2, DROP(REDUCE("",SEQUENCE(ROWS(range1)),LAMBDA(seed,num,VSTACK(seed,HSTACK(IF(SEQUENCE(ROWS(range2)),CHOOSEROWS(range1,num)),range2))…

スピルを使ってみよう

(この記事は会計系 Advent Calendar 2023の14日目の記事です。) 会計系アドベントカレンダーの14日目を担当するたきぞうです。 会計系Advent Calendarの企画として何を書いてもよいというお話でしたので、Excelの新しめの機能であるスピルについて書き散らし…

Script Labのカスタム関数でクロス結合

クロス結合ってわりと使いませんか 機械的に二つのリスト(範囲)のすべての組み合わせをするためにはクロス結合を用います。(デカルト積や直積なんて呼び方もする模様) SQLでクロス結合を解説しているネットの記事を見ると、あまり使わない的な解説をよく…

Script Labのカスタム関数でピボット解除

横持ちデータ死すべし Excelで仕事をしているとよく出くわすのが横持ちデータ(縦横マトリクス)。集計結果としては別によいのですが、このデータをもとに何か作業をするためには非常に使いにくいことこの上ありません。 もちろん、Power Queryでピボット解…

Excelアドイン(Script Lab)で正規表現を使おう

前置き 動機は、Excelで気軽に正規表現を使いたい、JavaScriptの勉強がしたい、以上の二点です。もちろんVBAのUDFで正規表現が使えるのは知っていますが、最近社内でVBAへの締め付けが強くなっており、社内環境でリーガルな手段を探していました。 そんなと…

パワーピボットの不具合対応

パワーピボットで1,000行以上ドリルスルーしたいときにクエリのプロパティでグレーアウトになる不具合(?)の解消方法、大変助かりました。#パワーピボット #ドリルスルー https://t.co/WR8nGpfdgS — たきぞう (@keiriman210529) 2021年12月11日 一度拡張子…

PowerQueryで正規表現を使う

JavaScriptの正規表現を呼び出す 残念ながら現時点では、PowerQueryのM言語では正規表現はサポートされていません。しかし、M言語でJavaScriptを呼び出すテクニックがあるそうで、これを使う事で正規表現が利用可能になるそうです。 replace(置換)とmatch(抽…

Excelでのクロス結合

ExcelのLAMBDA関数でクロス結合を定義する PowerQueryのGUIではクロス結合はサポートされておりませんが、公式のドキュメントで手順が公開されています。 Microsoft公式-クロス結合 この方法を使えば面倒なことをせずにクロス結合ができてしまうのですが、何…