如何从包含各种其他数据的行中查找 4 个重复符号中最后一个出现的符号?

如何从包含各种其他数据的行中查找 4 个重复符号中最后一个出现的符号?

根据所附图片,我试图创建一个可以完成以下任务的公式:

  1. 在其他文本的一行中查找最近的四个重复字符。 所附图片中还包含四个符号的屏幕截图(带圆圈的数字 1、2、3 和 4 - 行中的其他字符均为文本)
  2. 确定与列标题(第 12 行)中的最后一个符号关联的日期值:示例:单元格 J13 中的最后一个黄色 2 与 2019 年 1 月 6 日关联
  3. 计算并在单元格 A13 中显示从该日期到当前日期(A11)已经过了多少周。

到目前为止,我最大的挫折是如何找到一组重复符号(或值)中的最后一个。例如,最后一个黄色 2 应该是 J13,但我只能得到 C13。

在此处输入图片描述

答案1

实现此目的的一种方法是需要根据单元格找到范围内每个不同符号的最大列

使用每个辅助单元格,从 B3 到 K3 列范围的最大值中找到标题单元格的地址,例如在我的示例单元格 K6 中,在 L6 中添加公式

=INDIRECT(ADDRESS(2,MAX(IF($B$3:$K$3=$K6,COLUMN($B$3:$K$3)-COLUMN(INDEX($B$3:$K$3,1,1))+2))))

这需要作为数组添加,即 Ctrl+Shift+Enter

对您想要匹配的其他单元格重复上述操作,从 L6 拖到 L9

然后使用它=MAX(L6:L9)来给你最新的手机日期

最大列示例

#### 编辑 ####

对此解决方案进行一些小调整,然后您可以在 if 语句中使用或 (+) 来匹配多个条件,而无需辅助单元格。

=INDIRECT(ADDRESS(2,MAX(IF(($B$3:$K$3="❶")+($B$3:$K$3="❷")+($B$3:$K$3="❸")+($B$3:$K$3="❹"),COLUMN($B$3:$K$3)))))

INDIRECT 函数返回第 2 行中的日期参考,作为 ORed Max If 函数返回的 ADDRESS 列的结果。

只需记住这仍然需要作为数组添加,即 Ctrl+Shift+Enter

#### 编辑 2 ####

响应计算并在单元格 A13 中显示从该日期到当前日期 (A11) 有多少周。在单元格 A13 中作为数组使用 DATEIF 以 Range From To 和天数“d”作为条件,然后除以 7

=DATEDIF(INDIRECT(ADDRESS(2,MAX(IF(($B$3:$K$3="❶")+($B$3:$K$3="❷")+($B$3:$K$3="❸")+($B$3:$K$3="❹"),COLUMN($B$3:$K$3))))),TODAY(),"d")/7

将单元格格式化为数字或常规

相关内容