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
函数、Index
和 Match
函数。
- Mode.Mult 从 Excel 2010 年起可用。 Mode Function 可用于早期版本,但如果模式值有联系,则可能会出错。
- Mode.Mult 函数 Returns 数组或数据范围中最常出现或重复值的垂直数组。对于水平排列,使用
TRANSPOSE(MODE.MULT(number1,number2,...)).
如果有多种模式,这将 return 多个结果。由于此函数 return 是一个值数组,因此必须将其作为数组公式输入。参数可以是数字或名称、数组或包含 numbers.If 的引用,数组或引用参数包含文本、逻辑值或空单元格,这些值将被忽略;但是,包含值为零的单元格。Mode.Mult Function
- 通过使用 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。
我想在列表中找到最常见的值,按名称匹配最常见的结果。
我知道它围绕着一个带有模式和匹配函数的索引,其中有一个 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
函数、Index
和 Match
函数。
- Mode.Mult 从 Excel 2010 年起可用。 Mode Function 可用于早期版本,但如果模式值有联系,则可能会出错。
- Mode.Mult 函数 Returns 数组或数据范围中最常出现或重复值的垂直数组。对于水平排列,使用
TRANSPOSE(MODE.MULT(number1,number2,...)).
如果有多种模式,这将 return 多个结果。由于此函数 return 是一个值数组,因此必须将其作为数组公式输入。参数可以是数字或名称、数组或包含 numbers.If 的引用,数组或引用参数包含文本、逻辑值或空单元格,这些值将被忽略;但是,包含值为零的单元格。Mode.Mult Function - 通过使用 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。