Excel 问题 - 列出同时符合条件的资料

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:10:59
借用别人的范例

1 样品名称 日期 配方号 数量 水分 判定
2 100 6月2日 1228-1 1.5 8.61 合格
3 101 6月2日 1228 1.5 7 合格
4 102 6月2日 0831 3 6.86 合格
5 103 6月2日 1228-1 4.5 2.64 合格
6 102 6月2日 1228-1 1.5 2.58 合格
7 101 6月5日 0113-1 1.5 4.09 合格
8 103 6月6日 0508 1.5 5.82 合格
9 101 6月6日 1228-1 1.5 9 合格

用 wodaxiaopengyo 前辈提供的函数
=OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=101,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)

可以列出如下结果

样品名称 日期 配方号 数量 水分 判定
101 6月2日 1228 1.5 7 合格
101 6月5日 0113-1 1.5 4.09 合格
101 6月6日 1228-1 1.5 9 合格

但如果要同时符合样品名称=101及水分>5的条件再列出要如何做?
我试着用AND连结,但无法成功,如下:
=OFFSET(Sheet1!$A$1,SMALL(IF(AND(Sheet1!$A$2:$A$11=101,Sheet1!$E$2:$E$11>5),ROW($A$1:$A$10),4^7),ROW()-8),COLUMN()-1,)

问题似乎出在AND无法得到阵列的结果供IF使用,这是为何呢?
请高手们帮忙了,谢谢!

PS.我的财富只有20,故只能悬赏20了~

=OFFSET(Sheet1!$A$1,SMALL(IF((Sheet1!$A$2:$A$11=101)*(Sheet1!$E$2:$E$11>5),ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)

建议这种问题在实际工作中还是用自动筛选或高级筛选是很方便、高效的。
Offset本身是个易失性函数,如果数据一多,用到的公式也多,处理起来会非常慢。不妨把方括号的公式的第一参数改成:sheet1!$A$1:$F$1,选择一个六列一行的区域输入数组公式会使计算更快点