こんにちは、これはどうですか。
COLUMN_NAME
------------
NAME1
NAME2
NAME3
NAME1
NAME1
NAME4
NAME2
この列から最も繰り返される値を取得したいのですが、この場合は NAME4 です。いくつかのクエリ関数を試しましたが、これの正しいロジックがわかりません:S
こんにちは、これはどうですか。
COLUMN_NAME
------------
NAME1
NAME2
NAME3
NAME1
NAME1
NAME4
NAME2
この列から最も繰り返される値を取得したいのですが、この場合は NAME4 です。いくつかのクエリ関数を試しましたが、これの正しいロジックがわかりません:S
まず、上記の例で間違いがなければ、最も繰り返されるテキストは "NAME1" です。これは 3 回出現するためです。
問題に対するより良い解決策があると確信していますが、私はこれだけを理解しました:
=index(query(A1:B8,"select A,count(B) where B ='' group by A order by count(B) desc",1),2,1)
注: B ='' の後の引用符は、2 つの単純な引用符であり、二重引用符ではありません!! その時点で、B 列を空の文字列と比較しています。
仮定すると:
上記の式は最初にクエリを実行し (内部の QUERY 関数を参照)、各テキストの出現回数をカウントし、カウント数で降順に並べ替えます。次のようなものが得られます。
Column_name カウント
名前1 3
名前2 2
NAME3 1
名前4 1
次に、インデックス関数を使用して、クエリの結果の 2 行目と 1 列目にあるセル値を取得します。常にクエリ結果を降順で並べ替える (= order by) ため、これは常に適切です。したがって、最も繰り返されるテキストは常にその位置にあります。
したがって、これは回避策であり、それほどきれいではありませんが、機能します。
とにかく役に立てば幸いです。