当地址在变量中时如何引用单元格

时间:2013-10-07 14:46:51

标签: libreoffice-calc

例如,在表达式中,我如何编写类似A1A(B1)的内容,而不是写地址B1 = 1

3 个答案:

答案 0 :(得分:32)

我认为另一种解释INDIRECT做法的方法就是这样:

如果该范围有效,它会将文本转换为范围。

E.g。如果您有文本A1,它将引用A1。如果你有文字C2:C100,你会得到这个范围。

现在,excel中以范围形式生成文本的最常用方法之一是连接。因此,如果您连接A1CONCATENATE("A","1")),则会获得A1。

您可以在此连词中使用引用。假设单元格B1包含1。

=CONCATENATE("A",B1)

给出文字A1。

因此,要获得单元格A1,您可以使用:

=INDIRECT(CONCATENATE("A",B1))

除了CONCATENATE()函数现在有点长,但不要担心!您可以使用&

=INDIRECT("A"&B1)

同样适用。

如果您有更复杂的内容,例如A1中的C和B1中的32,要引用单元格C32,您可以执行以下操作:

=INDIRECT(A1&B1)

其中包含=INDIRECT("C"&"32")=INDIRECT("C32")和最后=C32

答案 1 :(得分:6)

`INDIRECT'是你需要使用的功能。

来自documentation

语法:

间接(参考; A1)

Ref表示对要返回内容的单元格或区域(文本形式)的引用。

A1(可选) - 如果设置为0,则使用R1C1表示法。如果此参数不存在或设置为0以外的其他值,则使用A1表示法。

实施例

如果A1包含C108作为参考且单元格C108包含值100,则

= INDIRECT(A1)等于100.

= SUM(INDIRECT(“a1:”& ADDRESS(1; 3)))将A1区域内的单元格汇总到具有第1行和第1列定义的地址的单元格这意味着区域A1:C1总计。

答案 2 :(得分:3)

= OFFSET(B1,0,1)

OFFSET(参考,行偏移,列偏移,区域高度默认为1,区域宽度默认为1)

示例1。我们有乘法表,需要找到OFFSET的一些愚蠢理由的答案。

   A   B  C  D  E  F
1      1  2  3  4  5
     ---------------
2  1 | 1  2  3  4  5
3  2 | 2  4  6  8 10
4  3 | 3  6  9 12 15
5  4 | 4  8 12 16 20
6  5 | 5 10 15 20 25

我们说我们需要2x4 = OFFSET(A1,2,4) 或者在这种情况下,切换数字同样有效 = OFFSET(A1,4,2)

示例2。 让我们计算前一个乘法表中所有数字的总和,它们是2或更大。 = SUM(OFFSET(A1,2,2,4,4))