excel - 多个单元格的 MATCH 函数
问题描述
我有一个如下公式,它使用 Datatable1 检查两个单元格的 MATCH (分配了一个带有一些数据的名称)。在这里,如果一个单元格中的任何一个与 Datatable1 匹配,则它将值写入 I7。
IF(OR((ISNUMBER(MATCH($L7;DataTable1;0))=TRUE);(ISNUMBER(MATCH($O7;DataTable1;0))=TRUE));$I7;"")
是否可以使用单个 MATCH 函数压缩公式并检查 $L7 或 $O7 是否与 Datatable1 匹配?唯一的原因是缩短公式。
解决方案
您可以使用组合 COUNTIF 和 SUM 的数组公式来检查 Datatable1 中是否存在该值。像这样的东西应该工作:
=SUM(COUNTIF(DataTable1;$L7);COUNTIF(DataTable1;$O7))
如果没有巧合,这将返回 0,如果有 1 或 2 个巧合,则返回 1 或 2。然后你只需要将它包装到你的 IF 中:
=IF(SUM(COUNTIF(DataTable1;$L7);COUNTIF(DataTable1;$O7))=0;"";$I7)
如果没有匹配,则不返回任何内容,任何情况下都返回 I7 处的值
它更浓缩,它是一个更短的公式。
编辑:查看@ScottCraner 后,您可以添加 CHOOSE 并使其更短,但作为数组公式:
=IF(SUM(COUNTIF(DataTable1;CHOOSE({1;2};$L7;$O7)))=0;"";$I7)
因为是数组公式,所以必须按CTRL++ENTER输入SHIFT
推荐阅读
- sql - 如何在一个值的数量大于另一个值的 postgresql 行中进行选择?
- tls1.2 - Delphi,INDY,无法连接 TLSv1.2(wireshark 说没问题?oO)
- reactjs - 如何在 reactjs 中修复这个 Eslint 警告
- c++ - 将类方法作为另一个类中函数的参数传递
- networking - 通过“信号、发射和统计”功能进行统计收集,无需修改 omnet++ 模型(TicToc 教程 5.3)
- asp.net-core - 如何使用属性将项目添加到具有 ASP.NET Core 的附加值集合 ModelMetadata?
- r - 对于条形图,如何从 R 上显示的 x 轴获取所有标签?
- javascript - jQuery:引导模式未显示
- google-sheets - 每隔几周设置 Google 表格背景颜色
- python - 对在 Pytorch 中使用 super() 构建神经网络感到困惑