梓殇雲昕 发表于 2022-1-19 08:24:07

公式名称管理器
名称填写→
A_1
引用位置填写→
=N(Offset($A$1,MODE.MULT(IF($A$1:$A$99<>"",ROW($A$1:$A$99)+{0,0}))-1,))
单元格B列或其他列求和时引用→
=SUM(A_1)

我欲乘风来 发表于 2022-1-19 16:38:21

刚开始我也是用的 N(OFFSET(INDIRECT在单元格可以,但是放到名称里面后,数据验证无法使用,你这个成功了吗?我试了一下不行

你们都是有钱人 发表于 2022-1-21 04:23:45

试试才知,我这边试了可以!

造梦家 发表于 2022-1-29 18:46:53

超出认知了。
这个公式里 {0,0} 是什么意思?是将非空的行数 格式化?变成{1,1} {2,2}{FALSE,FALSE}的意思么?
因为我在excel里点公式看结果是这么个结果。
如果是的话,再用MODE.MULT函数 取出出现次数最多的行 是什么意思? 是因为{FALSE,FALSE}最多?
那再用offset函数 偏移 怎么就过滤了那些空行。。。。
麻烦大神讲解下思路,不想一直做伸手党。。。

豆子净说大实话 发表于 2022-1-31 13:57:36

在excel里分解了下公式,理解了{0,0}的意思了。
应该就是格式化下,让有数据的变成{1,1}这样的数组
然后通过MODE.MULT 取得重复的数字,也就是{1,1},{2,2}这种。
结果得到非空的行号。
但offset(A1,非空行号数组,)这样的公式在我这没成功啊 定义了名称 用sum看下结果 和预想的不一致啊。
如图,黄色cell那sum下提供的公式结果,是6 但想要的不应该是1,3,5,7,8 也就是和17吗

暴躁的团子 发表于 2022-2-4 02:58:15

注意:→-1
=SUM(N(Offset($A$1,MODE.MULT(IF($A$1:$A$99<>"",ROW($A$1:$A$99)+{0,0}))-1,)))
数组公式!请按Shift+Ctrl+Enter结束输入!

藤田美穂 发表于 2022-2-16 15:32:01

厉害。offset的参数居然还能用数组。。。
有了-1 完美解决。
页: 1 2 [3]
查看完整版本: offset 取非空行动态数据