如何在 Excel 中根据行号和列号获取单元格的值?
本文将向用户介绍利用 Excel 中的行号和列号生成单元格值的流程。本文的主要目的是描述两种简单的解决此任务的方法。在第一个示例中,使用了已定义的公式,即通过利用 INDIRECT 值,用户可以生成所需的结果。另一方面,第二个示例是使用 VBA 代码生成相同的单元格值。编写 VBA 代码后,用户需要从提供的方法中生成函数调用。
示例 1:使用用户定义公式在 Excel 中根据行号和列号获取单元格值
步骤 1
此工作表包含三列。第一列包含“产品名称”的数据值,第二列包含“产品年龄”的数据,第三列包含“样本编号”。然后在 H3 单元格中为行创建标题,并在 I3 单元格中存储值为 3。类似地,转到 H4 单元格,创建列标题,并在 I4 单元格中存储值为 5。最后,在 H5 单元格中创建标题“结果”。结果值将存储到 I5 单元格中。请参考下方提供的快照。
步骤 2
转到 I5 单元格,键入或粘贴公式“=INDIRECT(ADDRESS(I3,I4))”。请参考下方提供的详细快照。
上述公式的解释
ADDRESS 函数接受两个参数:单元格的行号和列号,并返回一个表示该单元格在 A1 样式表示法中的地址的文本字符串。在本例中,行号由 I3 单元格中的值给出,列号由 I4 单元格中的值给出。例如,如果 I3 包含值 5,I4 包含值 7,则 ADDRESS 函数的结果将是文本字符串“G5”。
INDIRECT 函数接受一个文本字符串参数,该参数表示对 Excel 中的单元格或单元格区域的引用,并返回该单元格或区域的值。在本例中,表示单元格引用的文本字符串是从 ADDRESS 函数获得的,如上所述。因此,如果 ADDRESS 函数的结果是“G5”,则 INDIRECT 函数将返回列 G 和行 5 中单元格的值。
总之,公式 INDIRECT(ADDRESS(I3,I4)) 返回由 I3 和 I4 单元格中分别指定的行号和列号指定的单元格的值。这在您希望使用由工作表中其他单元格确定的动态行号和列号来引用单元格的情况下非常有用。
步骤 3
键入公式后,按“Enter”键以获得所需的结果。
最终获得的结果包含第 3 行和第 5 列的样本编号,即生成的结果为 SMP1。
示例 2:使用 VBA 代码在 Excel 中根据行号和列号获取单元格值
步骤 1
此工作表包含三列。第一列包含“产品名称”的数据值,第二列包含“产品年龄”的数据,第三列包含“样本编号”。请参考下方提供的快照。
步骤 2
要打开 VBA 的代码编辑器,请转到“开发工具”选项卡,然后在“代码”部分下选择“Visual Basic”选项。请参考下方提供的快照。
步骤 3
上述步骤将打开一个“Microsoft Visual Basic for Applications”对话框。
步骤 4
转到菜单栏,然后单击“插入”。然后单击“模块”。请参考下方提供的快照。
步骤 5
上述步骤将打开一个空白代码区域,如下所示。
步骤 6
将下方提供的代码复制到代码窗口。
' function header
Function get_val(r As Integer, c As Integer)
' retrieving data from a provided location
get_val = ActiveSheet.Cells(r, c)
' end of the function header
End Function
使用正确的代码缩进以避免编码错误。代码快照如下所示,请使用它进行完整且精确的代码编写。
步骤 5
声明函数模块后,按“Alt + Q”组合键退出当前对话框。在 Excel 表格中,编写公式“=get_val(I3,I4)”以生成可能的结果。这里,get_val 是函数名称,I3 和 I4 是 Excel 表格的单元格引用。
步骤 6
生成的结果值为 SMP1。请参考下方提供的图片。
结论
本文包含两个示例的说明。这两个示例将执行相同的任务,并且可以根据提供的行号和列值生成相同的样本编号。它们之间唯一的区别在于方法。第一个示例使用公式计算数据,而第二个示例基于提供的 VBA 代码计算结果,并且仅在定义的函数以正确的参数值被调用时才能工作。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP