【问题标题】:Return array from INDEX function?从 INDEX 函数返回数组?
【发布时间】:2012-12-14 07:11:44
【问题描述】:

我必须在 Excel 表中做一个计算字段,它汇总表中的值与域表中的值。例如。有带有名称和数量的商品表和带有商品名称和价格的域表价格表。目标是查找每个商品行的价格,将其乘以价格并将其相加。商品线有的重复,有的漏掉,所以不能做向量积。

其实实际情况要复杂一些。

我可以用 MATCH 和 INDEX 函数和数组公式做很多事情。但我的亮点是 INDEX 函数不能根据传入的索引数组返回找到的值数组。这个公式总是以值 1 结束,而不是我期望的数组:

{=COUNT(INDEX({1,2,3},{3,2,1}))}

请注意,我不能使用 LOOKUP 函数,因为它们需要排序列表...

【问题讨论】:

  • 使用 VLOOKUP 是否有帮助,当您将可选的第四个参数设置为 FALSE 或 0 时,它可以处理未排序的列表?
  • 不,它做不到。

标签: excel excel-formula


【解决方案1】:

INDEX(如 VLOOKUP)不返回值数组(某些复杂情况除外)

如果您在第一个表中有 Name1 和 Count,在第二个表中有 Name2 和 Price,那么您可以使用此公式获得 总价

=SUMPRODUCT(Count,SUMIF(Name2,Name1,Price))

[SUMIF 部分正在做我假设您正在尝试使用 INDEX 做的事情]

假设第二个表中的 Name2 没有重复

【讨论】:

  • 优秀,就是这样。一直以来,我都在尝试“矢量化”输入,而不是条件!
猜你喜欢
  • 1970-01-01
  • 2018-04-21
  • 2012-08-17
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
  • 2017-01-26
  • 2014-11-20
  • 2017-08-20
相关资源
最近更新 更多