Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Implement 2 missing Excel functions and adapt 2 existing functions #2199

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jan 28, 2024

Conversation

sbeca
Copy link
Contributor

@sbeca sbeca commented Oct 21, 2023

This branch started with an investigation into some bugs I encountered where under certain circumstances, the PMT and HLOOKUP functions could get into an infinite calculation loop if they referenced cells that hadn't been calculated yet.

Changing them over to the new Adapt function structure solved that issue for me as that auto handles missing values in the new calc-chain system. Adapting PMT was very straightforward, and for HLOOKUP I basically just copied the implementation for VLOOKUP, which had already been changed to Adapt, and switched row/column lookups around.

In the same spreadsheet I was also seeing errors because the IPMT function was being used in the spreadsheet but hadn't been implemented in ClosedXML, so while I was in there I also implemented IPMT and FV (which the IPMT calculation depends on).

@jahav jahav added this to the v0.104 milestone Jan 21, 2024
jahav added 6 commits January 28, 2024 20:58
…OKUP requires sorted values and test data didn't have that.
….g. argument "TRUE" doesn't work while "0.001" does).
Neither spec, not Excel says that it returns #NUM! on zero periods.
When rate is -1, there can be NaN result due to division by zero. Excel treats anything below -1 as #NUM! error.
@jahav jahav merged commit bb4a44f into ClosedXML:develop Jan 28, 2024
@sbeca sbeca deleted the adapt-more-functions branch January 29, 2024 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants