1

列 A の一意の (テキスト) 値と、列 B の対応する最も出現頻度の高い値 (テキスト) を表示し、異なる列の出現度で並べ替える式はどれですか?

最初に最も多く発生する値のみを表示する方法は既に知っていますが、2 番目、3 番目などは表示しません。

最初に最も多く発生する値のみを表示する数式:

=ArrayFormula(VLOOKUP(UNIQUE(FILTER(A:A;A:A<>""));QUERY({A:B\A:A};"select Col1, Col2, count(Col3) where Col1 <> '' group by Col1, Col2 order by count(Col3) desc");{1\2};0))

テストシート

4

3 に答える 3

2

QUERY と INDEX の組み合わせを試してみてください

=iferror(index(query($A$1:$C$100, "select B,count(C) where A contains '"&$E2&"' group by B order by count(C) desc",1) ,columns($AA:AB),1),"")

ここで、メディア タイプは E2 にあります。

ここに画像の説明を入力

于 2016-12-21T16:59:26.513 に答える
1

EDITED(外部スプレッドシートを参照せずに、質問の明確化と回答が独立していることを確認するためのいくつかの改善に続いて)

FILTER()」、「UNIQUE()」 、「 SORT()」の組み合わせを、計算された周波数 ( を使用して決定COUNTIFS) と組み合わせて使用​​します。以下のサンプル シートを参照してください

単セル式ではありませんが、シンプルでわかりやすいです。

スプレッドシートは次のように構成されています。 ここに画像の説明を入力

チャネルは列 A にあり、関連するメディアは列 B にあり、特定の (チャネル、メディア) ペアの周波数は列 C にあり、(C2 などで) によって与えられます。

=countifs($B$2:$B;"=" &B2;$A$2:$A;"=" & A2)

次に、 を使用して固有のメディアのリストを作成し=UNIQUE(B2:B)ます。次に、特定の一意のメディア (セル F13 など) に隣接して、その選択したメディアに関連するすべてのペアリングを決定し、最も頻度の高いペアリングの順序で配列を作成します。

=transpose(unique(transpose(array_constrain(transpose(sort(filter($A$2:$C;$B$2:$B=F13);3;FALSE));1;10))))

これは、選択したメディア (F13 で選択) のすべてのペア (ペアの頻度を持つ) をフィルター処理して除外し、リストをペアの頻度 (つまり、1 番目、2 番目、3 番目に頻繁に発生するメディア) で並べ替え、配列をトリムして表示のみにします。メディアを削除し、繰り返しエントリを削除します (特定のペアリングが繰り返されるたびに 1 つの繰り返しエントリがあるため、つまり、2 回以上表示されるため)。 行配列では機能せず、列配列のみで機能したTransposeため、使用されます。Unique

この式は、列 A と列 B にそれぞれ追加されたチャネルとメディアに対して機能します。

式の「10」は、保持される列の数を指し、array_constrain()任意に高くすることができます。

元の投稿の変更: この作業を行うには、元の回答でメディアとチャネルの列を互いに交換し、そのペアリングの頻度である列 C を追加する必要がありました。 1 番目、2 番目など、最も人気のあるチャンネル。

于 2016-12-21T12:22:57.217 に答える