怀特海
发表于 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()看成一个值。