我想要一个公式来找到某个日期最接近 100 的货币。我做了这个公式:
=(IF("02-01-2009"=C2:C131104;INDEX($K$2:$K$131104;MATCH(MIN(ABS(K2:K131104-100));ABS(K2:K131104-100);0));""))
但它会搜索整个工作表,而不是仅搜索日期为 02-01-2009 的行。
数据
我想要一个公式来找到某个日期最接近 100 的货币。我做了这个公式:
=(IF("02-01-2009"=C2:C131104;INDEX($K$2:$K$131104;MATCH(MIN(ABS(K2:K131104-100));ABS(K2:K131104-100);0));""))
但它会搜索整个工作表,而不是仅搜索日期为 02-01-2009 的行。
数据
您的将不起作用,因为您需要IF
在搜索值之前执行条件。如果您希望在没有任何其他列的情况下执行此操作(如您的尝试所做的那样),则更正确的公式是:
=INDEX($K$2:$K$25;MATCH(MIN(IF($C$2:$C$25=$T$9;ABS($K$2:$K$25-100);1000));IF($C$2:$C$25=$T$9;ABS($K$2:$K$25-100);1001);0))
确保使用CTRL + SHIFT + ENTER 输入它,因为它是一个数组公式。
这里单元格 T9 包含我匹配的日期。1000 有点随意(大于您与 100 的差异)。我检查日期。如果匹配,我返回金钱 - 100,如果不匹配,我返回我们任意的 1000,因此这些被排除在最小值之外。一旦最小值找到与我们的日期匹配的最小差异,我执行匹配和后续索引以获取具有最小差异的第一个货币值。