Merge pull request #305 from PowerKiKi/fix_SUMIF_condition_including_double_quote

Double quote support for SUMIF() condition
This commit is contained in:
Mark Baker 2014-02-23 16:02:10 +00:00
commit 0322690991
2 changed files with 20 additions and 3 deletions

View File

@ -316,7 +316,12 @@ class PHPExcel_Calculation_Functions {
} else { } else {
preg_match('/([<>=]+)(.*)/',$condition,$matches); preg_match('/([<>=]+)(.*)/',$condition,$matches);
list(,$operator,$operand) = $matches; list(,$operator,$operand) = $matches;
if (!is_numeric($operand)) { $operand = PHPExcel_Calculation::_wrapResult(strtoupper($operand)); }
if (!is_numeric($operand)) {
$operand = str_replace('"', '""', $operand);
$operand = PHPExcel_Calculation::_wrapResult(strtoupper($operand));
}
return $operator.$operand; return $operator.$operand;
} }
} // function _ifCondition() } // function _ifCondition()

View File

@ -521,7 +521,7 @@ class MathTrigTest extends PHPUnit_Framework_TestCase
array('"text with quotes"'), array('"text with quotes"'),
array(2), array(2),
), ),
'=""text with quotes""', '="text with quotes"',
array( array(
array(10), array(10),
array(100), array(100),
@ -533,13 +533,25 @@ class MathTrigTest extends PHPUnit_Framework_TestCase
array('"text with quotes"'), array('"text with quotes"'),
array(''), array(''),
), ),
'>""', // Compare to the single characater " (double quote) '>"', // Compare to the single characater " (double quote)
array( array(
array(10), array(10),
array(100), array(100),
), ),
10 10
), ),
array(
array(
array(''),
array('anything'),
),
'>"', // Compare to the single characater " (double quote)
array(
array(10),
array(100),
),
100
),
); );
} }