Google Spreadsheet vlookup with arrayformula PLUS乘法返回值

时间:2014-03-07 21:25:18

标签: google-sheets array-formulas gs-vlookup

由于Adam(AD:AM)出色的拼写解决方案(https://productforums.google.com/forum/#!searchin/docs/parallel$20lookup$20solution/docs/36A0epDlIdE/qnywZst0DioJ),我将我的VLOOKUP与ArrayFormula一起工作

所以在col J中,这就是我所拥有的:

=ArrayFormula(VLOOKUP(H2:H;ProductTable!A2:C;3*SIGN(ROW(H2:H));FALSE))

效果很好。但是,我想在col J中从该公式中获取返回值,并将其与第I行中的Qty值相乘。

显然我可以在col K中添加一个额外的帮助列...

=ARRAYFORMULA(I2:I*J2:J)

...但我希望避免在查询结果中添加另一列,特别是因为col J中返回的结果在工作表上没有明显的用途 - 它们仅用于数学目的。

我尝试了多种方法将该公式转换为col J中的ArrayFormula / VLOOKUP函数,但到目前为止我没有运气。

也许它无法完成(?),或者我可能只是从看到这个问题的新眼睛中受益。

2 个答案:

答案 0 :(得分:1)

没关系。我不确定为什么当我以前试过它时这似乎不起作用,但出于绝望,我只是走开了一段时间,然后再次重新尝试了一切。 这个时间我得到了我正在寻找的结果:

=ArrayFormula(VLOOKUP(H2:H;Backend_Product!A2:C;3*SIGN( ROW(G2:G));FALSE )*I2:I)

(有点像DUH,所以也许我最初引用了错误的列或其他东西)

答案 1 :(得分:1)

您引用的帖子是2011年。我认为用例从那时起就已经解决了。

我有一个使用公式=ArrayFormula(VLOOKUP(J$2:J,$C$2:$D,2,FALSE))的列。我创建了一个带有=VLOOKUP(J2,$C$2:$D,2,FALSE)的检查列,我拖了很多行。

似乎在数组公式中,J正在迭代,就像在我拖动的公式中一样,而C:D是固定的。只要我将检查列向下拖动,原始列和检查列都具有相同的结果数据。

警告:我没有进行详尽的搜索或创建一个特别聪明的测试用例。我只是看到了大量实际数据的堆积。