File Exchange

image thumbnail

Column Converter for Excel

version 1.1 (2.25 KB) by

Convert Excel column letters to numbers or vice versa, for processing data to/from XLSREAD/XLSWRITE.

29 Downloads

Updated

View License

B = XLSCOL(A) takes input A, and converts to corresponding output B. The input may be a number, a string, an array or matrix, an Excel range, a cell, or a combination of each within a cell, including nested cells and arrays.

The output maintains the shape of the input and attempts to "flatten" the cell to remove nesting.

Numbers and symbols within strings or Excel ranges are ignored.

Examples:
  xlscol(256) % returns 'IV'
  xlscol('IV') % returns 256
  xlscol('A1:IV65536') % returns [1 256]

See more examples in help comments.
 
Notes:
  CELLFUN and ARRAYFUN allow the program to recursively handle multiple inputs. An interesting side effect is that mixed input, nested cells, and matrix shapes can be processed.

Acknowledgment:
  I adapted the modular math from Mike Sheppard's program ExcelCol, to properly handle the conversion from column number to strings. His program is at http://www.mathworks.com/matlabcentral/fileexchange/27182-excel-column-conversion

Comments and Ratings (3)

Love it!

Richard Crozier

Nice, thanks.

Updates

1.1

Vectorized loop under ISNUMERIC, and added right parenthesis to incorrect example.

MATLAB Release
MATLAB 7.10 (R2010a)
Acknowledgements

Inspired by: Excel Column Conversion

Inspired: xlsrange

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video