如果同一行中的另一个单元格的值大于0,则仅索引另一张工作表中一列的单元格

时间:2019-08-25 03:29:05

标签: excel excel-formula

因此,下面有一个我想做的事的例子。 基本上,只有在Index Column BSheet 1中的值大于0的情况下,才需要从Sheet 2Column W的{​​{1}}中。如果不是,那么我就不这样做了。 t索引的唯一列是从第5行开始到100的Sheet 1。与B相同。

我发现This与我想要做的非常相似,但我不知道自己是怎么做的。

Column W

2 个答案:

答案 0 :(得分:2)

编辑#3

您可以使用 SMALL LARGE 函数从Column B上的Sheet1返回值。

假设您已给以下名称

  1. Sheet1ColB Sheet1!B5:B100
  2. Sheet1ColW Sheet1!W5:W100

这是要放在Sheet2上的单元格B5 中的公式。请注意,这是一个数组公式,因此您需要按 Ctrl + Shift + Enter 进行确认。

{=IFERROR(INDEX(Sheet1ColB,SMALL(IF((Sheet1ColW>0)*(LEN(Sheet1ColW)>0),ROW(Sheet1ColW)),ROW()-4)-4),"")}

{=IFERROR(INDEX(Sheet1ColB,LARGE(IF((Sheet1ColW>0)*(LEN(Sheet1ColW)>0),ROW(Sheet1ColW)),ROW()-4)-4),"")}

然后,您可以使用 INDEX + MATCH 从位于您的{strong> C列中的Sheet1 W列中返回值。 Sheet2

=IFERROR(INDEX(Sheet1ColW,MATCH(B5,Sheet1ColB,0)),"")

enter image description here

在上面的屏幕快照中,解决方案2使用的是 AGGREGATE ,该逻辑与 SMALL / LARGE 相同。

如您所见,示例数据已考虑了Sheet 1 Col W中重复的值,{{1的 W 列和B 列中的空白单元格}}和空白单元格,仅在Sheet1 B列中为负值或0

干杯:)

答案 1 :(得分:1)

使用AGGREGATE()公式根据条件进行过滤。

=IFERROR(INDEX($A$5:$A$8,AGGREGATE(15,6,(ROW($A$5:$A$8)-ROW($A$4))/($B$5:$B$8>0),ROW(1:1))),"")

enter image description here