Learn R Programming

openxlsx2 (version 1.24)

col2int: Convert spreadsheet column notation to integers

Description

col2int() transforms spreadsheet-style column identifiers (e.g., "A", "B", "AA") into their corresponding integer indices. This utility is fundamental for programmatic data manipulation, where "A" is mapped to 1, "B" to 2, and "ZZ" to 702.

Usage

col2int(x)

Value

An integer vector representing the column indices. Returns NULL

if the input x is NULL, or an empty integer vector if the length of x is zero.

Arguments

x

A character vector of column labels, a numeric vector of indices, or a factor. Supports range notation like "A:Z".

Notes

  • Range expansion via : is performed iteratively until all sequences are resolved into individual integer components.

  • In compliance with spreadsheet software standards, the function validates that indices do not exceed the maximum allowable column limit.

Details

The function is designed to handle various input formats encountered during spreadsheet data processing. In addition to single column labels, it supports range notation using the colon operator (e.g., "A:C"). When a range is detected, the function internally expands the notation into a complete sequence of integers (e.g., 1, 2, 3). This behavior is particularly useful when passing column selections to functions like wb_to_df() or wb_read().

Input validation ensures that only atomic vectors are processed. If the input is already numeric or a factor, the function ensures the values fall within the valid spreadsheet column range before coercion to integers. Note that the presence of NA values in the input will trigger an error to maintain data integrity during index calculation.

See Also

int2col()

Examples

Run this code
# Convert standard labels
col2int(c("A", "B", "Z"))

# Convert ranges to integer sequences
col2int("A:C")

# Mix individual columns and ranges
col2int(c("A", "C:E", "G"))

# Handle numeric inputs
col2int(c(1, 2, 26))

Run the code above in your browser using DataLab