Excel - 具有 IF 函数的列表中的模态值

Excel - Modal value in list with IF function

我想在列表中找到最常见的值,按名称匹配最常见的结果。

我知道它围绕着一个带有模式和匹配函数的索引,其中有一个 IF 函数。却下不来。

原始数据

USER NAME       Items
James Ile       Flat White 
James Ile       Flat White 
Michael Pane    Latte 
Lily Wilk       Iced Drinks 
Louise Coset    Millionaire Shortbread 
Louise Wyli     Flat White 
Louise Wyli     Millionaire Shortbread 
Louise Wyli     English Breakfast 
Louise Cosett   Cheese Toastie 
Louise Wyli     Flat White
Louise Cosett   Pineapple Sunset 
James Court     Espresso 

期望的结果

USER    
James Ile        Flat white
Michael Pane     Latte
Lily Wilk        Iced Drinks
Louise Cosett    Cheese Toastie
Louise Wyli      Flat white
James Court      Espresso

作为一个 Excel 公式的爱好者,考虑到这个问题没有引起多少反应,我尝试结合使用 Mode.Mult 函数、IndexMatch 函数。

  1. Mode.Mult 从 Excel 2010 年起可用。 Mode Function 可用于早期版本,但如果模式值有联系,则可能会出错。
  2. Mode.Mult 函数 Returns 数组或数据范围中最常出现或重复值的垂直数组。对于水平排列,使用 TRANSPOSE(MODE.MULT(number1,number2,...)). 如果有多种模式,这将 return 多个结果。由于此函数 return 是一个值数组,因此必须将其作为数组公式输入。参数可以是数字或名称、数组或包含 numbers.If 的引用,数组或引用参数包含文本、逻辑值或空单元格,这些值将被忽略;但是,包含值为零的单元格。Mode.Mult Function
  3. 通过使用 IF 条件 Mode.Mult 函数已用于文本字符串。

我已经部分成功地获得了想要的结果,从某种意义上说,如果模式值不止一次出现,它会在结果中指出。尽管如此,我还是把我的答案贴出来,希望更多有经验的人能指导和帮助我克服我尝试中的不足。

结果 C2中的数组公式复制下来

=IFERROR(INDEX( $B:$B,INDEX(MODE.MULT(IF($A:$A=$A2,MATCH($B:$B,$B:$B,0))),ROWS($C2:C2))  ),"")

已通过 Ctrl+Shift+Enter 确认,而不仅仅是 Enter。