作者:乔山办公网日期:
返回目录:excel表格制作
EXCEL函数不能获取当前单元格的值,因为对函数来说,当前单元格就是自身所在单元格,对自身的引用会产生循环引用错误
如果是VBA,则用Activecell.value获取当前单元格的值
使用copy公式中INDIRECT函数即可实现这样的引用:
例如:
单元格A1=100
单元格B1=A100(注意这个100是根据单元格A1的值动态变化的知)
那么单道元格B1的公式可以改写为:
=INDIRECT("A"&A1)
又例如:
单元格A1=2
单元格A2=100
单元格C1=SUM(B1:B100)(注意公式中2、100是根据单元格A1、A2的值动态变化的)
那么单元格C1的公式可以改写为:
=SUM(INDIRECT("B"&A1&":B"&A2))
ref_text是表示引用的字符串百,如A1,A1:B10等
=indirect("A1")与=A1等价。
同理
indirect("A1:B10")相当于引用A1:B10区域。
由于引用中的字符串不能随添加或删除行列而自动改变,度因此也有人称之为知绝对之绝对引用。
al为indirect函数的可选参数,有两个取值范围,0或1,在省略时取默认值1,即A1引用,当a1取0时,引用变为R1C1引用。
如indirect("R1C2",0)表示从第1行第2列的单元道格,即B1单元格。
indirect("RC3",0)表示引用当前专单元格所在行,属第3列的单元格。
indirect("R2C",0)表示引用第2行,当前单元格所在列的单元格。
INDIRECT("R[3]C[4]",0)表示引用当前单元格向下3行,向右4列的单元格,如果当前单元格为C2,则引用的为G5单元格。
indirect("R1C1:R2C3",0),引用的为A1:C2区域
=INDIRECT("B1")注意一定要B1两头加双引号,此函数多用于变量判定
假如我一个工作来簿里面有甲乙丙丁,查询表合计5个工作表,
我要在查询表中变源量查询A4对应的值
=VLOOKUP(A4,INDIRECT(B$1&"!A:B"),2,0)
也就是当B1内容为甲时,就在甲表的A:B列为查找zhidao区域,
当B1内容输入丙时,就在丙表的A:B列为查找区域。