如何使用 2 列中的条件查找最小数字
How to find lowest number using criteria from 2 columns
在我的情况下,我有一个数据集,其中包含我有兴趣查询的 2 列,以及我需要容纳的目标值。目标值为 593.63,将在另一张工作表上显示。该数字在 V 列中不会完全匹配,因此我使用 MIN IF 组合函数来查找刚好超过该数字的最接近数字。查询看起来像这样
=VALUE(MIN(IF(Table3[Total Target Force]>'Spring Calculator'!K25,Table3[Total Target Force])))
Table3[Total Target Force] = 我需要在另一个单元格中 return 的值所在的列
'Spring Calculator'! = 在单元格 K25 (593.63) 中包含目标值的工作表***
我的问题是如何再次使用 min 函数为此添加第二个条件。我有一个名为“Spring Count”的列,其中有另一组数字。我只想找到最接近的总目标力,其中 Spring 计数是它可能的最低数字。这个公式是可变的,所以我不能说类似 =MIN[Spring Count] 的东西,它需要与我当前的公式联系起来,找到最接近目标的数字,但也要考虑最小的数字在“Spring 计数”列中。
在我的理想情况下,我的目标是从总目标力列中找到我的数据集中最接近目标的数字,但前提是 spring 计数列中的数字是初始 return.
如果需要更多信息,我很乐意提供任何需要的信息。我为此绞尽脑汁好几天了,想不通。
根据您的实际数据,在您的屏幕截图中为 over-simplified,您可以使用此 array formula - 在屏幕截图的 AC1
单元格中:
=AA1+AGGREGATE(15,6,POWER(10,LOG10((U2:U43894=TRUE)*((V2:V43894-AA1)>0)*(V2:V43894-AA1)*(W2:W43894=AGGREGATE(15,6,POWER(10,LOG10((U2:U43894=TRUE)*((V2:V43894-AA1)>0)*(W2:W43894))),1)))),1)
您可以使用布尔 XLOOKUP 公式在没有辅助列的情况下实现此目的。 INDEX/MATCH 可能相同,但这似乎更复杂。
单元格 F2 公式:
=XLOOKUP(1,($B:$B >= $F)*($C:$C = MINIFS($C:$C,$B:$B,">="&$F)),$B:$B)
零件:
($B:$B >= $F$1) --> 查找数组中的哪些行达到或超过您的目标值
$C:$C = MINIFS($C:$C,$B:$B,">="&$F$1) --> 本节的 MINIFS 部分查找列中的最小数字C 其中 B 列值达到或超过目标值。
),$B:$B) --> 完成公式和 return B 列中的值,该值对于公式中的其他语句验证为真。
在我的情况下,我有一个数据集,其中包含我有兴趣查询的 2 列,以及我需要容纳的目标值。目标值为 593.63,将在另一张工作表上显示。该数字在 V 列中不会完全匹配,因此我使用 MIN IF 组合函数来查找刚好超过该数字的最接近数字。查询看起来像这样
=VALUE(MIN(IF(Table3[Total Target Force]>'Spring Calculator'!K25,Table3[Total Target Force])))
Table3[Total Target Force] = 我需要在另一个单元格中 return 的值所在的列
'Spring Calculator'! = 在单元格 K25 (593.63) 中包含目标值的工作表***
我的问题是如何再次使用 min 函数为此添加第二个条件。我有一个名为“Spring Count”的列,其中有另一组数字。我只想找到最接近的总目标力,其中 Spring 计数是它可能的最低数字。这个公式是可变的,所以我不能说类似 =MIN[Spring Count] 的东西,它需要与我当前的公式联系起来,找到最接近目标的数字,但也要考虑最小的数字在“Spring 计数”列中。
在我的理想情况下,我的目标是从总目标力列中找到我的数据集中最接近目标的数字,但前提是 spring 计数列中的数字是初始 return.
如果需要更多信息,我很乐意提供任何需要的信息。我为此绞尽脑汁好几天了,想不通。
根据您的实际数据,在您的屏幕截图中为 over-simplified,您可以使用此 array formula - 在屏幕截图的 AC1
单元格中:
=AA1+AGGREGATE(15,6,POWER(10,LOG10((U2:U43894=TRUE)*((V2:V43894-AA1)>0)*(V2:V43894-AA1)*(W2:W43894=AGGREGATE(15,6,POWER(10,LOG10((U2:U43894=TRUE)*((V2:V43894-AA1)>0)*(W2:W43894))),1)))),1)
您可以使用布尔 XLOOKUP 公式在没有辅助列的情况下实现此目的。 INDEX/MATCH 可能相同,但这似乎更复杂。
单元格 F2 公式:
=XLOOKUP(1,($B:$B >= $F)*($C:$C = MINIFS($C:$C,$B:$B,">="&$F)),$B:$B)
零件:
($B:$B >= $F$1) --> 查找数组中的哪些行达到或超过您的目标值
$C:$C = MINIFS($C:$C,$B:$B,">="&$F$1) --> 本节的 MINIFS 部分查找列中的最小数字C 其中 B 列值达到或超过目标值。
),$B:$B) --> 完成公式和 return B 列中的值,该值对于公式中的其他语句验证为真。