diff options
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/tool/interpr4.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index bd84fa625afd..dc0e00f10c1f 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -1398,7 +1398,13 @@ bool ScInterpreter::ConvertMatrixParameters() ScParameterClassification::Type eType = ScParameterClassification::GetParameterType( pCur, nParams - i); if ( eType != ScParameterClassification::Reference && - eType != ScParameterClassification::ReferenceOrForceArray) + eType != ScParameterClassification::ReferenceOrForceArray && + // For scalar Value: convert to Array/JumpMatrix + // only if in array formula context, else (function + // has ForceArray or ReferenceOrForceArray + // parameter *somewhere else*) pick a normal + // position dependent implicit intersection later. + (eType != ScParameterClassification::Value || bMatrixFormula)) { SCCOL nCol1, nCol2; SCROW nRow1, nRow2; |