BBS

  • 注册
  • 登录
  • 搜索
  • 标签
  • 帮助
BBS » 电脑、手机、平板知识专栏 » (更正)Excel知识兴趣点十四:联合函数制作二级联动下拉列表 » 发表回复

预览帖子

游客


发表回复

用户名 游客 [会员登录]
  (可选)
  • Html 代码 可用
  • 表情 可用
  • Discuz!代码 可用
  • [img] 代码 可用
B I U | 字体 大小
| Align Left Align Center Align Right | Url Email Image | Quote Code
Rremove Format Unlink Undo Redo | Ordered List Unordered List Outdent Indent Float Left Float Right | Table Free Hide | flyflashmp3mtvmusicmusic2
flvmtv2music3
简单功能
  • 仿宋_GB2312
  • 黑体
  • 楷体_GB2312
  • 宋体
  • 新宋体
  • 微软雅黑
  • Trebuchet MS
  • Tahoma
  • Arial
  • Impact
  • Verdana
  • Times New Roman
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
收缩编辑框扩展编辑框
上传附件 描述
文件尺寸: 小于 25000 kb
  [完成后可按 Ctrl+Enter 发布]    恢复数据

主题回顾

zhendeaini 发表于 2014-11-19 18:31

用到公式:

OFFSET($B$1,MATCH($D7,$A:$A,)-1,,,COUNTA(OFFSET($B$1:$F$1,MATCH($D7,$A:$A,)-1,)))

公式分解:

一、MATCH函数(获取位置)

=MATCH($D7,$A:$A,)-1,表示获取$D7所在的位置。因为是从A1($A:$A)开始,而我们的名称是从A2开始的,所以要-1。$D7的值会随着所选不同而不同,所以取得位置值也是跟着改变。例如当$D7=“水果”时,得到“水果”位置为2;当$D7=“笔”时,得到“笔”位置为3,也就是对等它所在的行数(第几行),为匹配OFFSET函数做准备。

二、OFFSET函数(里)(这里主要是获取区域)

=OFFSET($B$1:$F$1,MATCH($D7,$A:$A,)-1,),$B$1:$F$1表示有5个可选项目,这个公式表示$D7的值($D8=“水果”等)所在行的可选区域为$B$1:$F$1。

三、COUNTA函数(统计条件区域每个可选项目非空单元格的个数)

=COUNTA(OFFSET($B$1:$F$1,MATCH($D7,$A:$A,)-1,))

四、OFFSET函数(外)

=OFFSET($B$1,MATCH($D7,$A:$A,)-1,,,COUNTA(OFFSET($B$1:$F$1,MATCH($D7,Sheet1!$A:$A,)-1,)))

这里$B$1(即“明细”)为参照点,MATCH($D7,$A:$A,)-1为偏移的行数,COUNTA(OFFSET($B$1:$F$1,MATCH($D7,$A:$A,)-1,))为返回的引用区域的列数(宽度)。

简单的思路:就是首先获取第一列表$D7的值所在的行,其次在根据$D8的值获取第二列表$E7的可选范围。

举例说明:

[attach]118607[/attach]

当前时区 GMT+8, 现在时间是 2026-4-5 19:00

清除 Cookies - 联系我们 - BBS - WAP - TOP - 界面风格

  • 默认风格
  • 喝彩奥运
  • 深邃永恒
  • 粉妆精灵
  • 诗意田园
  • 春意盎然
  • 黑色

Discuz!

Powered by Discuz! 6.0.0 © 2001-2007 Comsenz Inc.

Processed in 0.036133 second(s), 5 queries, Gzip enabled.