Power Query:AとBのリストを比較して抜き出す
慣れないと混乱すると思いますので、2つのリストを使って比較抽出する方法をまとめておきます。「A」と「B」のリストがあるものとして、AとBのすべて = List.Distinct(A & B) もしくは = List.Union({A, B})AとBで重複するものだけ = List.Intersect({A, B})AにあってBにない = List.RemoveItems(A,...
View Article数式/関数:文字列から数字だけを抜き出す
前にどこかで書いた気がするんですけど、忘れてしまったので改めて。下の A列のような文字列と数字が混じった値から「数字」だけを抜き出す方法です。「『数字以外』だったら、TEXTSPLITを使うだけなのに」と思った人は惜しい。というのも、その「数字以外の配列」を区切り文字にして、更に...
View ArticlePower Query:クエリ名の文字列からクエリを呼び出す
実のところ必要性はそれほど感じていないんですが、やれるかどうかに興味があったので「クエリ名の文字列からクエリを呼び出す方法」を考えてみました。予め、上記の3つのテーブルは「テーブル1」「テーブル2」「テーブル3」として、クエリを作成済(接続のみ)とします。クエリ名といってもただの文字列ですから、これをそのままクエリとして認識させることはできません。ではどうするかというと、今回の記事の肝となる「セクシ...
View Article数式/関数:行ごとチェックしてカウント/抽出する
数式で「同じ行に0以外の数値が1つでもあれば」のような、「行全体」を条件にするのって以前は若干面倒でしたけど、BYROW関数とイータ縮小ラムダの組み合わせでとても簡単になりました。件数=COUNT(1/BYROW(1/B2:F5,COUNT))これだけ。抽出だったら下記の通りです。抽出=FILTER(A2:F5,BYROW(1/B2:F5,COUNT)>0)見出し行は...
View ArticlePower Query:特定の文字が含まれる値を置換する
パワークエリでの文字列の変換には、「値の置換(Table.ReplaceValue)」を使いますよね。「A」を「B」に置き換えするような場面なら、これでできます。ただパワークエリでは、今のところワイルドカードや正規表現が使えません。「A...
View Article新年のご挨拶
あけましておめでとうございます。既に三が日もあけてしまいましたが、今年もエクセルネタをあれこれと書いていきたいと考えています。Web検索をした時にピンポイントな記事を見つけられずに困ることがあるので、それを補完するつもりでやっていますが、先走って書いた内容に不備等がありましたらコメントいただけると助かります。なるべくコンスタントに書いていきたいと思いつつ、昨年は月に数件しかアップできていませんでした...
View Article数式/関数:文字列から数字だけを抜き出す改
先日、こんな方法もあったなと思い出して「数式/関数:文字列から数字だけを抜き出す」を書いたところなのに、REGEXEXTRACT関数が使えるようになったので必要なくなってしまいました。いえ、いいことなんですけど。数字を含む文字列から数字だけを抜き出す場合、TEXTSPLIT関数ではなく...
View ArticlePower Query:追加情報だけを読み込む
2025年は、基礎的な操作についても取り上げていきたいと考えています。というわけで今回は、古いテーブルと新しいテーブルを突き合わせて、古いテーブルにはない追加された行だけを抜き出す方法について考えてみます。いわゆる差分抽出(不一致クエリ)というやつです。とてもよく使いますし、過去にも書いたことがあるんですが、改めておさらいしておきます。今回はテーブルの突合をやりますが、リストの場合はこちらを参考にし...
View ArticlePower Query:列名とデータ型を揃える
2つのテーブルを縦に結合する時は、列の名称とデータ型が揃っている必要がありますよね。データ型については、結合した時に揃っていない列が...
View Article関数/数式:縦横が重複しない組み合わせをランダムに作る
当番表やローテーションが被らないよう、ランダムに組み合わせたいと考えた時、従来であれば数式でやるのはそれなりに大変だったんですが、Microsoft365ならそうでもないなと思った次第です。例えば、5×5の枠に1~5の5つの数字を、縦横(斜めは除外)に重複しないようランダムで配置する場合で考えてみましょう。画像の場合なら、縦横の合計は全て「1+2+3+4+5」で「15」になるはずです。また重複を省い...
View Articleピボットテーブル:月/日ごとの差引残高を計算する
先日、数式の回で書きましたが、ピボットテーブルのほうが簡単なので、改めて書き直します。ひとまず「現金出納帳に残高列はなくても大丈夫だよ」ということだけは繰り返しておきます。日計も月計もいりません。どうしても残高が必要なら「差引列」を作ってそれの「累計」を出せばいいんですが、入力表に数式を入れると碌なことがありません。必要がないなら抜いたほうが安全です。では、ひとまず完成図から確認しておきましょう。上...
View Article数式/関数:SORT関数の昇順/降順の指定方法まとめ
Excel2021で追加された SORT関数なんですが、Googleスプレッドシートの SORT関数とは微妙に仕様が異なります。それどころか同じ Excelなのに、後で追加された GROUPBY関数や...
View Article数式/関数:年と月を指定して1ヶ月分の日付を表示させる
セルに年と月を入力して、1ヶ月分の日付リストが欲しい場合、皆さんはどのようにされているでしょうか。方法はたくさんありますし、スピルに対応していないバージョンでも上のセルと比較しながらやればいいんですが、最新の Excelなら1セルに数式を入れるだけで完成します。1ヶ月分すべて=LAMBDA(年,月,LET( 月初,DATE(A2,B2,1), 月末,EOMONTH(月初,0),...
View Article数式/関数:フィルタで抽出した値を条件付きで集計する
以前にも一度書いたんですが、定期的に質問が出るので記事も定期的にあげてみます。フィルタで抽出してから条件指定で計算する方法です。フィルタをかけるなら全部フィルタでやるべきですし、数式で計算するなら全部数式でやればいいんですが、「フィルタをかけてから SUMIFS関数/COUNTIFS関数で計算」に強いこだわりのある人が時々います。幸い、Microsoft365(もしくは...
View Article数式/関数:特定の曜日だけを抽出する
先日の「年と月を指定して日付リストを作る方法」の続きというか別アプローチです。一から日付リストを作る場合は前回の方法でよいのですが、既に用意されているリストから特定の曜日だけを抽出する場合はどうすればいいでしょうか。指定の曜日を抽出する場合、まずは日付が何曜日かを判定する必要があります。判定方法としては WEEKDAY関数(もしくは...
View ArticlePower Query:新規のクエリを作成する
今更なんですが、結構この説明をするのに時間を取られることがありまして……何もない状態から「空のクエリ」を作る方法を下記にまとめています。新規クエリを作る方法は大きく分けて2つあります。ブックから操作して作る方法と、Power Queryエディタ上から作る方法です。まずはブックから作る場合の方法です。ブックから新規クエリを作る方法[手順1][データ]の[データの取得] [手順2]→[その他のデータ...
View ArticlePower Query:複数ファイルの1つ目のシートを読み込んで結合する
多分一番要望として多いからだと思うんですが、複数のファイルを一括で読み込むクエリの質問が増えてきています。ただ、ヘルパークエリどころかパワークエリがどんなものかすら、よくわからないまま使っている人がかなり多い印象があります。なので質問がちんぷんかんぷんということもよくあります。「ノーコード・ローコードといっても意味不明なまま触るんだったら...
View Article数式/関数:スピル配列の最終行/列の値を取得する
本日3つ目。スピル配列の最終行列の値を取得する方法についてです。わかる人からすると、「こんなことくらい」なんでしょうけど、時々「検索結果」に出てくるんですよね、これ。Ecxel2021以降、数式の結果はスピル(動的配列)で1セルからはみ出して表示されるようになりました。その結果を参照するスピル参照演算子も追加されています。例えば...
View Article数式/関数:複数条件で検索する
複数条件で合計を出すのは SUMIFS関数。複数条件で件数を出すのは COUNTIFS関数。では複数条件で検索をするのはなんでしょう。別段、これと決まった関数があるわけではないんですが、大体は「配列の論理演算」を使う場合が多いでしょうか。論理値(「TRUE」と「FALSE」)に演算を加えることで、AND条件や...
View Article