なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

2022-11-01から1ヶ月間の記事一覧

Power Query:列のピボット解除

マトリクス表(縦横配置の一覧表)を1列1情報の形に組み替えするには、クエリの「列のピボット解除」がとにかく便利。操作も簡単なので、クエリを使うなら絶対に覚えておきたい。 「テーブル1」があるとして(データ範囲を名前定義する形でもいい)、ここ…

Power Query:クエリのマージ

そもそも「クエリのマージって何」という人もいるはずなんで書いておくと、2つのクエリ(もしくはステップ)を、それぞれ対象となる列を指定して1つにまとめること。Excel的にいうなら「VLOOKUPで別テーブルのデータをひっぱってくること」だ。これいうと…

Power Query:LOOKUP的な検索(近似一致検索)

先週、絶対一致検索にアイテムアクセスが使えることを書いたけど、それなら近似値検索(近似一致検索)がしたい時はどうするのかという話に当然なるかと思う。 数式でやるなら簡単で、画像のような採点表がある場合、同じテーブルに「評価」列を作って、 =LO…

Power Query:ランダムに並び替える

データをランダムに並べ替えるには「重複しないランダム値」が必要で、Excelのワークシート関数なら「=RAND()」を並べれば簡単に作れる(表示された RAND関数の結果は絶対に重複しない)。なので、Power Queryにも「Number.Random」があるから、同じくカスタ…

Power Query:型リストから型レコードへの変換

タイプリストからタイプレコードへの変換。あるいはタイプレコードからタイプリストへの変換。これってどうやるんだろうと色々試してみた。 TypeList = { {"日付", Date.Type}, {"テキスト", Text.Type}, {"数値", Int64.Type} } 例えばこんなリストがあると…

Power Query:VLOOKUP的な検索をする(アイテムアクセス)

Poewr Queryで2つのクエリを紐づけする場合は「クエリのマージ」を使うのが一般的。そっちのほうが処理負担も少ない。 売上データの「ID」を使って、名前マスタの「名前」を結合する(ついでに集計する)場合、 ソース = 売上データ, クエリのマージ = Tabl…

Power Query:置換リストを使って文字列を一括で置き換える

置換リストを使ってデータを置き換えする場合、方法としては色々考えらえるけどリストから変換するのがいいかと思う。 画像のようなテーブルがある場合、ひとまず「氏名テーブル」と「置換テーブル」は読み込み済みとして、[ホーム]→[詳細エディタ]に下…

Poewr Query:論理値を数値に変換する

パワークエリで論理値(Logical型の「true」「false」)を数値化するのってどうやるんだろうと思って色々試していた。ワークシートの数式だったら「(A1="あ")*(B1="A")」みたいなことが簡単にできるのに。論理演算はできないみたい。 だめなやつ 計算 = ([Co…

Power Query:生年月日から年齢を計算する

年齢計算は初日を参入するので(年齢計算ニ関スル法律の第一項)、誕生日の前日には歳が繰り上がる必要がある。なので正確に計算する前に、起算日を生年月日の前日にしてしまったほうがいい。Excelでいうと、DATEDIF関数が初日不算入なので「開始日-1」か「…

Power Query:シートで分かれたデータに区分名を入れて縦結合する

Excel使う人の多くは「シート」で同じ形式の表を分けてしまう。これやると大半が失敗に繋がるんだけど、どうしてもこれが止められない人が多い。色々理由があるのは分かるんだけど、あえて「それは間違っている」と断言しておく。 とはいえやってしまったも…

Power Query:縦方向のデータを横並びで出力する

テーブルに縦方向に入力したデータをグループ分けして横に並べたい時。 Excelを使っている人の多くは、この逆パターンで悩むことが多いんだけど、そっちは Power Queryだと「列のピボット解除」で一発解決するので、敢えて逆パターンを取り上げる。 横並びの…

Power Query:土日祝日を判定する

土日の判定は簡単なんだけど、祝日の判定には祝日リストが必要。これは Excelと全く同じ。ただ国民の祝日一覧は「年」さえ指定すれば簡単に作れる。 祝日を判定するには祝日一覧がないとなんともならないので、まずはそこから。今回は当年に前後一年を加えた…