SpreadJS绝对引用和相对引用

Excel公式中的单元格引用有A1和R1C1两种格式,同时也有绝对引用和相对引用两种方式。SpreadJS完全支持Excel的引用方式。

发布于 2016/07/29 00:00

Excel公式中的单元格引用有A1和R1C1两种格式,同时也有绝对引用和相对引用两种方式。SpreadJS完全支持Excel的引用方式。下面让我们了解下SpreadJS公式中的单元格引用。

1. A1引用样式

每一个单元格可以通过一个列字母加一个行数字的形式引用。列字母从A到Z然后从AA到ZZ,AAA到ZZZ……。行数字则从1到2,147,483,648。比如D50表示D列第50行。

A1引用样式是最常用最熟悉的引用方式,也是SpreadJS默认的引用样式。

2. R1C1引用样式

每一个单元格直接通过在行书和列数前加上R和C引用。例如R2C3表示第二行第三列的那个单元格。

R1C1并不常用,但是通过在代码中设置公式非常方便,我们无需将已知单元格的行列转换成A1引用样式,直接通过字符拼接的方式便可生成公式,例如 formula = ‘R’+row+ ‘C’+col;

SpreadJS使用referenceStyle方法设置引用样式。

spread.referenceStyle(GcSpread.Sheets.ReferenceStyle.R1C1);

//spread.referenceStyle(GcSpread.Sheets.ReferenceStyle.A1);

3. 绝对引用和相对引用

单元格相对引用是指单元格公式引用的单元格是相对于自己的位置。例如,当从单元格 C2 引用单元格 A2,实际上引用的单元格是两个列的左侧 (减去 A 的 C) 和 (2) 的同一行中。默认情况下,单元格引用是相对的。

单元格绝对引用是指单元格公式中引用的单元格是sheet中的绝对位置,与自己的位置无关。

在A1样式引用中,A1为相对引用,如使用绝对引用只需加上美元符号$,绝对引用A1单元格的公式为=$A$1。

在 R1C1样式引用中,R1C1为绝对引用,相对引用时需要添加相对位置,比如R[-1]C[-1]表示相对自己行列各减1即左上角的单元格。

在使用中相对引用和绝对引用有什么区别呢?

    a) 粘贴复制时,相对引用复制的是相对关系,绝对引用指向同一个单元格。

        例如我们设置C3单元格引用A1

clip_image001

        当我们将C3复制粘贴到C4时会发现C4指向了A2。

clip_image002

        同样如果我们设置D3绝对引用A1

clip_image003

        然后复制D3到D4,会发现D4仍然引用的是A1,这就是绝对引用。

clip_image004

    b) 拖拽填充

clip_image005

clip_image006

        当我们分别对相对引用单元格和绝对引用单元格拖拽填充,绝对引用始终指向同一个单元格,而相对引用还是指向相对位置。

clip_image007

4. 混合引用

混合饮用即同时使用相对引用和绝对引用,比如$A1,R[1]C1。

CD1E.tmp

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的开发者社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态