ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5287|回复: 6

[求助] 函数公式中关于混合引用的疑惑

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-1-12 12:02 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
对于应用函数公式还是个小白,正努力学习‘佛山小老鼠’的秘笈宝典
但是在学习经常卡壳,比如现在的这个countif公式中,‘佛山小老鼠’的举例中,输入的公式中包含了相对引用,绝对引用以及混合引用。把我弄的迷糊至极了 ,虽然也查找了excel帮助,但是感觉还是似懂非懂,尤其是在应用的过程中出现的含有引用的例子,不知道为什么用 绝对行相对列或者是相对行绝对列。。 不懂了这个原因,肯定影响以后的应用。。。
现在给大家看一下‘佛山小老鼠’的举例:(因为我不会使用那个动画演示,所以只能采用下面笨拙的方法录入了)

例一:找出下面重复的姓名,且第一次出现不用标示,第二次以上就要标示                       
   
D                                                           E                                                                F                                         
14  小老鼠           =IF(COUNTIF(D14:$D$14,D14)>1,"重复","")
15   王咏梅           =IF(COUNTIF(D$14:$D15,D15)>1,"重复","")
16  刘海萍           =IF(COUNTIF(D$14:$D16,D16)>1,"重复","")
17  任聪            =IF(COUNTIF(D$14:$D17,D17)>1,"重复","")
18  葛晗            =IF(COUNTIF(D$14:$D18,D18)>1,"重复","")
19  王咏梅          =IF(COUNTIF(D$14:$D19,D19)>1,"重复","")                      重复   
20 陈永青          =IF(COUNTIF(D$14:$D20,D20)>1,"重复","")


请各位热心的有时间的高手帮忙解惑:什么时候应用绝对行相对列或者是相对行绝对列,或者其他的你了解的关于引用的方法。i先谢谢各位了。

TA的精华主题

TA的得分主题

发表于 2011-1-12 12:35 | 显示全部楼层
你在E14单元格写公式,=IF(COUNTIF(D14:$D$14,D14)>1,"重复",""),向下拖动单元格,E15公式会自动变化为=IF(COUNTIF(D15:$D$14,D15)>1,"重复","")。判断计算D15的内容在D14:D15范围里面出现的次数。
$D$14是绝对引用,不管怎么拖动都不会变。
D15是相对引用,会根据拖动而变化。

如果要求列不动,行变动,也就是竖着拖动公式,混合引用$D15
如果要求行不动,列变动,也就是横向拖动公式,混合引用D$15

[ 本帖最后由 ddsj 于 2011-1-12 12:36 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-1-12 14:42 | 显示全部楼层
一剑惊心老师有句话“给点美元它就不走了”(意思)
美元符号$ 放在谁的前面,谁就不动了:放在列标前,那么左右拖动、它不动——列绝对,如$D4,右拖左拖引用的都是D列(不上下拉动的话,始终是D4,上下拉动变成D3、D5……);
放在行号面,那么上下拉动、它不动——行绝对,如D$4,上拉下拉引用的都是第四行(不左右拖动的话,始终是D4,左右拖动,就变C4、E4……);
在列标与行号前都放了个美元,那它就死定啦,无论上下拉动、左右拖动,永远是不变的单元格,如$D$4。
推广到出现在公式中单元格区域:
如:
1、A1:A10:右拖一列(下同)变B1:B10;下拉一行(下同)变A2:A11;右拖一列下拉一行,变B2:B11。
2、$A1:A10:右拖变$A1:B10(两列十行);下拉变$A2:A11(一列十行);右拖一列下拉一行,变$A2:B11。
3、$A1:$A10:右拖,依然是$A1:$A10;下拉变$A2:$A11;右拖一列下拉一行,变$A2:$A11。
4、$A1:A$10:右拖,是$A1:B$10;下拉变$A2:A$10;右拖一列下拉一行,变$A2:B$10。
5、$A1:$A$10:右拖,是$A1:$A$10;下拉变$A2:$A$10;右拖一列下拉一行,变$A2:$A$10。
6、$A$1:A10:右拖,是$A$1:B10;下拉变$A$1:A11;右拖一列下拉一行,变$A$1:B11。
7、$A$1:$A10:右拖,是$A$1:$A10;下拉变$A$1:$A11;右拖一列下拉一行,变$A$1:$A11。
8、$A$1:A$10:右拖,是$A$1:B$10;下拉依然$A$1:A$10;右拖一列下拉一行,变$A$1:B$10。
9、$A$1:$A$10:无论右拖下拉,永远是$A$1:$A$10。
此外还有A$1:A10等各种组合,楼主自己体会吧。

[ 本帖最后由 wangjguo44 于 2011-1-12 14:46 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-1-13 10:55 | 显示全部楼层

回复 3楼 wangjguo44 的帖子

谢谢您的详细解答。现在我悟出了其中的意思了,可是好像还不会应用,比如说我在帖子中提到的那些公式中显示的,我有几个不懂的地方,您能帮我解答一下吗?

1、E14单元格中有个‘d14:$d$14,这个如何理解?这能算一个区域?
2.按理说,输入了e14的公式,下拉以后,下面的公式的类型/引用方式应该是一样的,为什么这个例子中e14跟下面的公式的类型/引用方式不一样了呢?

谢谢

TA的精华主题

TA的得分主题

发表于 2011-1-15 23:14 | 显示全部楼层
常规的写法是$D$14:D14,如果只有在竖向复制公式,根本不用管列标变化,就只需要D$14:D14,这是一个区域,虽然只有一个单元格,但公式向下复制时,会变为D$14:D15、D$14:D16……很明显的,带了$的就不会变化,从而达到引用的区域范围变化。

如果在横向上复制公式,需要保持某列标不变的,则需要在列标前面加$号。

具体怎么应用看公式需要如何复制。

TA的精华主题

TA的得分主题

发表于 2011-5-25 11:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-2-23 15:46 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-26 04:07 , Processed in 0.035392 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表