11

複数のスプレッドシートのデータを 1 つのスプレッドシートに集約したいと考えています。

  • スプレッドシート 1 には文字列 A2:A500 の行があります
  • スプレッドシート 2 には文字列 A2:A500 の行があります
  • スプレッドシート 3 には、両方の行 (Spreadsheet1!A2:A500 AND Spreadsheet2!A2:A500) があるはずです。

重複は異なる方法で処理されません。異なるシートに表示されるのと同じくらい頻繁に表示されるようにしたいと思います。

IMPORTRANGE などを使用して、スクリプトを作成したり、jQuery を使用したりせずにこれを行うことは可能ですか?

何が機能しないか: IMPORTRANGE を次のように使用してみました:

ARRAY{IMPORTRANGE("key-of-spreadsheet1","list!A2:A500"), IMPORTRANGE("key-of-spreadsheet2", "list!A2:A500")}

これにより、エラーが発生します。

4

4 に答える 4

18

もちろん、いくつかの関数を関数と組み合わせることIMPORTRANGE()QUERY()もできます。これにより、インポートする結果をより細かく制御できます。

たとえば、次のような構造を使用できます

=QUERY(
  {
    IMPORTRANGE("key-or-url-of-spreadsheet-1", "'sheet-name-1'!A2:Z100");
    IMPORTRANGE("key-or-url-of-spreadsheet-2", "'sheet-name-2'!A2:Z100");
    IMPORTRANGE("key-or-url-of-spreadsheet-3", "'sheet-name-3'!A2:Z100");
    IMPORTRANGE("key-or-url-of-spreadsheet-4", "'sheet-name-4'!A2:Z100")
  },
  "SELECT * WHERE Col1 IS NOT NULL ORDER BY Col3 ASC"
)

###説明:

上記のクエリは、インポートされた範囲から空白行を削除します:

SELECT * WHERE Col1 IS NOT NULL

3 番目の列に関連してまとめて収集されたすべてのデータを昇順に並べ替えます。

ORDER BY Col3 ASC

降順の場合は、代わりに使用 してください。DESC ASC

もちろん、他の基準を調整したり、変更せずにすべてを表示するのを省略したりすることもできます。

"SELECT * "

###ノート:

IMPORTRANGE()上記で構築されたクエリを使用するには、まず、参照するスプレッドシートごとに1 つのメソッドを呼び出す必要があります

=IMPORTRANGE("key-or-url-of-spreadsheet-1", "'sheet-name-1'!A2:Z100")

この数式を記述した同じスプレッドシートを参照する場合でも、これを行う必要がありますが、すべてのスプレッドシートに対して 1 回行うだけで十分です.

これは、これらのシートを接続し、シートへのアクセスを許可できるようにするためです (とにかくアクセス権があります)

                                                    ここに画像の説明を入力

すべてのスプレッドシートに許可を与えた後、上記のクエリを使用できます。

于 2019-07-26T05:19:48.897 に答える
0

簡単な修正: 現在の選択範囲だけでなく、列/シート全体にフィルターを適用します。これにより、すべてのフィルタが自動的に更新され、新しい追加が含まれます。

于 2020-05-13T20:29:23.867 に答える