行中最常出现的单词的列表

List of the most frequently occurring words in the row

我正在寻找一种方法来显示(在 Google 电子表格中)行中最常出现的单词,但如果不是一个单词,我想显示所有单词出现次数相同的分号。

解释:

例如,我想用以下值填充最后一列:

+---+------+------+------+------+------+-------------------+
|   |  A   |  B   |  C   |  D   |  E   |         F         |
+---+------+------+------+------+------+-------------------+
| 1 | Col1 | Col2 | Col3 | Col4 | Col5 | Expected response |
| 2 | A    | A    | C    | D    | E    | A                 |
| 3 | A    | A    | B    | B    | B    | B                 |
| 4 | A    | A    | B    | B    | E    | A, B              |
| 5 | A    | B    | C    | D    | E    | A, B, C, D, E     |
+---+------+------+------+------+------+-------------------+

这是我的成就(单元格 F2 的公式):

=INDEX(A2:E2; MODE(MATCH(A2:E2; A2:E2; 0)))

但它不适用于第 4 行和第 5 行。

这适用于 Office 365 Excel,但可能不适用于 Excel 在线,因为它是一个数组公式。

=TEXTJOIN(", ",TRUE,INDEX(A2:E2,,N(IF({1},MODE.MULT(IF(((MATCH(A2:E2,A2:E2,0)=COLUMN(A2:E2))*(COUNTIF(A2:E2,A2:E2)=MAX(COUNTIF(A2:E2,A2:E2)))),COLUMN(A2:E2)*{1;1}))))))

作为数组公式,退出编辑模式时需要用Ctrl-Shift-Enter确认,而不是Enter。如果操作正确,那么 Excel 将在公式周围放置 {}


编辑:

如您所愿使用 Google 表格:

=join(", ",filter(A2:E2,column(A2:E2)=match(A2:E2,A2:E2,0),countif(A2:E2,A2:E2)=max(countif(A2:E2,A2:E2))))

F2:

=JOIN(",",SORTN(TRANSPOSE(A2:E2),1,1,ARRAY_CONSTRAIN(FREQUENCY(MATCH(A2:E2,A2:E2,0),COLUMN(A2:E2)),COUNTA(A2:E2),1),0))

见语法@https://support.google.com/docs/table/25273