从另一个表的一列中填充表[列]名称的数组并返回最大数量

从另一个表的一列中填充表[列]名称的数组并返回最大数量

我有一张包含制造商列表的表格(制造商 1、制造商 2、制造商 3)。然后,对于该表格中列出的每个制造商,都有一个对应的表格,其中列出了该制造商提供的所有产品。这些表格有多个用于不同条件的列,但它们都有一个名为位置的列。所有这些表格的命名都一致,名称开头都有一些内容,即制造商的名称和列名称为位置。

因此表和列的名称如下所示:

金属供应商制造商 1[职位]。

我想要一个可以完成这个公式功能的公式: =MAX(Metal_Supplier_Manufacturer_1[Position],Metal_Supplier_Manufacturer_2[Position],Metal_Supplier_Manufacturer_3[Position])

我想返回位置列中的最高数字,但我希望它查看制造商表格以填充表格名称。每个制造商表格列出了大约 30-50 家制造商,并且数量会不断增加,所以当添加某些东西时,我不想不断回到这个公式来更新它。

编辑:样本我添加了一个示例图片。我想用一个执行相同操作的公式替换 D1763 中的公式,但该公式会查看“制造商”表以填充表名称数组,所有这些都只查看位置列以返回最大数字。因此,如果我将“制造商 4”添加到“制造商”表中,并将一个与其他表一致命名的对应表添加到名为“位置”的列(Metal_Supplier_Manufacturer_4[Position]),我的公式将进行调整并将新表添加到数组中。

我需要一个仅使用工作表公式的解决方案。

答案1

最简单的方法是向制造商表添加一个辅助列(旁注:我真的鼓励您更一致地正确拼写“制造商”)。

  1. 在制造商表中添加“MAX”字段。用于INDIRECT构建结构化引用以获取MAX相应名称的表。我在此演示中将表命名为“Mfr_Table[n]”,因为我不想输入表的名称,因此您将更新此公式中的字符串:

=MAX(INDIRECT("Mfr_"&[@MANUFACTURERS]&"[Position]"))

但您可以看到如何使用INDIRECT将文字字符串与单元格引用组合在一起。实际操作如下:

在此处输入图片描述

这里的优点是,因为它在表中,所以当您向其中添加行时它会自动更新,因此一旦您添加了 Mfr_Table4,您只需转到下一行(D8在此示例中),添加“Table4”并将新的内容MAX拉入。

  1. 下一部分现在应该很明显了。您的总体MAX公式:

=MAX(Manufacturers[MAX])

在此处输入图片描述

答案2

我认为它可以在 Excel 2010 中运行,但我无法测试它:

在此处输入图片描述

有各种组件(A2=$F$2:$F$5)测试单元格 A1 中的内容是否与 F 列中表格中的内容匹配。 的解释类似(B2=$G$2:$G$5)。公式的这些部分通常返回TRUEFALSE值,这没有直接帮助。但是,--在它前面添加会导致它转换为10。最后一部分是您要查找的值(仅适用于数字)。通过将这三个组件相乘,您将创建一个值数组。Max()从数组中获取最大值。

如果您需要我的解释帮助,请告诉我。

相关内容