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