my $header_Row = $wks->Range("A:A")->{'Value'}; my ($FirstNameColumn) = grep { $header_Row->[$_ - 1] =~ /firstname/i} 1..@header_Row; My $currrentRow="18"; Whatever row you are on now my $FirstName = $wks->Cells($currentRow,$FirstNameColumn)->{'Value'};