【问题标题】:Find value using multiple criteria使用多个标准查找价值
【发布时间】:2015-04-17 15:05:43
【问题描述】:

我有一个包含列的表格,每个列都包含客户联系信息。我还有一个公式可以使用多个条件查找电话号码:customer IDtype(手机、家庭等)和primary Y/N。问题是此信息可能出现多次,但日期不同,在这种情况下,需要选择最新出现的信息。目前的 CSE 公式为:

=INDEX($C$6:$BZ$18;10;MATCH(<client_ID>;IF(($C$8:$BZ$8=<client_ID>)*($C$17:$BZ$17="home")*($C$18:$BZ$18="Y");$C$8:$BZ$8);0))

在哪里
$C$6:$BZ$18 包含所有数据
$C$8:$BZ$8 包含所有客户端 ID
$C$17:$BZ$17 包含电话号码的类型
$C$18:$BZ$18 包含此号码是否是该类型的主号码
$C$8:$BZ$8 包含输入数字的日期

数据如下:

   B              C           D
---------------------------------------------------------------------
8  CLIENTID     |Client1    |Client1    |
9  other        |           |           |
10 other        |           |           |
11 other        |           |           |
12 other        |           |           |
13 other        |           |           |
14 other        |           |           |
15 PHONE NUMBER |9876543210 |1234567890 |
16 DATE         |2015-04-15 |2015-04-16 |
17 TYPE         |Home       |Home       |
18 Primary      |Y          |Y          |  

上面的公式选择了电话号码9876543210,但它需要选择1234567890,因为那是最新的条目。

关于如何从这里开始的任何想法?

【问题讨论】:

  • 请提供您的数据截图;一个图像或一个图像的链接,以便我们可以看到。并提供预期的结果。

标签: excel excel-formula


【解决方案1】:

日期的基础值是数字,因此我们可以通过使用MATCH function 搜索一个不可能高的数字来查找连续最右边的日期,而无需寻找精确匹配。

      

F6中的数组公式是,

=INDEX($B$8:$BZ$18, MATCH(F$5, $B$8:$B$18, 0), MATCH(1E+99, IF($B$8:$BZ$8=$C6, IF($B$17:$BZ$17=$D6, IF($B$18:$BZ$18=$E6, $B$16:$BZ$16)))))

数组公式需要用Ctrl+Shift+Enter↵来完成。

如果您的日期是按升序排列(从左到右),则必须寻求完全匹配。三标准伪 MAXIF 公式可以将其返回到修改后的原始公式中以查找精确匹配。如果最大日期重复,则返回第一个。

=INDEX($C$8:$BZ$18, MATCH(F$5, $B$8:$B$18, 0), MATCH(MAX(INDEX($C$16:$BZ$16*($C$8:$BZ$8=$C6)*($C$17:$BZ$17=$D6)*($C$18:$BZ$18=$E6), , )), IF($C$8:$BZ$8=$C6, IF($C$17:$BZ$17=$D6, IF($C$18:$BZ$18=$E6, $C$16:$BZ$16))), 0))

为了提供一些没有错误的数学,我已将计算范围转移到 C:BZ。数组公式仍需使用 Ctrl+Shift+Enter↵ 完成。

通过适当地锁定行、列或两个单元格地址,我们可以使用列标题来识别与列 B 不同的类别,就像我对 DATA LINE 所做的那样。公式可以简单填对。

【讨论】:

  • 感谢您的回答!它有效,但此公式假定所有日期都按升序排列。是否可以允许随机顺序?
  • @TheHoff - 它会在公式中添加几十个字符,但可以在完全匹配的情况下找到最大日期。
  • 对不起,我已经尝试为此想出一个解决方案,但它只是不起作用。你能告诉我如何调整公式吗?
  • @TheHoff - 我不久前编辑了上面的答案以包含您的请求。
猜你喜欢
  • 2022-07-05
  • 2015-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多