diff options
author | Daniel Rentz [dr] <daniel.rentz@oracle.com> | 2012-12-15 00:57:00 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2012-12-15 21:46:45 +0100 |
commit | be42c9c1087e18554940525231305a2c7e699acc (patch) | |
tree | 60dee1b8b7c6ff6c3356c5b78ab68657dd9422de /sc/source/filter/excel/xeformula.cxx | |
parent | 5d5ab4368a0ad0d520ca1728282d9fbb8d9f32bd (diff) |
calcishmakkica: #i117283# support new functions in Excel filters
AVERAGEIF, AVERAGEIFS, COUNTIFS, SUMIFS
Merged from Apache OO with adaptions.
http://svn.apache.org/viewvc?rev=1381452&view=rev
Original Apache OO committer: Andrew Rist <arist@apache.org>
Original Author: Daniel Rentz [dr] <daniel.rentz@oracle.com>
Original Committer: Daniel Rentz [dr] <daniel.rentz@oracle.com>
# HG changeset patch
# User Daniel Rentz [dr] <daniel.rentz@oracle.com>
# Date 1299664669 -3600
# Node ID 89feb2fb2947d76a15e2de8bc1def1edf20e4f88
# Parent 1bf6d73db8a4ee709aa4d9d9d827efafc9c611d2
Change-Id: Ia70075284c5921faea58cae986e4e5eb090b1fab
(cherry picked from commit ba950a50b0d0863e18ef781214eaaff9a8684790)
Diffstat (limited to 'sc/source/filter/excel/xeformula.cxx')
-rw-r--r-- | sc/source/filter/excel/xeformula.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx index bc66024db65f..d450dfed4b76 100644 --- a/sc/source/filter/excel/xeformula.cxx +++ b/sc/source/filter/excel/xeformula.cxx @@ -202,11 +202,14 @@ void XclExpFuncData::IncParamInfoIdx() if( mpParamInfo ) { // move pointer to next entry, if something explicit follows - if( (static_cast<size_t>(mpParamInfo - mrFuncInfo.mpParamInfos + 1) < EXC_FUNCINFO_PARAMINFO_COUNT) && (mpParamInfo[ 1 ].meValid != EXC_PARAM_NONE) ) + if( (static_cast< size_t >( mpParamInfo - mrFuncInfo.mpParamInfos + 1 ) < EXC_FUNCINFO_PARAMINFO_COUNT) && (mpParamInfo[ 1 ].meValid != EXC_PARAM_NONE) ) ++mpParamInfo; // if last parameter type is 'Excel-only' or 'Calc-only', do not repeat it else if( IsExcelOnlyParam() || IsCalcOnlyParam() ) mpParamInfo = 0; + // points to last info, but parameter pairs expected, move to previous info + else if( mrFuncInfo.IsParamPairs() ) + --mpParamInfo; // otherwise: repeat last parameter class } } |