excel中,如何在公式中引用某单元格中的数值作为行列号进行计算。
然后在A3中想得到 sum(c11:c23)的值。
A1和A2里的数值常变动。 展开
一、这可以用INDIRECT函数来完成。
二、INDIRECT函数的定义:
返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,请使用函数 INDIRECT。
语法
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-样式的引用。
三、举例
(1)假设在A1单元格中写入“B100”这样的数据,想在B1单元格得出B100单元格的内容(即A1单元格写入文本单元格地址,在B1单元格得出这个单元格的内容),则B1单元格写入公式:
=INDIRECT(A1)
(2)假设在A1单元格中写入数字50,想在B1单元格得出C50单元格的内容(即A1单元格写入行数,在B1单元格得出C列该行单元格的内容),则B1单元格写入公式:
=INDIRECT("C"&A1)
(3)假设在A1单元格中写入字母"H",想在B1单元格得出H20单元格的内容(即A1单元格写入列名,在B1单元格得出第20行该列单元格的内容),则B1单元格写入公式:
=INDIRECT(A1&20)
(4)假设在A1单元格中写入字母"G",在B1单元格写入数字40,想在C1单元格得出G40单元格的内容(即A1单元格写入列名,B1单元格写入行数,要得出列名和行数组成的单元格的内容),则C1单元格写入公式:
=INDIRECT(A1&B1)