• 締切済み

ExcelのPower Queryで関数を使う方法

ExcelのPower Queryを使い始めました。 バージョンは2016です。 クエリエディタをいじっているところなのですが、ネットからだといまいち情報が少なく、習得に苦労しています。 グループ化(いわゆるgroup by)した後、グループ化した項目ごとに、数値列の累計を計算したいと思っていますが、どのようにやれば良いでしょうか?(上の行から順に、数値を足し算したい) 関数かなと思っているのですが、関数の使い方がよく判りません。 教えて頂ければ幸いです。

みんなの回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

以前のMicrosoft Queryの時からどのようなSQL文が使用可能なのかは 明確ではありませんでしたが、手探りで設定することがほとんどでした。 質問の内容は具体的ではないのですが、こちらで適当に設定します。 たとえば、以下のようなある製品のロット別の入庫と出庫のデータがmydata というExcelファイルのSheet1にあるとします。 製品    ロット 入庫   出庫 ぼたもち  15   1000 ぼたもち  21   1000 ぼたもち  21        500 ぼたもち  15        500 ぼたもち  15   1000 このデータからロット別の在庫数を求めるSQL文は、 SELECT Sheet1$.ロット, Sum(Sheet1$.入庫) AS 入庫の合計, Sum(Sheet1$.出庫) AS 出庫の合計, (Sum(Sheet1$.入庫)-Sum(Sheet1$.出庫)) AS 在庫数 FROM `C:\Users\hogehoge\Desktop\OKWeb\mydata`.`Sheet1$` `Sheet1$` GROUP BY Sheet1$.ロット SQL文にデータを保持しているExcelファイルの場所を設定するように します。

関連するQ&A

  • Accessのクエリーのゼロデータ行の非表示の仕方

    Accessのクエリーのゼロデータの行の非表示の仕方を教えてください。 数値をレコードとする20列がこのクエリーにあるとします。この全て20列の数値レコードがゼロの行はクエリーの結果から外して非表示にしたいのです。 それを達成するために、21列目にABS関数を用いて20列の数値全てを足し算して、抽出条件を>0としました。 どういうわけかこの抽出条件を入れてクエリーを実行すると、パラメタクエリーになってしまい、実行時にダイアログボックスがでてきて何か入力を求められます。 なぜこうなってしまうのかご教示お願いします。 また、一般的に使われているゼロ行非表示の仕方があればそれも教えてください。上のやり方は自分で勝手に考え出したものなので。 よろしくお願いいたします。

  • Excel 関数を教えてください

    はじめまして。どうか、お力をかしてください。 関数を勉強しはじめたばりなのですが、自分で考えて 試してみてもどうもうまくいきません。 どの関数を利用したらいいのかアドバイスをお願いします。 別のシートにある表((1))から、数値((2))の近似値を検索したいのです。 まず表((1))の行方向にコード(項目)がいくつかあります。 数値((2))にはコードがふってあるので、表((1))の同じコード(項目)の列を検索して、その列から数値((2))の近似値を検索したいのです。 表の列を指定してその中から近似値を検索したいとゆうことです。 いろいろ考えて試してみたのですがうまくいきません。 どの関数を利用したらよいか、列や行、検索範囲の指定についてもポイントが あれば教えてください。 説明が分かりづらいかもしれませんが、宜しくお願いします。

  • Accessのクエリで、CStr関数を使った項目のグループ化と抽出のエラー

    アクセスで「TEST1」という名のクエリでCStr関数を使って数値を文字型にしている「項目1」という名のフィールドがあります。(他にもフィールドはあります) 別のクエリ(「TEST2」)で、「TEST1」クエリを使って、「項目1」フィールドをグループ化し、さらに抽出条件に『 "1" 』と入れて実行したところ、 『集計関数の一部として指定された式 '[TEST1].項目1="1"' を含んでいないクエリを実行しようとしました。』 とメッセージが出て実行できませんでした。 ◎ 数値を文字型にしたものをグループ化しさらに抽出条件で絞り込みたいのですが、どうしたらいいのでしょうか? 「TEST1」クエリをテーブルにしないで実行したいのですが。。。 わかる方がいらっしゃったら、教えてください。よろしくお願いします。

  • エクセル関数おしえください。

    エクセルの関数についての質問です。 1行おきに数値を足していく場合に使用する関数はありますか。 例)A1+A3+A5・・・・A99の足し算 よろしくお願いします。

  • エクセルの関数で

    また皆様のお知恵を拝借したく 先週に数値の大きい順番に項目を並べたいという質問をさせていただきましたが、そこに条件を付け足して、同じように求めたいのです。 シート1には A列     B列      C列 1801  りんご    500 1801  みかん    350 1801  なし     700      ・      ・ 1802  みかん    250 1802  ぶどう    600 ・ ・ 1812  かき     1000 B列、C列は以下に項目と数字が並んでいきます。 A列は年月が入ります。 月の入力は毎月20項目程度になります。 そしてシート2のD列1行目から5行目に1801における上位金額の5項目         E列1行目から5行目に1802における上位金額の5項目               ・               ・             O列1行目から5行目に1812における上位5項目 というように取り込みたいのです。 集計シートに関数を入れて自動的に上位項目を表示させるにはどのような関 数を使えばよろしいのでしょうか。 入力されていない場合は表示はしないような形で行いたいのです。 よろしくお願いします。

  • エクセル関数

    次のような場合の関数をご教示頂けないでしょうか? ・A列には、時々連続する通し番号が入っています。 例 1 2 3 4 4 4 5 6 7 7 7 7 7 8 ・B列には、A列が1個の数字の行には 0 が、複数の数字の行には 1 が入っています。 例 0 0 0 1 1 1 0 0 1 1 1 1 1 0 ・C列に、関数で次のように自動入力したいのです。  B列が 0 なら 0  B列が 1 のグループの先頭行には 1  B列が 1 のグループの途中の行には 2  B列が 1 のグループの最後の行には 3 例 0 0 0 1 2 3 0 0 1 2 2 2 3 0 どういう関数になりますでしょうか? よろしくお願い致します。

  • エクセルの関数で

    A列B列それぞれに100行ぐらいあり数値が入力しています。 C列にA列とB列のうち数値が小さい方の数値を100行分抽出したいのですが、エクセルの関数でできないでしょうか?

  • エクセルの関数について

    検索に使用する関数についてお伺いいたします。 表を二つ作成しました。 シート1には特に項目の指定がなく、番号の若いものから順に左から右に並べた24×8の表があります(表1とします)。 シート2にはいろいろな項目を指定した表があり、B列にランダムに数値が入っています(表2とします)。 表1の範囲に表2のB列の値が入っている場合、表2のA列に◎や*などのなんらかのしるしをしたいのですが、どのような関数を使用すればよいでしょうか? わかりにくい文章で申し訳ありませんが、よろしくお願いいたします。

  • Excelのパワークエリで、対象列に桁数追加したい

    教えてください。 Excelのパワークエリを使っています。 編集したいデータの、数値のゼロ落ちをなくしたいので、Text.PadStartの関数を使用してゼロを加えて、桁数を元に戻したいと思っています。 列を追加するときにText.PadStartを使えば簡単にできました。 しかし、新しい列を追加するのではなく、列そのものの値を変更することで、桁数を追加したいです。 下記の式では、エラーとなってしまいました。 = Table.TransformColumns(前のステップ名,{{"対象列", each Text.PadStart([対象列],5,"0")}}) どうすればできるでしょうか? 教えてください。

  • OOO CalcやEXCELで次のようなことをなんらかの関数で出来ますでしょうか?

    言葉で説明しづらかったのでシートを画像にしました。A列で最後に出てきたユニークな項目のレコードの数値の合計を出したいです。簡易に例を作ってみたのですが、たとえばAが最後に出たのは6行目、Bが最後に出たのは7行目、Cが最後に出たのは5行目です。その行のB列の数値を合計すると8になります。 A列の項目の出現はランダムで規則性はなく実際は数百種類になり、一度しか出ない場合も多くあります。B列はすべて数値です。 このようなことを関数で実現できますでしょうか?

専門家に質問してみよう