Power QueryでCSVを読み込み、条件で抽出するMコード

CSVファイルをPower Queryで読み込み、列の型を明示したうえで担当者名で絞り込む基本手順をご紹介いたします。変数名や列名、ファイル名は本記事用に変更しております。

目次

基本のMコード(UTF-8想定)

Power Query エディタの「詳細エディター」に、次のMコードを記述します。

let
    // 1) ファイル読み込み(UTF-8 の CSV を想定)
    SourceBinary = File.Contents("C:\Data\incoming\orders.csv"),
    CsvTable = Csv.Document(
        SourceBinary,
        [Delimiter = ",", Encoding = 65001, QuoteStyle = QuoteStyle.Csv]
    ),

    // 2) 先頭行をヘッダーへ昇格
    PromoteHeaders = Table.PromoteHeaders(CsvTable, [PromoteAllScalars = true]),

    // 3) 必要な列に限定(例)
    KeptColumns = Table.SelectColumns(
        PromoteHeaders,
        {"Owner", "OrderDate", "Client", "Amount"}
    ),

    // 4) 列の型を明示
    Typed = Table.TransformColumnTypes(
        KeptColumns,
        {
            {"Owner", type text},
            {"OrderDate", type date},
            {"Client", type text},
            {"Amount", type number}
        }
    ),

    // 5) 条件抽出(担当者が "Mori" の行のみ)
    Filtered = Table.SelectRows(Typed, each [Owner] = "Mori")
in
    Filtered

文字コードについて

  • UTF-8 の場合は Encoding = 65001 を指定します。
  • Shift-JIS のCSVであれば、Encoding = 932 としてください。
  • 文字化けが見られる場合は、エンコーディング値の見直しをご検討ください。

よくあるつまずきと対処

  • 列名の不一致
    Table.SelectColumnsTable.TransformColumnTypes の列名は、ヘッダーの綴りと完全一致させる必要があります。表記ゆれがあるとエラーになります。
  • 日付や金額の型
    並べ替えや集計を行う場合、type datetype number を必ず設定します。文字列のままでは期待どおりに動作しないことがあります。
  • ファイルパスの権限
    File.Contents はローカルパスにアクセスします。ネットワークドライブの場合はアクセス権限をご確認ください。

応用:担当者名をパラメータ化する例

フィルター値を変更しやすくするため、別クエリでパラメータを定義し、参照する方法が有効です。たとえば OwnerParam というテキストクエリを作成し、下記のように書き換えます。

let
    SourceBinary = File.Contents("C:\Data\incoming\orders.csv"),
    CsvTable = Csv.Document(SourceBinary, [Delimiter = ",", Encoding = 65001, QuoteStyle = QuoteStyle.Csv]),
    PromoteHeaders = Table.PromoteHeaders(CsvTable, [PromoteAllScalars = true]),
    Typed = Table.TransformColumnTypes(PromoteHeaders, {{"Owner", type text}, {"OrderDate", type date}, {"Client", type text}, {"Amount", type number}}),
    Filtered = Table.SelectRows(Typed, each [Owner] = OwnerParam)
in
    Filtered

まとめ

  • File.ContentsCsv.Document でCSVを読み込み、ヘッダー昇格と型指定を行います。
  • Table.SelectRows で条件抽出し、必要な行のみを取り出します。
  • 文字コードは Encoding の指定で制御し、用途に応じてUTF-8やShift-JISを選択します。

副業から独立まで「稼げる」Webスキルを習得する(PR)

ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。

「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。

このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。

講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。

副業に特化した強み

  • 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
  • AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
  • 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。

受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。

受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。

ブログで稼ぎたいなら「メイカラ」

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次