EXCEL函数:引用可变的工作表? 我想在一个单元格内,得到任意指定的工作表的A2值,该如何做?
例如:在SHEET1的A1中输入SHEET2后,在A2得到SHEET2中的A2值;若在SHEET1的A1中输入SHEET3,则在A2可得到SHEET3的A2值;A2的公式...
例如:
在SHEET1的A1中输入SHEET2后,在A2得到SHEET2中的A2值;
若在SHEET1的A1中输入SHEET3,则在A2可得到SHEET3的A2值;
A2的公式该怎样写?
如图 展开
在SHEET1的A1中输入SHEET2后,在A2得到SHEET2中的A2值;
若在SHEET1的A1中输入SHEET3,则在A2可得到SHEET3的A2值;
A2的公式该怎样写?
如图 展开
展开全部
其实就是用一个INDIRECT()函数代替你的表格区域,
如你图上的公式,如果用INDIRECT,那公式可以这样写:
=SUMPRODUCT((INDIRECT($K$3&"!B2:B181")=$J6)*((INDIRECT($K$3&"!F2:F181")=M$4)*((INDIRECT($K$3&"!F2:F181")<M$3))))
但好像这逻辑是错误的,M$3哪里有数值啊?呵呵~~你自己看着办吧,主要就是这一部分:
INDIRECT($K$3&"!B2:B181")
另外,像你这种,好像用FREQUENCY会更方便一点,但这个函数比较“深”,如果不懂那就算了~~
如你图上的公式,如果用INDIRECT,那公式可以这样写:
=SUMPRODUCT((INDIRECT($K$3&"!B2:B181")=$J6)*((INDIRECT($K$3&"!F2:F181")=M$4)*((INDIRECT($K$3&"!F2:F181")<M$3))))
但好像这逻辑是错误的,M$3哪里有数值啊?呵呵~~你自己看着办吧,主要就是这一部分:
INDIRECT($K$3&"!B2:B181")
另外,像你这种,好像用FREQUENCY会更方便一点,但这个函数比较“深”,如果不懂那就算了~~
展开全部
工作表名变不变先?
如果工作表名不变的话,按LS那样写Indirect函数就是了。如果随时变化的话,应该写宏表函数。
以2003版本为例,先定义名称(快捷键:Ctrl+F3):
工作表名:=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),)&T(NOW())
依次显示工作表名:
=index(工作表名,,row())
从第一行下拉即可。
根据上面,如果需要引用第一个工作表的A2值,定义好工作表名之后,然后写公式:
=indirect(index(工作表,,1)&"!A2")
如此类推,求第二个表A4:
=indirect(index(工作表,,2)&"!A4")
等等。
如果工作表名不变的话,按LS那样写Indirect函数就是了。如果随时变化的话,应该写宏表函数。
以2003版本为例,先定义名称(快捷键:Ctrl+F3):
工作表名:=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),)&T(NOW())
依次显示工作表名:
=index(工作表名,,row())
从第一行下拉即可。
根据上面,如果需要引用第一个工作表的A2值,定义好工作表名之后,然后写公式:
=indirect(index(工作表,,1)&"!A2")
如此类推,求第二个表A4:
=indirect(index(工作表,,2)&"!A4")
等等。
追问
如图
追答
把附件发到roy.chan@coats.com,或者留一个你的邮箱吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
INDIRECT 函数,详情如下,希望对你有帮助!
将INDIRECT函数中的第一个体参数前加个=号单独放在一个单元格中,出现的结果是一合法的引用地址的话就说明你的公式是对的,像你说的那个就可以写成=INDIRECT(A1&"!A2")就可以了
INDIRECT(ref_text,a1) Ref_text 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果 ref_text 不是合法的单元格的引用,函数 INDIRECT 返回错误值 #REF!。 · 如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。 A1 为一逻辑值,指明包含在单元格 ref_text 中的引用的类型。 · 如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。 · 如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。
编辑本段示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 数据 数据
2 B2 1.333
3 B3 45
4 George 10
5 5 62
公式 说明(结果)
=INDIRECT($A$2) 单元格A2中的引用值(1.333)
=INDIRECT($A$3) 单元格A3中的引用值(45)
=INDIRECT($A$4) 如果单元格B4有定义名“George”,则返回定义名的值(10)
=INDIRECT("B"&$A$5) 单元格A5中的引用值(62)
当在创建公式时,对某个特定单元格进行了引用。如果使用“剪切”命令,或是插入或删除行或列使该单元格发生了移动,则单元格引用将被更新。如果需要使得无论单元格上方的行是否被删除或是单元格是否移动,都在公式保持相同的单元格引用,请使用 INDIRECT 工作表函数。例如,如果需要始终对单元格 A10 进行引用,请使用下面的语法: =INDIRECT("A10")
将INDIRECT函数中的第一个体参数前加个=号单独放在一个单元格中,出现的结果是一合法的引用地址的话就说明你的公式是对的,像你说的那个就可以写成=INDIRECT(A1&"!A2")就可以了
INDIRECT(ref_text,a1) Ref_text 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果 ref_text 不是合法的单元格的引用,函数 INDIRECT 返回错误值 #REF!。 · 如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。 A1 为一逻辑值,指明包含在单元格 ref_text 中的引用的类型。 · 如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。 · 如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。
编辑本段示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 数据 数据
2 B2 1.333
3 B3 45
4 George 10
5 5 62
公式 说明(结果)
=INDIRECT($A$2) 单元格A2中的引用值(1.333)
=INDIRECT($A$3) 单元格A3中的引用值(45)
=INDIRECT($A$4) 如果单元格B4有定义名“George”,则返回定义名的值(10)
=INDIRECT("B"&$A$5) 单元格A5中的引用值(62)
当在创建公式时,对某个特定单元格进行了引用。如果使用“剪切”命令,或是插入或删除行或列使该单元格发生了移动,则单元格引用将被更新。如果需要使得无论单元格上方的行是否被删除或是单元格是否移动,都在公式保持相同的单元格引用,请使用 INDIRECT 工作表函数。例如,如果需要始终对单元格 A10 进行引用,请使用下面的语法: =INDIRECT("A10")
参考资料: http://baike.baidu.com/view/3222185.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在B1输入=IF(ISERROR(INDIRECT(A1&"!A1")),"",INDIRECT(A1&"!A1"))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询