LibreOffice Calcの異なるシートからデータを選択する

LibreOffice Calcの異なるシートからデータを選択する

シート 1、2、3 の 3 つのシートがあります。シート 2 と 3 には、名前 (A)、姓 (B)、年齢 (C) の 3 つの列があります。シート 2 と 3 から年齢が 30 歳以上の男性を選択し、年齢順に並べ替えて、結果をシート 1 (これも 3 つの列) に表示するにはどうすればよいでしょうか。つまり、SELECT name,surname,age FROM sheet2,sheet3 WHERE age=>30 ORDER BY ageシート 1 に結果を表示するのと同等のことを意味します。

答え1

Excel は一部の SQL をサポートしますが、Calc はサポートしません。Calc 内でシート 1 に結果を取得するには、複数の手順を実行する必要があります。

シート 2 のヘッダー行を含むテーブル全体をハイライトします。データ → フィルター → 標準フィルターを選択し、ポップアップ ウィンドウでフィールド名Age、条件>=、値を選択します30。フィルターされた結果のテーブル (必要に応じてヘッダー行を含む) をコピーしてシート 1 に貼り付けます。

シート 3 でも同じ手順を繰り返し、結果 (今回はヘッダー行を除く) をコピーして、最初のコピー アンド ペーストの下のシート 1 に貼り付けます。

次に、ヘッダー行を含むシート 1 のテーブル全体をハイライト表示し、[データ] → [並べ替え] を選択して、年齢で並べ替えます。

これを頻繁に行う必要がある場合は、スプレッドシートのデータをデータベース テーブルとして扱えるように、Base ファイルを Calc ファイルに接続する方法を検討する価値があるかもしれません。これはかなり複雑ですが、フィルター/コピー/フィルター/コピー/並べ替えの手順を実行するマクロ コードを考えるよりも手間がかからないと思います。

関連情報