带有 SUMPRODUCT 公式的 MODE
MODE with SUMPRODUCT formula
我正在尝试使用以下公式在日期范围内查找工作日(星期一、星期二等)的模式:
=ARRAYFORMULA(MODE(SUMPRODUCT(--(AgendaData!$A:$A>=A),--(AgendaData!$B:$B<=B),AgendaData!$F:$F)))
错误显示:"MODE cannot produce a result. No values occur more than once."
我认为这与F列是文本格式有关。我希望结果以文本形式显示工作日的模式。我想知道我在这里做错了什么。
要检查它,您可以使用公式:
=filter(AgendaData!$F:$F,AgendaData!$A:$A>=A,AgendaData!$B:$B<=B)
您会看到 F 列中的所有匹配值,并且会确切知道某些值是否出现不止一次。
您可以通过将文本值转换为数字、找到模式并转换回来来找到文本值的模式。为此使用三列查找 table 很方便,例如
Monday 1 Monday
Tuesday 2 Tuesday
Wednesday 3 Wednesday
Thursday 4 Thursday
Friday 5 Friday
Saturday 6 Saturday
Sunday 7 Sunday
假设这个 table 在列 I:K 中,而您的数据在 F 列中。然后下面找到它的模式:
=vlookup(mode(arrayformula(iferror(vlookup(F:F, I:J, 2, false)))), J:K, 2)
此处,arrayformula(iferror(vlookup...
是转换为数字,使用 table 的 I:J 部分,并忽略空白单元格和任何非星期几的内容。应用 mode
后,vlookup
使用 table.
的 J:K 部分将数字转换回文本
我正在尝试使用以下公式在日期范围内查找工作日(星期一、星期二等)的模式:
=ARRAYFORMULA(MODE(SUMPRODUCT(--(AgendaData!$A:$A>=A),--(AgendaData!$B:$B<=B),AgendaData!$F:$F)))
错误显示:"MODE cannot produce a result. No values occur more than once."
我认为这与F列是文本格式有关。我希望结果以文本形式显示工作日的模式。我想知道我在这里做错了什么。
要检查它,您可以使用公式:
=filter(AgendaData!$F:$F,AgendaData!$A:$A>=A,AgendaData!$B:$B<=B)
您会看到 F 列中的所有匹配值,并且会确切知道某些值是否出现不止一次。
您可以通过将文本值转换为数字、找到模式并转换回来来找到文本值的模式。为此使用三列查找 table 很方便,例如
Monday 1 Monday
Tuesday 2 Tuesday
Wednesday 3 Wednesday
Thursday 4 Thursday
Friday 5 Friday
Saturday 6 Saturday
Sunday 7 Sunday
假设这个 table 在列 I:K 中,而您的数据在 F 列中。然后下面找到它的模式:
=vlookup(mode(arrayformula(iferror(vlookup(F:F, I:J, 2, false)))), J:K, 2)
此处,arrayformula(iferror(vlookup...
是转换为数字,使用 table 的 I:J 部分,并忽略空白单元格和任何非星期几的内容。应用 mode
后,vlookup
使用 table.