在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.
答案 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