Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
PowerQuery 指定列以外を合計して[その他]列追加
投稿日時: 21/12/11 00:59:42
投稿者: tarima

PowerQueryで、取り込むデータの列名、列数が毎回変わります。
 
以下のように。KEY列以外のデータは数値です。
KEY列、A列、C列、D列
KEY列、A列、B列、E列、F列、G列、H列
KEY列、A列、B列、D列、G列、J列
 
結果として、KEY列、A列、[その他]列 の3列のデータにしたいです。
KEY列、A列 は、必ずあるため、そのままで、この2列"以外"の列はすべて合計して[その他]列としたいです。
 
PowerQueryで、そのようなことはできますか。
毎回、編集して使っていますが、もし「指定列以外は合計する」ということができるのであれば、方法を教えて頂きたいです。
よろしくお願いします。

回答
投稿日時: 21/12/11 10:56:17
投稿者: んなっと

 Key列とA列をShiftキーを併用して選択
→[変換] [列のピボット解除▼] [その他の列のピボット解除]
→属性列を選択 [ホーム] [列の削除]
→Key列とA列をShiftキーを併用して選択
→[ホーム] [グループ化]
 新しい列名:その他
 操作:合計
 列:値

投稿日時: 21/12/11 11:24:58
投稿者: tarima

んなっと様、ありがとうございます。
 
教えて頂いた方法ですと、KEY列、A列のみ値があり、その他の列に値がない行が出力されないようです。
 
その他の列は、値がないnullもあります。
その他の合計がゼロの行も出力するには、どうしたらよいか教えて頂けますと助かります。
 
 

回答
投稿日時: 21/12/11 13:40:51
投稿者: んなっと

手順説明が面倒なので詳細エディターを使います。
PowerQueryでホーム 詳細エディターとすると以下のようになっていると思います。
  
let
    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
  
この最初の2行だけそのまま残して、以下のうちの赤字部分を貼り付けてください。
  
  
let
    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
    Add = Table.AddColumn(ソース, "その他", each List.Sum(List.Range(Record.ToList(_),2,Table.ColumnCount(ソース)-2))),
    Del = Table.SelectColumns(Add,{"Key", "名前", "その他"})
in
    Del

投稿日時: 21/12/11 14:19:08
投稿者: tarima

んなっと様、
 
すごい!完璧です。大変助かりました。ありがとうございます。