我有一张包含制造商列表的表格(制造商 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
最简单的方法是向制造商表添加一个辅助列(旁注:我真的鼓励您更一致地正确拼写“制造商”)。
- 在制造商表中添加“MAX”字段。用于
INDIRECT
构建结构化引用以获取MAX
相应名称的表。我在此演示中将表命名为“Mfr_Table[n]”,因为我不想输入表的名称,因此您将更新此公式中的字符串:
=MAX(INDIRECT("Mfr_"&[@MANUFACTURERS]&"[Position]"))
但您可以看到如何使用INDIRECT
将文字字符串与单元格引用组合在一起。实际操作如下:
这里的优点是,因为它在表中,所以当您向其中添加行时它会自动更新,因此一旦您添加了 Mfr_Table4,您只需转到下一行(D8
在此示例中),添加“Table4”并将新的内容MAX
拉入。
- 下一部分现在应该很明显了。您的总体
MAX
公式:
=MAX(Manufacturers[MAX])