summaryrefslogtreecommitdiff
path: root/calc.go
diff options
context:
space:
mode:
authorww1516123 <ww1516123@126.com>2022-06-14 15:04:43 +0800
committerGitHub <noreply@github.com>2022-06-14 15:04:43 +0800
commit7f570c74f8623aec6e8f89ff3701f28c3a256ffe (patch)
treef9789691e231101a085eac7b40c5e2cdcd4870cf /calc.go
parentd490a0f86f02f7f2eeabd8a0f38cbaa82a669187 (diff)
Fix the problem of multi arguments calculation (#1253)
Diffstat (limited to 'calc.go')
-rw-r--r--calc.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/calc.go b/calc.go
index a485a61..7e89502 100644
--- a/calc.go
+++ b/calc.go
@@ -899,6 +899,13 @@ func (f *File) evalInfixExp(sheet, cell string, tokens []efp.Token) (formulaArg,
if result.Type == ArgUnknown {
return newEmptyFormulaArg(), errors.New(formulaErrorVALUE)
}
+ // when thisToken is Range and nextToken is Argument and opfdStack not Empty, should push value to opfdStack and continue.
+ if nextToken.TType == efp.TokenTypeArgument {
+ if !opfdStack.Empty() {
+ opfdStack.Push(result)
+ continue
+ }
+ }
argsStack.Peek().(*list.List).PushBack(result)
continue
}