Excel 如何列出满足条件的多行数据?

如图,表B和表C中的公式要怎么写呢?

H3=SUMPRODUCT((MONTH($A$3:$A$100)=$H$2)*($D$3:$D$100=F3)*($B$2:$B$100))-SUMPRODUCT((MONTH($A$3:$A$100)=$H$2)*($D$3:$D$100=F3)*($C$2:$C$100))
下拉
=INDEX(B:B,SMALL(IF(($A$3:$A$100=$M$3)*($D$2:$D$100=$M$2),ROW($A$3:$A$100),65536),ROW(A1)))&""
数组公式,同时按CTRL SHIFT 回车键,然后右拉,下拉公式追问

你的后面一个公式还是不对,能不能帮我解释一下这个公式是什么意思啊

追答

=INDEX(B:B,SMALL(IF(($A$3:$A$100=$M$3)*($D$3:$D$100=$M$2),ROW($A$3:$A$100),65536),ROW(A1)))&""

凡是A列等于M2且D列等于M3

依次获取行号,然后INDEX依次索引,就是你需要的数据

数组公式,必须同时按CTRL  SHIFT 回车键

且A列日期格式和M3,都是日期格式

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-14
在表二的A2单元格中输入
=IF(ROW(1:1)>COUNTA(Sheet1!$C:$C),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$C$2:$C$3000="A",ROW(Sheet1!$2:$3000),4^8),ROW(1:1))))&""
CTRL+SHIFT+回车
向右,然后向下拉。
这里有几个前提,1、你表一原数据不超过我定的3000行,当然你也可改我的定的行数。
2、向下拉,拉到你认为符合条件内容的不可能超过的地方才停,比如你认为最多100行合条件,你就拉到101行才停,不然返回可能不全的。追问

能不能帮我解释一下你这行公式啊,我看不懂啊,谢啦

第2个回答  2019-03-14
G3单元格写公式:
=SUMPRODUCT(($D$3:$D$17=$F3)*(MONTH($A$3:$A$17)=$H$2)*($B$3:$B$17))
下拉填充公式。
J3单元格写公式:
=IFERROR(INDEX($B$3:$B$17,SMALL(IF(($A$3:$A$17=$M$3)*($D$3:$D$17=$M$2)=1,ROW($A$1:$A$15),4^8),ROW($A1)),1),"")
然后选定J3单元格后鼠标点击进去上面的公示栏,然后按Ctrl+Shift+Enter/回车三键(按住Ctrl+Shift两键,然后按Enter/回车),直至公式首尾出现{ },然后向下拖动填充J3单元格公式直到J17单元格。
K3单元格写公式:
=IFERROR(INDEX($C$3:$C$17,SMALL(IF(($A$3:$A$17=$M$3)*($D$3:$D$17=$M$2)=1,ROW($A$1:$A$15),4^8),ROW($A1)),1),"")
然后选定K3单元格后鼠标点击进去上面的公示栏,然后按Ctrl+Shift+Enter/回车三键(按住Ctrl+Shift两键,然后按Enter/回车),直至公式首尾出现{ },然后向下拖动填充K3单元格公式直到K17单元格。追问

能不能帮我解释一下这个公式是啊,结果是出来了,可是我不知道是怎么出来的,还有这个0能不能排除掉?

追答

【去掉0】
J3单元格写公式:
=IFERROR(INDEX($B$3:$B$17,SMALL(IF(($A$3:$A$17=$M$3)*($D$3:$D$17=$M$2)*($B$3:$B$170)=1,ROW($A$1:$A$15),4^8),ROW($A1)),1),"")
然后选定J3单元格后鼠标点击进去上面的公示栏,然后按Ctrl+Shift+Enter/回车三键(按住Ctrl+Shift两键,然后按Enter/回车),直至公式首尾出现{ },然后向下拖动填充J3单元格公式直到J17单元格。
K3单元格写公式:

=IFERROR(INDEX($C$3:$C$17,SMALL(IF(($A$3:$A$17=$M$3)*($D$3:$D$17=$M$2)*($C$3:$C$170)=1,ROW($A$1:$A$15),4^8),ROW($A1)),1),"")
然后选定K3单元格后鼠标点击进去上面的公示栏,然后按Ctrl+Shift+Enter/回车三键(按住Ctrl+Shift两键,然后按Enter/回车),直至公式首尾出现{ },然后向下拖动填充K3单元格公式直到K17单元格。

追问

=IFERROR(INDEX(B:B,SMALL(IF(($A$3:$A$33=$M$3)*($D$3:$D$33=$M$2)*(B$3:B$33""),ROW($A$3:$A$33)),ROW(A1))),"")
帮我看下为什么我这样写也可以呀,结果是一样的,和你的公式少了一些东西

追答

原理是一样的,IFERROR...INDEX...SMALL...IF是标准套路!

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网