2017-09-26 11 views
0

Googleスプレッドシートの列には名前がありますが、既にヘッダーにフィルタ関数を適用しています。列に
私がしたいのは、UNIQUE()関数を使用して重複せずにフィルタリングされたセルの値を取得することですが、可視の行のみに適用されます。Googleスプレッドシートのフィルタリングされた行にUNIQUE()関数を使用する方法

+----------+----------+        +---------+---------+ 
| name v| Col2 v| result table if i apply | name v| Col 2 v| 
+----------+----------+ >> filter by name "John">> +---------+---------+ 
| John  | a  |        | John | a | 
| andi  | b  |        | John | v | 
| John  | v  |        | John | d | 
| John  | d  |        | John | r | 
| andi  | f  |        +---------+---------+ 
| John  | r  | 
+----------+----------+ 

私は、フィルタリングテーブルの列「名前」に従来のUNIQUE()関数を使用している場合、それはまだ隠されているためだけではなく、「ジョン」のそれぞれ「ジョン」と「アンディ」は、現れた表示されますがフィルタリングされた "andi"の行はUNIQUE()関数によってまだ処理されています。

UNIQUE()関数はフィルタリングされた行のみを処理するように助けてください。結果は "JOHN"になります。簡単にするために、私はUNIQUE()がSUBTOTAL()の能力を持っていて、アクティブ/フィルタリングされたセル/行/範囲のみを処理/計算したいと思います。

ありがとうございました。

=QUERY({A:B},"select 'John', Col2 where Col1 = 'John' label 'John' 'Name', Col2 'Col2'")

そしてuniqueを適用します:

=FILTER(A:B,A:A="John")

またはqueryと:

+0

FILTERビューの代わりにFILTER関数を使用してみませんか? –

答えて

1

機能は、あなたが機能してフィルタデータを試すことが、全体の範囲に適用されている

=UNIQUE(FILTER(A:B,A:A="John"))

+0

あなたの応答@マックスマフロフに感謝します。 私の不具合私は、このテーブルの状態がすでにヘッダーにFilter Functionがあることを説明しませんでした。 名前 "John"または "Andi"でフィルタを選択できました。この条件では、ヘッダー表の一番上にあるフィルターリストを選択することで、「John」という文字列を私の数式に入れることはできません。 ええと、シンプルにするために、私はSUBTOTAL()関数に似たものが必要です。フィルタリングされたVISIBLE行をカウントするだけですが、UNIQUE()関数の能力があります。 – anjaryes

+0

ここでQが尋ねられました:https://stackoverflow.com/questions/11645180/google-app-script-spreadsheet-how-to-get-filter-criteria –

関連する問題