在公式中跳过具有特定值的行

时间:2016-02-27 11:01:34

标签: excel rows

我试图使用另一张同一工作簿中的数组创建一个COLUMN,该工作簿省略了具有空值的单元格,如C列所示,这是我需要的

column A   Column B   Column C
 A            15        A
 B            10        B
 C            BLANK     D
 D            7         F
 E            BLANK     
 F            11    

我尝试使用此代码获取错误#NUM

=IFERROR(INDEX('DATE WISE CONSUMPTION'!B$30:B$87,SMALL(IF('DATE WISE CONSUMPTION'!G$30:G$87<>"",ROW('DATE WISE CONSUMPTION'!B$30:B$87)-ROW('DATE WISE CONSUMPTION'!B$30)+1),ROWS(D$30:D31))),"")        

1 个答案:

答案 0 :(得分:0)

'list-unique-with-conditions'数组公式要求第一个单元格上方有一个单元格,以避免循环引用。

在一个未使用的单元格中,作为数组公式¹,

=IFERROR(INDEX('DATE WISE CONSUMPTION'!B$30:B$87, MATCH(0, IF(LEN('DATE WISE CONSUMPTION'!G$30:G$87), COUNTIF('DATE WISE CONSUMPTION'!J$29:J29, 'DATE WISE CONSUMPTION'!B$30:B$87&""), 1), 0)), "")

根据需要填写。

data_wise_consumption

你的公式可以作为一个使用CSE最终确定的数组公式,并进行这种轻微修改,

=IFERROR(INDEX('DATE WISE CONSUMPTION'!B$30:B$87,SMALL(IF('DATE WISE CONSUMPTION'!G$30:G$87<>"",ROW('DATE WISE CONSUMPTION'!B$30:B$87)-ROW('DATE WISE CONSUMPTION'!B$30)+1),ROW(1:1))),"")

您从ROWS(D$30:D31)开始解析为 2 而不是 1 ,以便SMALL function返回第二场比赛开始时,不是第一个。

¹数组公式需要用 Ctrl + Shift + Enter↵完成。如果输入正确,Excel将公式包装在大括号中(例如 {} )。您不要自己键入大括号。一旦正确进入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。尝试并减少对更接近表示实际数据范围的范围的全列引用。数组公式以对数方式计算计算周期,因此将参考范围缩小到最小值是一种好习惯。有关详细信息,请参阅Guidelines and examples of array formulas