Excel 如何从版本数组中返回最新文档版本的值?

Excel 如何从版本数组中返回最新文档版本的值?,excel,excel-formula,Excel,Excel Formula,我有一个从元数据中自动提取的文档版本数组。我需要创建一个公式,将自动返回最新版本的值。这些版本通常是随机放置的,所以我不能只从右边的列返回值。挑战在于所有文件修订都包含一个字母。P代表初步设计,C代表施工 我对公式的概念是,它应该在数组中查找“C”,并返回包含“C”和最大数字的单元格。如果没有“C”,则公式应查找“P”,并返回包含“P”和最大数字的单元格。最后,如果数组中同时缺少“C”和“P”,则公式应返回“N/A” 我很感激这是一个非常专业的公式,但我在这些论坛上看到了一些惊人的建议,所以我真

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

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


我很感激这是一个非常专业的公式,但我在这些论坛上看到了一些惊人的建议,所以我真的非常感谢你的帮助!谢谢大家!

B1F1的数据中,在A1中输入数组公式:

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

数组公式必须使用Ctrl+Shift+Enter键输入,而不仅仅是Enter键。如果操作正确,公式将显示在公式栏中,并在其周围用大括号括起来


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

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

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

数组公式必须使用Ctrl+Shift+Enter键输入,而不仅仅是Enter键。如果操作正确,公式将显示在公式栏中,并在其周围用大括号括起来


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

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

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

在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公式集成到您的公式中。我试着修改你的公式,但失败了。“数组中的一个更高的数字修订”的含义是什么?请给出几个例子来解释,再加上你的预期结果,我不知道如何在这里的评论中发布图片。。。无论如何,希望这是有意义的:最新修订:C03.1修订版1:P01修订版2:C03.1修订版3:C02.1修订版4:P03修订版5:C03修订版2是本例中最新的,因此它可以在数组的中间。嗨!感谢您的快速回复!这是我第一次在论坛上发布一个excel问题,所以我感谢您的快速回复!您建议的公式在大多数情况下都会起作用,但仍然存在一个问题-版本通常位于字符串中的随机位置,并且您的公式始终返回最右边的单元格值。如果在数组中间有一个更高的数字修订,它仍然返回最后一个值。有办法解决这个问题吗?也许可以将MAX公式集成到您的公式中。我试着修改你的公式,但失败了。“数组中的一个更高的数字修订”的含义是什么?请给出几个例子来解释,再加上你的预期结果,我不知道如何在这里的评论中发布图片。。。无论如何,希望这是有意义的:最新修订:C03.1修订版1:P01修订版2:C03.1修订版3:C02.1修订版4:P03修订版5:C03修订版2是本例中最新的,因此它可以在一个数组的中间。