将 MINIF/MAXIF 与包含数字的字符串一起使用?

Using MINIF/MAXIF with strings containing numbers?

我想在给定条件下找到最小数量(是作者并且正在试用),如果 D 包含数字,下面的代码可以工作,但是如果数字是的一部分,我该怎么办一个字符串,例如分数?例如,如果 D 中的数字看起来像“1/8”、“31/688”、“21/33”等,我该如何使用这个公式?

=MINIFS(D3:D1007, A3:A1007, "Writer", C3:C1007, "Probation")

我已经有另一个公式可以用来计算给定分数的小数值,如果分数在单元格 D21 中,那么它看起来像这样:

=left(D21,find("/",D21)-1)/(right(D21,len(D21)-find("/",D21)))

但是如何在 minif/maxif 中应用这种公式?

I have attached a picture to show what I mean,我想做的是在 package stats(probation) 的 passed/total 列中放入一个公式,它会得到最低的 passed/total 值在具有该包名称和重要性级别的那些中。如您所见,整个作家包的通过率为 5/8,因为作家包 5/8 中的最低通过率是 package=writers 且 importance = probation 的最低通过率。但目前我必须手动输入 5/8s,我希望它能够使用我在上面想出的公式自动获取它。

尝试:

=ARRAYFORMULA(MIN(IF((A3:A="writer")*(C3:C="probation"), 
 IFERROR(REGEXEXTRACT(D3:D, "\d+")/REGEXEXTRACT(D3:D, "/(\d+)"), D3:D), )))

或return分数:

=ARRAYFORMULA(VLOOKUP(MIN(IF((A3:A="writer")*(C3:C="probation"), 
 IFERROR(REGEXEXTRACT(D3:D, "\d+")/REGEXEXTRACT(D3:D, "/(\d+)"), D3:D), )), 
 {IF((A3:A="writer")*(C3:C="probation"), 
 IFERROR(REGEXEXTRACT(D3:D, "\d+")/REGEXEXTRACT(D3:D, "/(\d+)"), D3:D), ), D3:D}, 2, 0))

还要确保分数格式为 纯文本 而不是日期