潘恒生
发表于 2021-12-13 18:52:44
万金油,你说的是,,=index(a:a,MODE.MULT(IF(A1:A99<>"",ROW(1:99)+{0,0})))
拒绝舔狗
发表于 2021-12-14 21:34:09
公式名称管理器
名称填写→
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)
杨柳飘飘
发表于 2021-12-19 13:15:26
刚开始我也是用的 N(OFFSET(INDIRECT在单元格可以,但是放到名称里面后,数据验证无法使用,你这个成功了吗?我试了一下不行
史海明
发表于 2021-12-30 01:46:40
试试才知,我这边试了可以!
想起琴声
发表于 2022-1-1 19:06:55
超出认知了。
这个公式里 {0,0} 是什么意思?是将非空的行数 格式化?变成{1,1} {2,2}{FALSE,FALSE}的意思么?
因为我在excel里点公式看结果是这么个结果。
如果是的话,再用MODE.MULT函数 取出出现次数最多的行 是什么意思? 是因为{FALSE,FALSE}最多?
那再用offset函数 偏移 怎么就过滤了那些空行。。。。
麻烦大神讲解下思路,不想一直做伸手党。。。
用户郭靖
发表于 2022-1-4 19:57:14
在excel里分解了下公式,理解了{0,0}的意思了。
应该就是格式化下,让有数据的变成{1,1}这样的数组
然后通过MODE.MULT 取得重复的数字,也就是{1,1},{2,2}这种。
结果得到非空的行号。
但offset(A1,非空行号数组,)这样的公式在我这没成功啊 定义了名称 用sum看下结果 和预想的不一致啊。
如图,黄色cell那sum下提供的公式结果,是6 但想要的不应该是1,3,5,7,8 也就是和17吗
时间哪去了
发表于 2022-1-9 22:07:53
注意:→-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-1-10 04:05:31
厉害。offset的参数居然还能用数组。。。
有了-1 完美解决。
沈明明
发表于 2022-1-15 18:58:23
试了一下,直接在名称中使用较复杂的公式没有创建成功,下面方法需要添加辅助区域:(1)在 E列 提取要引用的内容,将空单元格排除(假设数据源为100行)
=IFERROR(OFFSET($A$1,SMALL(IF($A$1:$A$100<>"",ROW($1:$100)),ROW(A1))-1,0),"々")
(2)创建名称
=OFFSET(Sheet1!$E$1,0,0,COUNTIFS(Sheet1!$E$1:$E$100,"<>々",Sheet1!$E$1:$E$100,"<>"))
(3)使用数据验证测试
开辟鸿蒙
发表于 2022-1-17 03:51:44
万金油,你说的是,,=index(a:a,MODE.MULT(IF(A1:A99<>"",ROW(1:99)+{0,0})))