使用来自 Table 的数据在 Excel 中找到最接近的匹配项
Find the Closest Match in Excel using data from a Table
我正在尝试在 Excel 中编写一个公式,它将在一列中找到最接近的匹配项并 return 该值,以便它可以用于 SUMIFS 公式。我做了一些调查,发现每个人都指向这个特定的公式:
{=INDEX(data,MATCH(MIN(ABS(data-value)),ABS(data-value),0))}
我遇到的问题是我正在尝试将其转换为使用来自 Table 的数据,并且到目前为止:
{=INDEX(_CCD01[[#All],[Date]],MATCH(MIN(ABS(_CCD01[[#All],[Date]]-TODAY())),ABS(_CCD01[[#All],[Date]]-TODAY()),0))}
但是 Excel return 是一个 #VALUE! 错误。
公式需要做的是使用 TODAY() 作为搜索条件在 _CCD01[[#All],[Date]] 列中找到最接近的日期。
带有 table 和公式的文件可以在这里找到:
Dropbox Read Only
任何帮助或想法将不胜感激。
戴夫
这是一个数组公式。
=INDEX(_CCD01[Date],MATCH(MIN(ABS(_CCD01[Date]-TODAY())),ABS(_CCD01[Date]-TODAY()),0))
到enter/confirm一个数组公式,按住ctrl + shift同时点击 enter。如果操作正确,Excel 将在公式栏中看到的公式周围放置大括号 {...}
。
您使用的语法 _CCD01[[#All],[Date]]
也将 return 列的 header 行。没有必要这样做,这是导致 #VALUE!
错误的原因。
ABS
函数将return一个#VALUE
错误(作为第一个元素)在数组中它return s 当应用于列时,因为第一个条目是文本。
- 然后
MIN
参数是错误值或无法转换为数字的文本会导致错误。
我正在尝试在 Excel 中编写一个公式,它将在一列中找到最接近的匹配项并 return 该值,以便它可以用于 SUMIFS 公式。我做了一些调查,发现每个人都指向这个特定的公式:
{=INDEX(data,MATCH(MIN(ABS(data-value)),ABS(data-value),0))}
我遇到的问题是我正在尝试将其转换为使用来自 Table 的数据,并且到目前为止:
{=INDEX(_CCD01[[#All],[Date]],MATCH(MIN(ABS(_CCD01[[#All],[Date]]-TODAY())),ABS(_CCD01[[#All],[Date]]-TODAY()),0))}
但是 Excel return 是一个 #VALUE! 错误。
公式需要做的是使用 TODAY() 作为搜索条件在 _CCD01[[#All],[Date]] 列中找到最接近的日期。
带有 table 和公式的文件可以在这里找到: Dropbox Read Only
任何帮助或想法将不胜感激。
戴夫
这是一个数组公式。
=INDEX(_CCD01[Date],MATCH(MIN(ABS(_CCD01[Date]-TODAY())),ABS(_CCD01[Date]-TODAY()),0))
到enter/confirm一个数组公式,按住ctrl + shift同时点击 enter。如果操作正确,Excel 将在公式栏中看到的公式周围放置大括号 {...}
。
您使用的语法 _CCD01[[#All],[Date]]
也将 return 列的 header 行。没有必要这样做,这是导致 #VALUE!
错误的原因。
ABS
函数将return一个#VALUE
错误(作为第一个元素)在数组中它return s 当应用于列时,因为第一个条目是文本。- 然后
MIN
参数是错误值或无法转换为数字的文本会导致错误。