请教EXCEL高手!

我在一张表的A列中的单元格里需要建立公式,公式要求依次取B列中不为零的数字,B列中的数字是不固定的,B列中任何一个单元格可能为零也可能不为零.
就是说:A1=B列中第一个不为零的数字,A2=B列中第二个不为零的数字.....以次类推.

请求高手的赐教.若能解决,50分赠予高手!
taujin,你的回答完全不对,假如B1为0时,A1中内容为空,我说的是A列中的每个单元格都有内容,是自动判断B列中不为0的内容,并依次排序.(A1=B列中第一个不为零的数字,A2=B列中第二个不为零的数字.....以次类推. )

smallcolour的公式看不懂,但是输入A1之后,只有A1中有B1中的内容,A列中的其他单元格都没有内容.

A1输入下面公式,然后向下填充(随便你填充多少行,填充整个A列也可以),现空白单元格时,即为完成.
=IF(ROW()>COUNT(IF($B$1:$B$1000<>0,ROW($B$1:$B$1000),"")),"",(INDIRECT("b"&SMALL(IF($B$1:$B$1000<>0,ROW($B$1:$B$1000),""),ROW()))))

我上面是假设B的范围为1000个.在这个范围内增减数据,A中会自动变化(A填充的足够多)

你可以将B1:B1000改成B:B,但是拖的时候,电脑速度可能会变慢.
**********
不好意思,忘记说了.在A1中复制好公式后,要在编辑状态下,同时按下CTRL+SHIFT+ENTER来确定.然后再填充公式.
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-19
在A1单元格中输入
=IF(ROW(B1)>COUNTIF($B$1:$B$1000,">0"),"",INDIRECT("B"&SMALL(IF($B$1:$B$1000<>0,ROW($B$1:$B$1000),""),ROW(B1))))
再按“Ctrl+Alt+Enter”键结束,然后将公式向下复制即可。

-----
修改了一下。
第2个回答  2008-06-19
提醒楼主,smallcolour的公式是数组公式,应该这样操作:

先要选中所有想产生数字的A列数据,如选中A1:A100,然后填上 smallcolour的公式
最后,按ctrl+shift+enter

smallcolour是超级高手,不服不行
第3个回答  2008-06-19
A1=if(B1<>0,B1,"")
再下拉。
相似回答
大家正在搜