web-dev-qa-db-ja.com

複数のタブからデータを動的に参照し、並べ替えます

データの複数のタブを含むスプレッドシートがあります。データには2つの列、A =カテゴリ、B =数量が含まれます。

スプレッドシートのコピーを作成しました [〜#〜]こちら[〜#〜] (編集するファイルのコピーが必要な場合は、[ファイル]> [コピー]を使用してください)。

すべてのデータを「マスターシート」で参照し、並べ替えたい。しかし、私はデータが参照されることを望みます。元のタブで変更された場合、「マスターシート」も更新されます。

現在、私はこれを3つの方法で試してみました:

オプション1。
=Sheetname!B2を使用してすべてのデータをマスタータブに参照し、各シートについて繰り返します。これは1つのページのすべてのデータを表示するように機能しますが、データが含まれるとソートできません。

オプション2。
=Sheetname!B2を使用してすべてのデータをマスタータブに参照し、各シートについて繰り返します。次に、マスタータブからピボットテーブルを作成します。これで機能し、並べ替えができますが、並べ替えるのは各カテゴリ内の数量のみです。完全なリストではありません。

オプション3。
これまでにこれを機能させる唯一の方法は、オプション1を実行することですが、データをコピーして値として貼り付けます。これは機能しますが、動的に参照されることはありません。

すべてのデータを動的に参照してから並べ替えることができる別の方法はありますか?

2
sam

この非常に単純なクエリ内で中かっこを使用します。

=QUERY({Alpha!A2:B;Beta!A2:B;Charlie!A2:B},"select * where Col1 <>'' order by Col2")

ここでのトリックは、中括弧{....}を使用して、さまざまなタブから配列を作成および結合します。

追加のヒント
{Alpha!A2:B;Beta!A2:B;Charlie!A2:B}
セミコロン;は、縦方向に結合します(列内で、一方が他方の下に)。

{Alpha!A2:B;Beta!A2:B;Charlie!A2:B}</code></pre></b>
コンマ,は、水平方向に結合します(行内、隣同士)。

ロケールに応じて、セミコロンとコンマの入れ替えを使用します。


[〜#〜]編集[〜#〜](以下 あなたのコメント

order byの追加パラメーターを使用できます:order by Col1, Col2
注意してくださいorder byのデフォルトは昇順のascです。これは、(ここで行ったように)省略できることを意味します。
一方、、降順のdescを含める必要があります(order by Col1, Col2 desc

=QUERY({Alpha!A2:B;Beta!A2:B;Charlie!A2:B},"select * where Col1 <>'' order by Col1, Col2")
2
marikamitsos