找回密码
 立即注册
搜索

offset 取非空行动态数据

26
回复
828
查看
[复制链接]

1

主题

8

帖子

2

幻币

初入江湖

Rank: 1

积分
8
2021-11-10 19:53:00 显示全部楼层 |阅读模式
想自定义一个名称作为动态数据源。
比如A1~A6为待选动态数据区域,如果其中的cell为空(假设A2),就不要作为数据源 跳过,也就是A1+A3~A6。这样的公式该如何写。
e4ff0bad03aadd6feb1723ac3ea3f8e1.png
PPT学习论坛
回复

使用道具 举报

0

主题

6

帖子

0

幻币

初入江湖

Rank: 1

积分
0
2021-11-11 12:23:59 显示全部楼层
试了一下,直接在名称中使用较复杂的公式没有创建成功,下面方法需要添加辅助区域:(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)使用数据验证测试
6a642251acc5a4ff152dbad45e2ee002.png
OFFSET动态非空数据源.rar (42.44 KB, 下载次数: 140)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

7

帖子

-2

幻币

初入江湖

Rank: 1

积分
0
2021-11-15 01:34:06 显示全部楼层
万金油,你说的是,,=index(a:a,MODE.MULT(IF(A1:A99<>"",ROW(1:99)+{0,0})))
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

幻币

初入江湖

Rank: 1

积分
5
2021-11-17 23:37:49 显示全部楼层
公式名称管理器
名称填写→
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)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-1

幻币

初入江湖

Rank: 1

积分
4
2021-11-24 10:56:59 显示全部楼层
刚开始我也是用的 N(OFFSET(INDIRECT在单元格可以,但是放到名称里面后,数据验证无法使用,你这个成功了吗?我试了一下不行
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-1

幻币

初入江湖

Rank: 1

积分
4
2021-11-24 20:09:38 显示全部楼层
试试才知,我这边试了可以!
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

7

帖子

-1

幻币

初入江湖

Rank: 1

积分
5
2021-11-28 09:39:39 显示全部楼层
超出认知了。
这个公式里 {0,0} 是什么意思?是将非空的行数 格式化?变成{1,1} {2,2}{FALSE,FALSE}的意思么?
因为我在excel里点公式看结果是这么个结果。
如果是的话,再用MODE.MULT函数 取出出现次数最多的行 是什么意思? 是因为{FALSE,FALSE}最多?
那再用offset函数 偏移 怎么就过滤了那些空行。。。。
麻烦大神讲解下思路,不想一直做伸手党。。。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

7

帖子

-1

幻币

初入江湖

Rank: 1

积分
5
2021-11-28 20:38:11 显示全部楼层
在excel里分解了下公式,理解了{0,0}的意思了。
应该就是格式化下,让有数据的变成{1,1}这样的数组
然后通过MODE.MULT 取得重复的数字,也就是{1,1},{2,2}这种。
结果得到非空的行号。
但offset(A1,非空行号数组,)这样的公式在我这没成功啊 定义了名称 用sum看下结果 和预想的不一致啊。
如图,黄色cell那sum下提供的公式结果,是6 但想要的不应该是1,3,5,7,8 也就是和17吗
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

幻币

初入江湖

Rank: 1

积分
4
2021-12-10 12:32:02 显示全部楼层
注意:→-1
=SUM(N(Offset($A$1,MODE.MULT(IF($A$1:$A$99<>"",ROW($A$1:$A$99)+{0,0}))-1,)))
数组公式!请按Shift+Ctrl+Enter结束输入!
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

12

帖子

-1

幻币

初入江湖

Rank: 1

积分
7
2021-12-13 16:53:34 显示全部楼层
厉害。offset的参数居然还能用数组。。。
有了-1 完美解决。
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册