Kaydet (Commit) 470a581b authored tarafından Eike Rathke's avatar Eike Rathke

ScInterpreter::IterateParametersIfs() with external references

Added handling of svExternalSingleRef and svExternalDoubleRef for
SUMIFS, AVERAGEIFS and COUNTIFS.

Change-Id: I99bf6860f2bda5a99aeb85d4e4971032b1c7da0d
üst 2a8470dc
......@@ -5804,11 +5804,28 @@ double ScInterpreter::IterateParametersIfs( ScIterFuncIfs eFunc )
rString = GetString();
break;
case svMatrix :
case svExternalDoubleRef:
{
ScMatValType nType = GetDoubleOrStringFromMatrix( fVal, rString);
bIsString = ScMatrix::IsNonValueType( nType);
}
break;
case svExternalSingleRef:
{
ScExternalRefCache::TokenRef pToken;
PopExternalSingleRef(pToken);
if (pToken)
{
if (pToken->GetType() == svDouble)
{
fVal = pToken->GetDouble();
bIsString = false;
}
else
rString = pToken->GetString();
}
}
break;
default:
{
fVal = GetDouble();
......@@ -5848,6 +5865,8 @@ double ScInterpreter::IterateParametersIfs( ScIterFuncIfs eFunc )
nTab2 = nTab1;
break;
case svMatrix:
case svExternalSingleRef:
case svExternalDoubleRef:
{
pQueryMatrix = PopMatrix();
if (!pQueryMatrix)
......@@ -6002,6 +6021,8 @@ double ScInterpreter::IterateParametersIfs( ScIterFuncIfs eFunc )
nMainTab2 = nMainTab1;
break;
case svMatrix:
case svExternalSingleRef:
case svExternalDoubleRef:
{
pMainMatrix = PopMatrix();
if (!pMainMatrix)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment