在Excel上方和下方的列中填充空白

时间:2014-04-16 04:16:56

标签: excel excel-formula

在Excel中,仅使用公式,数据如下所示(其中n / a为空):

121 0 n/a
121 1 n/a
121 2 Y>
121 3 n/a
121 4 Y
121 5 n/a
122 0 Y
122 1 n/a
123 0 n/a
124 0 n/a
124 1 Y

我希望第3列始终显示第二列显示为0的行的Y,如果在第3列的第1列中有任何具有相同数字的Y.

如下:

121 0 Y
121 1 n/a
121 2 Y
121 3 n/a
121 4 Y
121 5 n/a
122 0 Y
122 1 n/a
123 0 n/a
124 0 Y
124 1 Y

或者,为第1列中的每个数字填充Y的所有值,其中第3列中至少有一个Y.

1 个答案:

答案 0 :(得分:0)

您不能将公式放入C列的单元格中,因为您在公式中使用了C列 - 这会导致循环引用。而是将此数组公式粘贴到列D1中(不要忘记按shift-control-enter进入它,因为它是一个数组公式)然后将其复制并粘贴到D列中包含数据的所有其他单元格中A到C列:

=IF((SUM(IF((A:A=A1)*(C:C="Y"),1,0))>0)*(B1=0),"Y",IF(ISBLANK(C1),"",C1))

为了加快计算速度:假设您的数据位于A1:C11,请将其更改为:

=IF((SUM(IF((A1:A11=A1)*(C1:C11="Y"),1,0))>0)*(B1=0),"Y",IF(ISBLANK(C1),"",C1))

这是做什么的:

if a cell in column A equals A1 and a cell in column C is "Y" then add 1 to the
array otherwise add 0.  then if the sum of the array is > 0 and B1 equals 0 then
return "Y" otherwise return C1 (or "" if C1 is blank)

这给出了这个结果:

 A     B    C    D
121    0         Y
121    1
121    2    Y    Y
121    3
121    4    Y    Y
121    5
122    0    Y    Y
122    1
123    0
124    0         Y
124    1    Y    Y