Таблица PHPS и оператор неявного пересечения: @ - PullRequest
0 голосов
/ 04 марта 2020

Я назвал диапазоны в своем шаблоне Excel, и с помощью формулы =MIN(IF(UnitTypes=T43,Rents)) преобразуется в =MIN(IF(@UnitTypes=T43,Rents)) при создании файла. Из-за оператора неявного пересечения: @ формула не будет работать, если я вручную go не введу каждую ячейку и не удалю @.

. Я пытался использовать: =MIN(IF(C:C=T43,L:L)) только для преобразования этого значения в =MIN(IF(@C:C=T43,L:L))

Я также попытался установить именованные диапазоны в PHPSpreadsheet с помощью:

$spreadsheet->addNamedRange( new \PhpOffice\PhpSpreadsheet\NamedRange('UnitTypes', $spreadsheet->getSheet(1), 'C15:C38') );
$spreadsheet->addNamedRange( new \PhpOffice\PhpSpreadsheet\NamedRange('Rents', $spreadsheet->getSheet(1), 'L15:L38') );

$spreadsheet->getSheet(1)->setCellValue('T45','=MIN(IF(UnitTypes=T43,Rents))');

Но это приводит к ошибке #VALUE (тогда как удаление @ снова будет работать.)

Существует ли параметр в PHPSpreadsheet для предотвращения вставки в Excel оператора неявного пересечения?

1 Ответ

0 голосов
/ 16 марта 2020

Это было получено путем перехода в формулу в Excel и удерживания CTRL = SHIFT = ENTER, чтобы заключить формулу в {}

...