怀特海 发表于 2021-12-21 03:21:27

=INDEX(A:B,SMALL(IF(ISNA(MATCH(LOOKUP(ROW(2:15),IF(A2:A15="户主",ROW(2:15))),(B2:B15<18)*LOOKUP(ROW($2:15),IF(A2:A15="户主",ROW(2:15))),)),99,ROW(2:15)),ROW(1:14)),{1,2})&""

小漠 发表于 2021-12-22 10:14:19

万 金 y0u=IFERROR(INDEX(A:A,SMALL(IFERROR(IF(MATCH(LOOKUP(ROW($2:$15),ROW($2:$15)/($A$2:$A$15="户主")),LOOKUP(IF($B$2:$B$15<18,ROW($2:$15)),ROW($2:$15)/($A$2:$A$15="户主")),),ROW($2:$15)),""),ROW(A1))),"")

如来神猪腿 发表于 2021-12-23 03:11:13

果然还是老大牛叉,我是1个没减下来
你们都好快~~~~

湘怡 发表于 2021-12-27 01:17:51

大佬的公式跟我自己写的如出一辙~~~INDEX(A:B,SMALL(IFNA(IF(MATCH(LOOKUP(ROW(2:15),ROW(2:15)/(A2:A15="户主")),LOOKUP(ROW(2:15)*(B2:B15<18),ROW(2:15)/(A2:A15="户主")),),ROW(2:15)),4^8),ROW(1:14)),{1,2})&""

张松 发表于 2021-12-27 14:17:27

原公式是这样的,供大家参考:
=INDEX(A:A,SMALL(IF(ISNA(MATCH(COUNTIF(OFFSET($A$2,,,ROW($1:15)),"户主"),($B$2:$B16<18)*COUNTIF(OFFSET($A$2,,,ROW($1:15)),"户主"),)),4^8,ROW($2:16)),ROW(A2)))&""
不敢改主题贴了,怕被逮捕~~~
参照各位大佬区域数组公式的写法,还是可以减下来几个: 151
=INDEX(A:B,SMALL(IFNA(MATCH(COUNTIF(OFFSET(A2,,,ROW(1:14)),"户主"),(B2:B15<18)*COUNTIF(OFFSET(A2,,,ROW(1:14)),"户主"),)^0*ROW(2:15),4^8),ROW()-1),{1,2})&""

不装了摊牌了 发表于 2021-12-29 09:03:42

先对户主进行分组,然后判断每个TABLE下面列2是否有包含小于18的值,有就筛选这个table下的户主行和小于18的行,没有就返回null。至于数据不全没认真去验证。

阿涛好靓仔 发表于 2021-12-29 10:41:57


还是PQ好

湖湘道医 发表于 2021-12-29 16:53:30

跟你学一个:
=INDEX(A:B,SMALL(IF(LOOKUP(ROW(),ROW()/(A2:A15="户主"),FREQUENCY(-ROW()^(B2:B15<18),-(A2:A15=A2)*ROW())),ROW(),99),ROW()-1),{1,2})&""

周琴农资批发零售 发表于 2022-1-1 18:03:57

大佬们好强大~~~133字符了。。。
为啥偶的ROW()就不好用呢?
=INDEX(A:B,SMALL(IFNA(MATCH(COUNTIF(OFFSET(A2,,,ROW(1:14)),"户主"),(B2:B15<18)*COUNTIF(OFFSET(A2,,,ROW(1:14)),"户主"),)^0*ROW(2:15),4^8),ROW()-1),{1,2})&""
OFFSET里边的ROW(1:14)动不了,OFFSET外边的ROW(2:15)也动不了!!!
LOOKUP里边的ROW()是好用的,OFFSET里边就不好用,连*号后面的ROW()都不好用!!
大佬请指教~~~非常感谢~~~

疯马 发表于 2022-1-4 08:43:38

OFFSET不支持。
它只会把 ROW()看成一个值。
页: 1 2 3 [4] 5
查看完整版本: 查户口~~~结贴~~~~~