データのさまざまな行を含むGoogleシートを1つの列(列E)に持っています。各行の値は次のパターンに従います。
A1
A2
B1
B2
C1
C2
etc.
すべての "A"値を含む行を1つのシートにコピーし、 "B"値を別のシートに、 "C"を別のシートにコピーします(他のすべての値についても同様です(元のデータを「マスター」シートに残します)。
これはGoogleスプレッドシートで可能ですか?これまでのところ、私が最も近いのは:
=filter("Sheet1"!A:E,"Sheet1"!E1:E1000="A1")
残念ながらこれは私にはうまくいきません
_A1, A2, B1, etc.
_はセル参照ではなく値であり、構文を修正する必要があると仮定します。
=FILTER(Sheet1!A:E, Sheet1!E1:E=REGEXEXTRACT(Sheet1!E1:E, "A.*"))
シート名にスペースが含まれている場合は、次のようになります。
=FILTER('Sheet 1'!A:E, 'Sheet 1'!E1:E=REGEXEXTRACT('Sheet 1'!E1:E, "A.*"))
QUERY
を使用することもできます:
=QUERY(Sheet1!A:E, "where E contains 'A'", 0)
あなたはもうほとんどそこにいます。最初に、フィルター入力の「範囲」サイズと「条件」サイズを一致させる必要があります。
FILTER( "Sheet1"!A1:E1000、 "Sheet1"!E1:E1000 = "A1")
次に、E列のコードの文字部分を何らかの方法で抽出する必要があります。これが常に単純な場合は、 [〜#〜] left [〜#〜] を使用して、左端の1つを取得しますキャラクター:
FILTER("Sheet1"!A1:E1000,LEFT("Sheet1"!E1:E1000,1)="A")
AC1、AC2のような複数文字のコードになる可能性がある場合は、代わりに [〜#〜] regexextract [〜#〜] を使用して先頭の文字を抽出できます。 =:
FILTER("Sheet1"!A1:E1000,REGEXEXTRACT("Sheet1"!E1:E1000,"^[A-Z]+")="AC")