如何将Excel中的字母列转换为数字列

  • Share This
Michael Brown

该教程讲述了如何在Excel中使用公式返回列号,以及如何自动对列进行编号。

上周,我们讨论了将列号改为字母的最有效公式。 如果你有一个相反的任务要执行,下面是将列名改为数字的最佳技术。

    如何在Excel中返回列号

    在Excel中,要把一列字母转换成一列数字,你可以使用这个通用公式。

    列(间接( & "1"))

    例如,要得到F列的数字,公式是:。

    =COLUMN(INDIRECT("F"& "1"))

    而这里你可以通过在预定义单元格(在我们的例子中是A2到A7)中输入字母来识别列号。

    =COLUMN(INDIRECT(A2& "1"))

    在B2中输入上述公式,向下拖动到该列的其他单元格,你将得到这样的结果。

    这个公式如何运作。

    首先,你要构建一个代表单元格引用的文本字符串。 为此,你要把一个字母和数字1连接起来。 然后,你把这个字符串交给INDIRECT函数,把它转换成一个实际的Excel引用。 最后,你把这个引用交给COLUMN函数,得到列号。

    如何将列字母转换为数字(非易失性公式)

    作为一个不稳定的函数,如果在一个工作簿中广泛使用,INDIRECT会大大降低Excel的速度。 为了避免这种情况,你可以使用一个稍微复杂的非不稳定的替代方法来识别列号。

    MATCH( & "1", ADDRESS(1, COLUMN(1:1), 4), 0)

    这在动态数组Excel(365和2021)中完美地工作。 在旧版本中,你需要把它作为数组公式输入(Ctrl + Shift + Enter)才能工作。

    比如说。

    =MATCH(A2& "1", ADDRESS(1, COLUMN(1:1), 4), 0)

    或者你可以在所有Excel版本中使用这个非数组公式。

    =MATCH(A2& "1", INDEX(ADDRESS(1, INDEX(COLUMN(1:1), ), 4), ), 0)

    这个公式如何运作。

    首先,你把A2中的字母和行号 "1 "连接起来,构建一个标准的 "A1 "风格的引用。 在这个例子中,我们在A2中有字母 "A",所以得到的字符串是 "A1"。

    接下来,你得到一个字符串数组,代表第一行的所有单元格地址,从 "A1 "到 "XFD1"。 为此,你使用COLUMN(1:1)函数,它生成了一个列号序列,并将该数组传递到 列_num 的参数。

    address(1, {1,2,3,4,5,..., 16384), 4)

    鉴于 行数_num (第一参数)被设置为1,并且 abs_num (第3个参数)设置为4(意味着你想要一个相对引用),ADDRESS函数就会提供这个数组。

    {"A1","B1","C1","D1",…,"XFD1"}

    最后,你建立一个MATCH公式,在上述数组中搜索串联的字符串,并返回找到的值的位置,这与你要找的列号相对应。

    match("a1", {"a1", "b1", "c1", "d1", ..., "xfd1"}, 0)

    使用自定义函数将列字母改为数字

    伟大的艺术家和科学家莱昂纳多-达-芬奇说:"简单是最终的复杂"。 为了以简单的方式从一个字母得到一个列号,你可以创建你自己的自定义函数。

    完全按照上述原则,该函数的代码是尽可能的简单。

    Public Function ColumnNumber(col_letter As String ) As Long ColumnNumber = Columns(col_letter).Column End Function

    在你的VBA编辑器中插入代码,如这里所解释的,你的新函数名为 列号 就可以使用了。

    该函数只需要一个参数。 栏目组 ,这是要转换为数字的列字母。

    ColumnLetter(col_letter)

    你的真实公式可以是这样的。

    =ColumnNumber(A2)

    如果你比较一下我们的自定义函数和Excel的本地函数所返回的结果,你会发现它们是完全一样的。

    返回一个特定单元格的列号

    要获得某个单元格的列号,只需使用COLUMN函数。

    COLUMN( 细胞_地址 )

    例如,要确定B3单元格的列号,公式为:。

    =COLUMN(B3)

    很明显,结果是2。

    获取当前单元格的列字母

    要想知道当前单元格的列号,使用COLUMN()函数,参数为空,所以它指的是公式所在的单元格。

    =COLUMN()

    如何在Excel中显示列数字

    默认情况下,Excel使用A1参考样式,用字母标注列标题,用数字标注行。 要想获得用数字标注的列,将默认的参考样式从A1改为R1C1。 下面是方法。

    1. 在你的Excel中,点击 文件 > 选项 .
    2. Excel选项 对话框,选择 公式 在左边的窗格中。
    3. 隶属 使用公式的工作 ,检查 R1C1参考样式 框,并点击 认可 .

    列标签将立即从字母变为数字。

    请注意,选择这个选项不仅会改变列的标签--单元格地址也会从A1变为R1C1,其中R表示 "行",C表示 "列"。 例如,R1C1指的是第1行第1列的单元格,它对应于A1的引用。 R2C3指的是第2行第3列的单元格,它对应于C2引用。

    在现有公式中,单元格引用将自动更新,而在新公式中,你必须使用R1C1引用样式。

    提示:对 恢复到A1风格 ,取消勾选 R1C1参考样式 中的复选框 Excel选项 .

    如何在Excel中对列进行编号

    如果你不习惯R1C1的引用方式,想在公式中保留A1的引用,那么你可以在我们工作表的第一行插入数字,这样你就同时拥有了--列字母和数字。 这可以在自动填充功能的帮助下轻松完成。

    以下是详细的步骤。

    1. 在A1中,输入数字1。
    2. 在B1,输入数字2。
    3. 选择A1和B1单元格。
    4. 将光标悬停在B1单元格右下角的一个小方块上,该方块被称为 填充手柄 当你这样做时,光标会变成一个粗黑的十字。
    5. 向右拖动填充手柄,直到你需要的那一列。

    因此,你将保留作为字母的列标,而在字母的下面,你将有列号。

    提示:为了在滚动到工作表下面的区域时保持列的数字,你可以冻结顶行。

    这就是在Excel中返回列号的方法。 感谢你的阅读,期待下周在我们的博客上见到你

    供下载的实践工作手册

    Excel列号--实例(.xlsm文件)

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.