Resolves: tdf#158789 operate on query array if no extra array or range given

Also push error and bail out early if there was an error, or more
important pResultMatrix is nullptr.

Change-Id: I1094ed9d14795ea1bc3f4ff61d687cc28d0b94fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168300
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit a523e9bf2d54fc84583c9da05af592297b055e40)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168315
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index e372228..c5113ba 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -5575,7 +5575,8 @@ void ScInterpreter::IterateParametersIf( ScIterFuncIf eFunc )
                ScMatrixRef pResultMatrix = QueryMat( pQueryMatrix, aOptions);
                if (nGlobalError != FormulaError::NONE || !pResultMatrix)
                {
                    SetError( FormulaError::IllegalParameter);
                    PushIllegalParameter();
                    return;
                }

                if (pSumExtraMatrix)
@@ -5599,6 +5600,25 @@ void ScInterpreter::IterateParametersIf( ScIterFuncIf eFunc )
                        }
                    }
                }
                else if (!bSumExtraRange)
                {
                    for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
                    {
                        for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow)
                        {
                            if (pResultMatrix->IsValue( nCol, nRow) &&
                                    pResultMatrix->GetDouble( nCol, nRow))
                            {
                                if (pQueryMatrix->IsValue( nCol, nRow))
                                {
                                    fVal = pQueryMatrix->GetDouble( nCol, nRow);
                                    ++fCount;
                                    fSum += fVal;
                                }
                            }
                        }
                    }
                }
                else
                {
                    for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)