从 table 引用不同类别的混合单元格

Referencing from table with mixed cells of different categories

我正在尝试编写一个 Google 表格来比较和分析物流成本。 我有以下内容:

我的问题是我不知道如何使它成为 return 价格最低的提供商的名称,正如我从第二个 table 中引用的那样,其中同一行或同一列中的单元格的价格属于不同的供应商。

在这种情况下使用 min 是不可取的,因为它不会告诉您 哪里 找到了最小值,而您需要此信息。

这里有一个公式,returns 与供应商一起的最低成本。在我的示例中,数据在 A1:E7 范围内,如下所示;目的地在 G1 中,模型在 G2 中。

=iferror(array_constrain(sort({filter(A1:A7, B1:B7=G2), filter(filter(C1:E7, B1:B7=G2), C1:E1=G1)}, 2, True), 1, 2), "Not found")

与可读性换行符相同:

=iferror(
   array_constrain(
     sort(
       {
         filter(A1:A7, B1:B7 = G2), 
         filter(filter(C1:E7, B1:B7 = G2), C1:E1 = G1)
        }, 
     2, True), 
   1, 2), 
"Not found")

解释:

  1. 按 B1:B7 = G2 过滤意味着只保留具有所需模型的行
  2. 按 C1:E1 = G1 过滤意味着只保留具有所需目标的列
  3. { , } 表示将过滤后的 table 的两部分放在一起:A 列和目标列
  4. 按第 2 列(价格)升序排序(正确)
  5. array_constrain 仅保留此排序中的第一行;也就是说,价格最低的。
  6. iferror 是为了防止 table 中没有这样的目的地或模型。然后函数 returns "not found".

示例:G1 = 目的地 1 且 G2 = A,公式 returns

 Provider 2     2