使用 INDEX-MATCH 进行多个非精确标准的查找 - 查找最符合条件的最近值时出现问题

2024-03-17

我正在尝试使用 INDEX-MATCH 使用多个非精确条件进行查找。 形式如下:

=索引(C314:C318;匹配(1;(D314:D318>=G313)*(E314:E318>=G314);0))

标准是:大于或等于金额 X。

公式工作正常,但是当使用一长串值时,它找不到最佳匹配值,而是找到与条件匹配的第一个值。

例如。

条件1是:代码“查找等于2055516的代码” 条件2是:数值“查找等于或大于77的值” 条件3是:按字母顺序“找到等于或大于H的字母”

在我有很多值的大型数据集中,它只找到符合此条件的下一个最佳值。满足该条件的第一个值将是“80”和“R”,但是,下面我的数据集中的值“78”和“I”更好地满足这些标准。我想这里的问题很清楚。

我怎样才能调整我的公式来寻找那些更适合我的条件的值?

数据集表如下所示:

该公式应返回最佳加工产品的名称“A、B、C、D、E”。


我使用了一个名为的辅助列Helper对字母进行排序Condition 2首先按字母顺序使用以下公式(将其向下拖动以应用于所有行):

=COUNTIF(Condition_2,"<="&Condition_2)

然后使用以下公式找到最佳匹配(尽管它是一个数组公式它不需要被确认Ctrl+Shift+Enter):

=INDEX(Product1,MATCH(AGGREGATE(15,6,Helper/((Condition_1>=77)/(Condition_2>="H")),1),Helper,0))

更换命名范围将上述公式与工作表中的实际范围相结合。

Replace , with ;作为适合您的系统的所有公式中的分隔符。

EDIT #2

基于新的场景,问题可以通过以下方式解决总计的函数仅给出查找值是一个数字(EAN)

单元格中的公式J2我上面的例子是:

=AGGREGATE(15,6,EAN/((DIMENSION=F2)/(LOAD_INDEX>=G2)/(SPEED_INDEX>=H2)),1)

请注意以下全部内容命名范围需要替换为工作簿上的实际范围:

  • 方面 being B2:B8
  • 加载索引 being C2:C8
  • 速度指数 being D2:D8
  • EAN being A2:A8

如果您不想显示错误#NUM!如果没有匹配结果,您可以使用IFERROR返回一个空白单元格,如单元格中所示J3我的例子。公式为:

=IFERROR(AGGREGATE(15,6,EAN/((DIMENSION=F3)/(LOAD_INDEX>=G3)/(SPEED_INDEX>=H3)),1),"")

EDIT #3

请使用以下数组公式(需要按确认Ctrl+Shift+Enter) 找到最接近的匹配LOAD INDEX and SPEED INDEX在一个的帮助下Helper column.

{=INDEX(EAN,MATCH(AGGREGATE(15,6,Helper/((LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)))=AGGREGATE(15,6,LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)),1)),1),Helper/((LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)))=AGGREGATE(15,6,LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)),1)),0))}

逻辑是首先找到最接近的匹配LOAD INDEX然后找到最接近的匹配SPEED LIMIT从最接近匹配的范围到LOAD INDEX.

如果您不想再次显示#NUM!没有匹配结果的错误,你可以使用IFERROR返回所需的结果。

如果有任何问题请告诉我。干杯:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 INDEX-MATCH 进行多个非精确标准的查找 - 查找最符合条件的最近值时出现问题 的相关文章

  • 如何从包含许多表的 Excel 工作表中解析数据帧(使用 Python,可能使用 Pandas)

    我正在处理布局糟糕的 Excel 工作表 我正在尝试解析这些工作表并将其写入数据库 每个工作表可以有多个表 尽管这些可能的表格的标题是已知的 但哪些表格将位于任何给定的工作表上 它们在工作表上的确切位置也不是已知的 表格不以一致的方式对齐
  • 使用 UiPath 循环 Excel 文件中的 URL

    我尝试了几种方法 但不知怎的 它们看起来不干净 我有一个 Excel 格式的 URL 文件 一列中有 400 多个 URL 我希望 UiPath 从该文件中读取并一一浏览这些 URL 我尝试让 导航到 从从 Excel 读取的变量中读取 但
  • 我可以使用 VBA 将密码“传递”到 Excel 中的外部数据库连接吗?

    我正在尝试使用 VBA 隐藏我在 Excel 工作表中设置的数据连接的密码 由于 Excel 以纯文本形式存储外部数据源的密码 因此我想让 VBA 调用表的刷新并提供密码 我录制了刷新表格并输入密码的宏 但令我沮丧的是 它似乎省略了密码部分
  • WebAPI 和 Angular JS Excel 文件下载 - 文件损坏

    我正在 WebAPI 中生成 Excel 文件 我将其 存储 在内存流中 然后放入响应 如下所示 var result new HttpResponseMessage HttpStatusCode OK Content new Stream
  • 如何从另一个 Excel 实例引用工作簿

    我相信我的问题相当简单 我有一个工作簿 我正在使用它从另一个软件 SAP 获取一些数据 当我从软件导出数据时 它会自动打开一个 xlsx 文件 然后我需要做的是从该文件复制一些数据 粘贴到我的原始工作簿上 然后关闭该文件 我的代码中给我带来
  • 在Excel中显示毫秒

    我正在尝试在 Excel 宏中显示毫秒 我有一列整数 它们是以毫秒为单位的时间戳 例如 28095200 是上午 7 48 15 200 我想在它旁边创建一个新列 以保持运行平均值并以hh mm ss 000格式 Dim Cel As Ra
  • 如何在Excel中创建关系矩阵

    给定一个三元组列表 我想得到一个关系矩阵 如下所示 1 A X 1 A Y 1 B X A B C 1 B Z 1 X Y X Z 2 A Z gt 2 Z X Y 2 B X 3 Y Z 3 A Y 3 A Z 2 C Y 如何 可以在
  • 使用 C# 在 Excel 中查找和替换文本

    我想使用 C 在 Excel 中查找并替换一组文本 而且我希望此替换仅发生在第一行中的文本 我已经使用Google并找到了一些付费资源 例如Aspose API Spire Xls等 但我正在寻找开源资源或任何其他有效的方法来实现这一目标
  • 查找最后一列并按最后一列排序

    我需要 Excel 来检测我拥有的最后一列并对该列进行排序 我有一个宏 每次使用它时都会生成一个新列 因此我无法使用常量 Sub sortyness Dim sortdata A1 Cells LastRow LastColumn As R
  • 用于导出到 CSV/Excel 的数据 URI(无服务器端请求):浏览器支持/限制?

    以下问题 Javascript 或 Flash 导出至 CSV Excel https stackoverflow com questions 8150516 javascript or flash export to csv excel
  • 以独立于区域设置的方式读取 Excel 文件

    我使用以下代码从各种 Excel 文件读取数据 IMEX 1 to force strings on mixed data HDR NO to process all the available data Locale 1033 is en
  • 使用 Excel 2010 通过存储过程读取/写入 SQL Server 2008 数据库

    我们有一个 SQL Server 2008 数据库 它有存储过程来处理读 写等 这些过程由各种应用程序内部使用 需要一个人直接更新数据库中名为 Employee 的表 更新非常简单 更新 VARCHAR 和 INT 外键 字段 问题是 Sh
  • VBA删除列中的单元格并根据单元格的值左移?

    如果单元格为空 如何删除 B 列 和左移 中的单元格 下面是我所拥有的 但它给出了 应用程序定义或对象定义的错误 Sub DeleteCellShiftLeft For i 1000 To 1 Step 1 If Cells i B Val
  • 我可以通过 vba 设置 Excel Power Query 的用户名和密码吗?

    我正在尝试设置一个电子表格 供其他人使用 通过 Power Query 更新表 当另一个用户使用电子表格时 他们会被要求 3 次输入用户名和密码 因为我有 3 个表正在更新 如何通过 VBA 为每个用户设置这些 我尝试将连接设置为匿名 但他
  • 在 VBA 中从范围创建数组

    我遇到了一个看似基本的问题 但找不到任何资源来解决它 简而言之 我只想将一系列单元格 所有一列 的内容加载到数组中 我能够通过以下方式完成此任务 DirArray Array Range A1 Range A2 但由于某种原因 我无法以这种
  • 在 Excel VBA 中,如何访问存储在已安装的加载项中的子项?

    我已经创建了一个 Excel 加载项 该加载项中有一些模块 假设 module1 是其中之一 在 module1 中 我有一个 sub 声明为 public sub abc end sub 在我的工作簿中 我希望能够使用外接程序中定义的函数
  • 根据关键列合并多个 Excel 工作簿

    我从不同的客户那里收到七个工作簿 xlsx 文件 每个工作簿都有一张工作表 每张工作表至少有一个公共 ID 列 UNIQ PK 其中一本工作簿包含所有可能的 id 列表 其他人可能没有所有 id 的记录 但每一行都定义了 id 值 我需要制
  • 如何从特定类获取特定链接?

    我想提取这个href从那个特定的class tr class even td a href italy serie a 2015 2016 Serie A 2015 2016 a td 这是我写的 Sub ExtractHrefClass
  • 具有日期和名称标准的 SUMIFS...仅限月份和年份

    我正在尝试获取 SUMIFS 公式来检查日期列 并仅对与标准日期的匹配年份和月份相对应的值求和 我还希望此 SUMIFS 包含名称标准和日期 IE 单元格 A1 SUMIFS Sheet1 O O Sheet1 D D Sheet2 DAT
  • 从新的 xlsx 文件中删除宏

    功能部分 下面的代码将 xlsm 文件中的 2 个选项卡保存到新的 xlsx 文件中 文件保持打开状态以进行编辑 错误 xlsm 选项卡在工作表代码中有触发器 该触发器无效 一旦在 xlsx 工作表中输入任何内容 就会导致错误 所需输出 编

随机推荐

  • android - 如何创建可重用的函数?

    在我的 Android 项目中 我有很多活动 其中一些活动已经扩展了其他内容 例如地图活动或 BroadcastReceiver 如何创建一个可以从任何活动调用的函数 因为我不想在多个活动中重复任何代码 thanks 如果我有一些有用的函数
  • Scala 集合已排序、sortWith 和 sortBy 性能

    Scala在标准库中包含了几种用于对列表进行排序的方法 例如对列表进行排序list 可以使用 list sorted list sortWith lt list sortBy x gt x 虽然这些可能是对列表进行排序的最简单方法 但我发现
  • 用于分组 UITableView 的半透明 UITableViewCell?

    我想创建一个半透明分组表视图单元格 换句话说 我想看到分组的表格视图背景图案 但我不想要完全清晰的单元格 我见过很多关于透明单元的问题 但没有一个解决制作半透明 仅部分透明 单元的问题 这就是我正在尝试的 void tableView UI
  • 如何检测内存不足的段错误?

    如何检测段错误是否是由内存不足情况引起的 我有一个段错误 无法通过 valgrind 和 duma efence 进行诊断 因为它似乎使这些工具本身崩溃 Valgrind 不可能的事情发生了 duma mprotect 失败 无法分配内存
  • .sql 文件的存储过程

    SQL 2005 中是否有一个简单的过程可以将我的所有存储过程吐出到单独的 sql 文件中 我想将它们转移到 VSS 中 但我对单击每个文件获取源代码 将其转储到文本文件等的前景感到不太兴奋 在 SQL Management Studio
  • DocuSign 嵌入签名 returnUrl 长度限制?

    在处理 DocuSign 嵌入式签名流程 过去曾有效 时 我注意到在签署文档后 我被发送回的 returnUrl 中缺少 event 参数 returnUrl 看起来像 http www example com index php para
  • 什么是 Android 的 Smali 代码

    我将学习一些有关 Dalvik VM dex 和 Smali 的知识 我已经阅读过有关 smali 的内容 但仍然无法清楚地了解它在编译器链中的位置 以及它的目的是什么 这里有一些问题 据我所知 dalvik 与其他虚拟机一样运行字节码 对
  • Neo4J - 存储到关系与节点中

    我想知道将数据存储到关系或节点中是否有任何优点或缺点 例如 如果我要将与讨论相关的评论存储到数据库中 我应该将评论数据存储在 评论 关系中 还是通过单独的关系存储在与讨论相关的 评论 节点中 正确的数据模型取决于您需要进行的查询类型 您应该
  • 设计时和运行时的 WPF 数据上下文

    我正在学习 WPF MVVM Light 和 ViewModelLocator 模式 但在主窗口的数据上下文方面遇到了困难 public class ViewModelLocator public ViewModelLocator var
  • 将 C++ 类的定义放入头文件中是一个好习惯吗?

    当我们用 Java Vala 或 C 设计类时 我们将定义和声明放在同一个源文件中 但在 C 中 传统上首选将定义和声明分开在两个或多个文件中 如果我只使用一个头文件并将所有内容都放入其中 就像 Java 一样 会发生什么 是否有性能损失或
  • OS X:如何获取 macOS 上桌面目录的路径?

    如何在 macOS 上以字符串形式获取桌面目录的文件路径 我需要用纯 C 或一些 C 级框架来完成它 这是一个简短的函数 它适用于更多基于 Unix 的系统 而不仅仅是 macOS 并返回current用户的桌面文件夹 include
  • create-react-app 显示了我在生产中的所有代码,如何隐藏它?

    在我的 chrome 源选项卡中 我可以按确切的文件夹位置查看所有文件 我怎样才能隐藏它们 这些不是我之前项目中的问题 该项目是在没有使用 create react app 的情况下制作的 根据create react app 这似乎是正确
  • 下拉菜单推开下面的 div

    当鼠标悬停在菜单上时 子菜单会 拒绝 下一个 div 如何将 div 固定在下面的位置 这是我的代码 box sizing border box body font family Helvetica Neue Helvetica Arial
  • 根据 MySQL 中的半径合并边界框内的长/纬度点

    这是我基本上想要实现的目标的图片 因此 正如标题所说 我想合并长 纬度点 它们的半径 例如 25 公里 触摸长 纬度点的边界框内 这是我非常简单的数据库结构 id long lat 1 90 27137 50 00702 2 92 2713
  • 字段初始化中未处理的异常

    Java 是否有任何语法来管理声明和初始化类的成员变量时可能引发的异常 public class MyClass Doesn t compile because constructor can throw IOException priva
  • Gitlab CI 同时在多个平台上运行

    我有一个针对多个操作系统 Linux Windows MacOS 以及多个 CPU 架构 i386 x86 64 arm Aarch64 编译和打包的 C 项目 为此 我使用 Jenkins 获取源代码并在每个系统上并行运行构建脚本 这是一
  • 在 DateTimePicker 中输入数据时移动到以下日期部分

    我有一个用户请求 我正在尝试满足 我能想到的最简单的解释方法是使用图片进行说明 Essentially the user is typing a ton of dates in Instead of typing the MM 反斜杠 或右
  • 如何在golang中使用LDFLAGS的相对路径

    我正在尝试构建一个使用静态库 a 文件 的 golang 程序 我的项目的目录结构如下 testserver bin pkg src logging testserver libtest a test go test go 中 cgo 的标
  • Laravel 4:使用数据在布局内嵌套视图

    我正在编写一个简单的应用程序 仅依赖于一些路线和视图 我已经设置了总体布局并使用以下内容成功嵌套了模板 路线 php View name layouts master master layout View of master Route g
  • 使用 INDEX-MATCH 进行多个非精确标准的查找 - 查找最符合条件的最近值时出现问题

    我正在尝试使用 INDEX MATCH 使用多个非精确条件进行查找 形式如下 索引 C314 C318 匹配 1 D314 D318 gt G313 E314 E318 gt G314 0 标准是 大于或等于金额 X 公式工作正常 但是当使