98

Googleスプレッドシートの範囲を結合したいと思います。

Sheet1!A:A

{12, 131, 45}

Sheet2!A:A

{12, 131, 46}

未知の機能

=formula_for_union_range(Sheet1!A:A; Sheet2!:A:A)

戻る必要があります

{12, 131, 45, 12, 131, 46}

質問

どうしてそれは可能ですか?

4

7 に答える 7

128

使用するだけです:

={sheet1!a:a; sheet2!a:a}
于 2016-06-06T08:37:13.453 に答える
92

それらを1つの列にマージしてから、一意の値を取得できます。次の式を確認してください。

=UNIQUE({Sheet1!A:A;Sheet2!A:A})
于 2015-05-22T22:59:48.807 に答える
26

Google Apps Script

それでも問題はスクリプトについてでした。私はまだ次のコードを正常に使用しています:

function unionRanges(e) {
  var result = [];
  var length = 0;
  var i = 0;
  try {
    for (i = 0; i < arguments.length; i++)
      length += arguments[i].length;
    if (length > 3000) return '#BIGRANGE';
    for (var i = 0; i < arguments.length; i++)
      result = result.concat(arguments[i].filter(function (el) {
        return el.join('').length > 0
      }));
    return result;
  } catch (err) {
    return JSON.stringify(err);
  }
}

スプレッドシート機能

ただし、上記のように、{}-notationを使用する方が簡単です。

={ Sheet1!A1:C10 ; Sheet2!A1:C34 }

垂直連結

={ Range(Cols=N) ; Range(Cols=N) }

水平連結

={ Range(Rows=M) , Range(Rows=M) }

組み合わせることが可能です

={ { , , } ; { , , } }

またはもっと難しい何か

={{{;;},{;;}};{{;;},{;;}};{{;;},{;;}}}

このようなものを試してください

={
   {{ 1; 2; 3},{ 4; 5; 6}};
   {{ 7; 8; 9},{10;11;12}};
   {{13;14;15},{16;17;18}}
 }

内部の水平連結は必要ありません

={
    { 1; 2; 3},{ 4; 5; 6};
    { 7; 8; 9},{10;11;12};
    {13;14;15},{16;17;18}
}

引数区切り文字のロケール依存関係

現在のロケールが,引数区切り文字としてサポートしている場合;は、垂直方向の連結と,水平方向の連結に使用する必要があります。

それ以外の場合、引数の区切り文字はであり、と(スペースなし)をそれぞれ;使用する必要があります。;\

シート'Data 1'!A1:C20

|   Name  |    Date   | Sum |
| Ethan   |  3/4/2017 |  31 |
| Logan   |  3/6/2017 |  62 |
| Brian   | 3/26/2017 |  61 |
|   ...   |     ...   | ... |

シート'Data 2'!A1:C20

|  Name   |    Date   | Sum |
| Nathan  | 3/30/2017 |  53 |
| Alyssa  | 3/13/2017 |  72 |
| John    | 3/24/2017 |  79 |
| Megan   | 3/16/2017 |  10 |
|   ...   |     ...   | ... |

連結

垂直連結

={'Data 1'!A1:C20;'Data 2'!A2:C20}

結果

|  Name  |    Date   | Sum |
| Ethan  |  3/4/2017 |  31 |
| Logan  |  3/6/2017 |  62 |
| Brian  | 3/26/2017 |  61 |
| ...    |       ... | ... |
| Nathan | 3/30/2017 |  53 |
| Alyssa | 3/13/2017 |  72 |
| John   | 3/24/2017 |  79 |
| ...    |       ... | ... |

水平連結

={TRANSPOSE('Data 1'!A1:C20),TRANSPOSE('Data 2'!A2:C20)}

結果

| Name |   Ethan  |   Logan  |   Brian   | ... |   Nathan  |   Alyssa  |    John   |
| Date | 3/4/2017 | 3/6/2017 | 3/26/2017 | ... | 3/30/2017 | 3/13/2017 | 3/24/2017 |
| Sum  |       31 |       62 |        61 | ... |        53 |        72 |        79 |

この詳細についてGoogleスプレッドシートで範囲を連結する方法

于 2017-02-27T14:47:58.420 に答える
22

スクリプトはこれを簡単に行うことができますが、通常のスプレッドシートの数式を使用することをお勧めします。

=transpose(split(join(";";Sheet1!A:A)&";"&join(";";Sheet2!A:A);";"))

重複を削除するには、unique数式でラップするだけです。

=unique(transpose(...))

そしてソートするには...=sort(...)

于 2012-05-29T14:24:19.897 に答える
2

最初={Sheet1!A:A; Sheet2!A:A}は、最初のシートの結果しか見えなかったので、うまくいかないと思いました。空白のセルもすべて含まれていることがわかりました。

重複を保持しながら(とは異なり)、=UNIQUE自分自身を繰り返さずに(とは異なり)、空白のセルと空のセルを除外するには、次のように=FILTER()使用できます 。=QUERY()

=QUERY(
  {March!A1:Z; April!A2:Z; May!A2:Z}, 
  "select * where Col1 != '' and Col1 is not null", 
  0)

(最初のシートのヘッダー行を含め、他のシートからは省略していることに注意してください)。

シートに空のテキストを含むセルが含まれていない場合は、を省略できますCol1 != '' and

于 2021-06-06T21:43:42.290 に答える
1

シートを結合してセルが空の行を除外する場合は、数式でFILTER関数を使用します。

=FILTER({Sheet1!A:A;Sheet2!A:A}, {Sheet1!A:A;Sheet2!A:A}<>"")
于 2018-07-09T04:10:24.587 に答える
1

あなたが持っているとしましょう:

   A    B   C   D   E   F
1: 1    2   3   4   5   6

スライスを行または列として連結することができます。

追加の列(同じ行)には、コンマを使用します。={$A1:$C1,$D1:$F1}収量:

1   2   3   4   5   6

追加の行(同じ列)には、セミコロンを使用します。={$A1:$C1;$D1:$F1}収量:

1   2   3
4   5   6
于 2018-07-25T21:49:10.993 に答える