Skip to content

Very slow SUMIF performance when using "Row Range Notation" #2056

@grahamorrell

Description

@grahamorrell

Description

I have an Excel workbook (minimal example attached) which has some SUMIF( ) formulae that use "Row Range Notation", for example :

=SUMIF(2:2, B11, 4:4)

These perform very poorly in Excelize despite there only being 25 columns in the worksheet. To calculate the sum of 8 of these SUMIF( ) statements takes over 3 seconds.

If I change the SUMIFs to also specify the columns, for example :

=SUMIF(B2:Y2, B11, B4:Y4)

Performance is dramatically improved, taking just 8 milliseconds to calculate the sum of 8 of them.

Steps to reproduce the issue:

  1. Call CalcCellValue on a SUMIF( ) using Row Range Notation

Describe the results you received:

image

Describe the results you expected:

Performance should be almost identical in both cases because the sheet only has 25 columns.

Output of go version:

N/A

Excelize version or commit ID:

excelize-wasm 0.0.7

Windows
SUMIF Performance.xlsx

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions