my %colnum_for_name; $Worksheet = $excel->Worksheet("..."); foreach my $col ($Worksheet->{MinCol} .. $Worksheet->{MaxCol}) { my $cell = $Worksheet->{Cells}[0][$col]; if ($cell) { $colnum_for_name{ $cell->{Val} } = $col; } } # later my $someval = $Worksheet->{Cells}[$x][$colnum_for_name{'price'}];