【问题标题】:How can I return a value of the latest document version from an array of versions?如何从版本数组中返回最新文档版本的值?
【发布时间】:2020-10-02 18:04:00
【问题描述】:

我有一组从元数据中自动提取的文档版本。我需要创建一个公式来自动返回最新版本的值。版本通常是随机定位的,所以我不能只从右侧列返回值。挑战在于所有文档修订都包含一个字母。 P 表示初步,C 表示施工。

我的公式概念是它应该在数组中查找“C”并返回包含“C”的单元格以及最大的数字。如果“C”不存在,则公式应查找“P”并返回包含“P”的单元格以及最大的数字。最后,如果数组中同时缺少“C”和“P”,则公式应返回“N/A”。

我很欣赏这是一个非常专业的公式,但我在这些论坛上看到了一些很棒的建议,所以我非常感谢您的帮助!谢谢!

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    B1中的数据通过F1,在A1中输入数组公式:

    ="C" & MAX(IF(LEFT(B1:F1,1)="C",--MID(B1:F1,2,99)))
    

    数组公式必须使用 Ctrl + Shift + Enter 而不仅仅是 Enter 键。如果正确执行此操作,公式将在公式栏中显示并带有花括号。

    (调整 B1:F1 以匹配您感兴趣的行中的单元格。)

    【讨论】:

      【解决方案2】:

      在A1中,输入公式并复制下来:

      =IFERROR(IFERROR(LOOKUP(2,1/(LEFT(B1:XFD1)="C"),B1:XFD1),LOOKUP(2,1/(LEFT(B1:XFD1)="P"),B1:XFD1)),"N/A")
      

      【讨论】:

      • 嗨!感谢您的快速回复!这是我第一次在论坛上发布一个excel问题,所以我感谢您的快速回复!在大多数情况下,您建议的公式可以解决问题,但仍然存在一个问题 - 版本通常位于字符串中的随机位置,并且您的公式始终返回最右边的单元格值。如果我在数组中间有一个更高的版本号,它仍然返回最后一个值。有没有办法解决这个问题?也许可以将 MAX 公式集成到您的公式中。我尝试修改您的公式,但失败了。
      • “数组中间的更高版本号”是什么意思?请举几个例子来解释并结合您的预期结果
      • 我无法弄清楚如何在 cmets 中发布图像......无论如何希望这是有道理的:最新修订:C03.1 修订 1:P01 修订 2:C03.1 修订 3:C02 .1 Revision 4:P03 Revision 5: C03 Revision 2 在这种情况下是最新的,因此它可以位于数组的中间。
      猜你喜欢
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      相关资源
      最近更新 更多