Hi,
This is a known (and admittedly frustrating) issue with the WriteExcel
formula parser. You can workaround it by massaging the parsed formula
as follows:
#!/usr/bin/perl
use warnings;
use strict;
use Spreadsheet::WriteExcel;
my $workbook = Spreadsheet::WriteExcel->new("bad_file3.xls");
my $sheet = $workbook->add_worksheet();
$sheet->write_col( 0, 0, [ 1 .. 10 ] );
$sheet->write_formula( 0, 1, 3.14159 );
# Workaround for incorrectly parsed formula.
my $match_formula = $sheet->store_formula('=MATCH(B1,A1:A10)');
@$match_formula = map { s/_ref2d/_ref2dV/; $_ } @$match_formula;
$sheet->repeat_formula( 1, 1, $match_formula );
John.
--