In the docs for
Excel::Writer::XLSX there is a section on formulas titled 'Non US Excel functions and syntax' which states:
Excel stores formulas in the format of the US English version, regardless of the language or locale of the end-user's version of Excel. Therefore all formula function names written using Excel::Writer::XLSX must be in English.
So you need to change the
=NB.SI to
=COUNTIF. The same section also states:
Formulas must be written with the US style separator/range operator which is a comma (not semi-colon).
So you need to change the
E;A$current_line to
E,A$current_line.
$README->write_row("A$current_line", [$_, "=COUNTIF('$out'!E:E,A$curre
+nt_line)"]);
When I made those two changes to your example code the formulas worked correctly.