excel - 使用表格中的数据在 Excel 中查找最接近的匹配项
问题描述
我正在尝试在 Excel 中编写一个公式,该公式将在一列中找到最接近的匹配项并返回该值,以便可以在 SUMIFS 公式中使用它。我做了一些调查,发现大家都指向了这个具体的公式:
{=INDEX(data,MATCH(MIN(ABS(data-value)),ABS(data-value),0))}
我遇到的问题是我正在尝试将其转换为使用表中的数据并且到目前为止:
{=INDEX(_CCD01[[#All],[Date]],MATCH(MIN(ABS(_CCD01[[#All],[Date]]-TODAY())),ABS(_CCD01[[#All],[Date]]-TODAY()),0))}
但是 Excel 返回一个#VALUE!错误。
公式需要做的是,使用 TODAY() 作为搜索条件,在 _CCD01[[#All],[Date]] 列中找到最接近的日期。
可以在此处找到包含表格和公式的文件: Dropbox 只读
任何帮助或想法将不胜感激。
戴夫
解决方案
这是一个数组公式。
=INDEX(_CCD01[Date],MATCH(MIN(ABS(_CCD01[Date]-TODAY())),ABS(_CCD01[Date]-TODAY()),0))
要输入/确认数组公式,请在按住ctrl+的shift同时按enter。如果您正确执行此操作,Excel 将{...}
在公式栏中看到的公式周围放置大括号。
您使用的语法_CCD01[[#All],[Date]]
还将返回列的标题行。没有必要这样做,这是您#VALUE!
错误的原因。
- 该
ABS
函数将在应用于列时返回的数组中返回一个#VALUE
错误(作为第一个元素),因为第一个条目是文本。 - 然后
MIN
,作为错误值或无法转换为数字的文本的参数会导致错误。
推荐阅读
- python - 根据多列的条件创建列列表
- assembly - LC3 汇编内存映射图形
- github - 使用 POST 请求触发 Github Action (Github REST API)
- c++ - C++ Qt FFMPEG RTMP:获得 0 fps
- database - Mongodb 获取所有结果的整个子模式
- bash - 确定 Bash 脚本中的“make”命令是否失败
- python - 填充未显示在 tkinter 网格中
- watch - 创建 MI Band WAtchFace 的方法
- typescript - 在 TypeScript 中使用类型细化和函数重载
- python - 我在 python 中的 POST 方法有问题