本帖最后由 tmplinshi 于 2024-9-4 22:43 编辑
- =LAMBDA(rg, LET(
- ids, LET(
- colA, INDEX(rg, , 1),
- colB, INDEX(rg, , 2),
- uniqB, UNIQUE(colB),
- TOCOL(IFNA(MATCH(uniqB, colA, 0) / 0, uniqB), 2)
- ),
- fn, LAMBDA(fn, id, [i], [p], LET(
- i, i + 1,
- a, INDEX(rg, i, 1),
- b, INDEX(rg, i, 2),
- p, IF(ISOMITTED(p), VSTACK(id), p),
- isMatch, ISNUMBER(MATCH(b, p, 0)),
- n, isMatch * INDEX(rg, i, 5),
- newP, IF(isMatch, VSTACK(p, a), p),
- IF(i < ROWS(rg), SUM(fn(fn, id, i, newP), n), n)
- )),
- HSTACK(ids, MAP(ids, LAMBDA(id, fn(fn, id))))
- ))(A2:E11)
复制代码 只适用于上级 id 在前面的情况。例如把第8行“7, 1, 10, 2, 8”放在首行,会统计出错。
Excel 365 可用。WPS 不知道为什么不行。
|