IP Library Granted Patent US 12,437,148
Granted Patent B2
US 12,437,148 · App. 18/649,955 · Granted Oct 7, 2025

Method and system for improved ordering of output from spreadsheet analytical functions

Inventor: Robert E. Dvorak (Portola Valley, CA)
Assignee: Adaptam Inc.
G06F40/18G06F3/0482G06F3/04842G06F40/103G06F16/93
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,437,148
App. No.
18/649,955
Granted
Oct 7, 2025
Kind
B2
Abstract

The disclosed technology creates a family of (predefined formula) spreadsheet functions which allows users to create programming loop equivalents in their regular spreadsheet cells employing familiar range functions (e.g., SUM, COUNT, MIN, MAX, etc.) with data filtering and output selection. The data can be sourced from multiple cells within the spreadsheet or a broad spectrum of numeric, date and text data not stored in a spreadsheet, including data not discretely defined. The technology disclosed can use as inputs either cell ranges or Non-Spreadsheet Cell (NSC) data formulas. The capability allows users to specify standardized or highly custom calculations capable of executing millions of loops through a (predefined formula) spreadsheet function.

Claims (39)

1. A method of generating a result using a spreadsheet functional formula that has a defined set of named arguments that can be specified in an argument list without a predefined ordering of the named arguments, including:

providing a spreadsheet function delivered prebuilt with the spreadsheet with a defined set of keywords that are required or optional and that serve as named arguments;

wherein the name of at least one named argument determines what the at least one named argument does and how it does it;

where the spreadsheet prebuilt function has a name and a first opening and closing character between which the named arguments and any unnamed arguments are located;

where the keywords are uniquely named and do not require a predetermined location among arguments located between the opening and closing character;

where delimiters separate a named argument from other named arguments or non-named arguments;

receiving and parsing at least two arguments, including at least one named argument, as part of the spreadsheet functional formula; and

generating a result consistent with the spreadsheet functional formula and the arguments located between the opening and closing character.

2. The method of claim 1 , wherein a named argument at an end of an argument list following unnamed arguments is recognized without empty argument group delimiters, when trailing unnamed arguments are omitted.

3. The method of claim 1 ,

wherein at least one named argument has a name and a second opening and closing character within which one or more nested arguments reside.

4. The method of claim 1 , wherein the named arguments and non-named arguments are separated by a single delimiter.

5. The method of claim 1 , wherein some or all of the named arguments are within one or more argument groups with a first type of delimiter separating named or non-named arguments within argument groups and a second type of delimiter separating named or non-named arguments in two different argument groups.

6. A non-transitory computer readable medium holding program instructions that, when executed on a processor a computer-implemented system including at least one processor and memory coupled to the processor, the memory holding program instructions that implement a method of generating a result using a spreadsheet functional formula that has a defined set of named arguments that can be specified in an argument list without a predefined ordering of the named arguments, including:

providing a spreadsheet function delivered prebuilt with the spreadsheet with a defined set of keywords that are required or optional and that serve as named arguments;

wherein the name of at least one named argument determines what the at least one named argument does and how it does it;

where the spreadsheet prebuilt function has a name and a first opening and closing character between which the named arguments and any unnamed arguments are located;

where the keywords are uniquely named and do not require a predetermined location among arguments located between the opening and closing character;

where delimiters separate a named argument from other named arguments or non-named arguments;

receiving and parsing at least two arguments, including at least one named argument, as part of the spreadsheet functional formula; and

generating a result consistent with the spreadsheet functional formula and the arguments located between the opening and closing character.

7. The non-transitory computer readable medium of claim 6 , wherein a named argument at an end of an argument list following unnamed arguments is recognized without empty argument group delimiters, when trailing unnamed arguments are omitted.

8. The non-transitory computer readable medium of claim 6 ,

wherein at least one named argument has a name and a second opening and closing character within which one or more nested arguments reside.

9. The non-transitory computer readable medium of claim 6 , wherein the named arguments and non-named arguments are separated by a single delimiter.

10. The non-transitory computer readable medium of claim 6 , wherein some or all of the named arguments are within one or more argument groups with a first type of delimiter separating named or non-named arguments within argument groups and a second type of delimiter separating named or non-named arguments in two different argument groups.

11. A computer-implemented system including at least one processor and memory coupled to the processor, the memory holding program instructions that implement a method of generating a result using a spreadsheet functional formula that has a defined set of named arguments that can be specified in an argument list without a predefined ordering of the named arguments, including:

providing a spreadsheet function delivered prebuilt with the spreadsheet with a defined set of keywords that are required or optional and that serve as named arguments;

wherein the name of at least one named argument determines what the at least one named argument does and how it does it;

where the spreadsheet prebuilt function has a name and a first opening and closing character between which the named arguments and any unnamed arguments are located;

where the keywords are uniquely named and do not require a predetermined location among arguments located between the opening and closing character;

where delimiters separate a named argument from other named arguments or non-named arguments;

receiving and parsing at least two arguments, including at least one named argument, as part of the spreadsheet functional formula; and

generating a result consistent with the spreadsheet functional formula and the arguments located between the opening and closing character.

12. The computer-implemented system of claim 11 , wherein a named argument at an end of an argument list following unnamed arguments is recognized without empty argument group delimiters, when trailing unnamed arguments are omitted.

13. The computer-implemented system of claim 11 ,

wherein at least one named argument has a name and a second opening and closing character within which one or more nested arguments reside.

14. The computer-implemented system of claim 11 , wherein the named arguments and non-named arguments are separated by a single delimiter.

15. The computer-implemented system of claim 11 , wherein some or all of the named arguments are within one or more argument groups with a first type of delimiter separating named or non-named arguments within argument groups and a second type of delimiter separating named or non-named arguments in two different argument groups.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2024
From: DVORAK, ROBERT E.
To: ADAPTAM, INC.
Reel/Frame 067261/0101 →
Continuity (3)
Continuation 17374901 · Jul 13, 2021
Provisional Application 63051283 · Jul 13, 2020
Related Publication 20240303426A1 · Sep 12, 2024
References Cited (69)
US 5604854A · Glassey · 1997 [cited by applicant]
US 6626959B1 · Moise et al. · 2003 [cited by applicant]
US 7747939B2 · Thanu · 2010 [cited by examiner]
US 8161372B2 · Ellis · 2012 [cited by examiner]
US 8726143B2 · Simkhay et al. · 2014 [cited by applicant]
US 9037959B2 · Rapp · 2015 [cited by examiner]
US 9037961B1 · Mansell · 2015 [cited by examiner]
US 9430469B2 · Lam · 2016 [cited by examiner]
US 9817876B2 · Demonsant · 2017 [cited by examiner]
US 10114812B1 · Ghaddar · 2018 [cited by examiner]
US 10140280B2 · Sobhy Deraz · 2018 [cited by examiner]
US 10466867B2 · Boucher · 2019 [cited by examiner]
US 10515145B2 · Canton · 2019 [cited by examiner]
US 10540153B2 · Stachura · 2020 [cited by examiner]
US 10545953B2 · Becker · 2020 [cited by examiner]
US 10628634B1 · Ghaddar · 2020 [cited by examiner]
US 10699068B2 · Gross · 2020 [cited by examiner]
US 10726201B1 · Gross · 2020 [cited by examiner]
US 10789414B2 · Schoedl · 2020 [cited by examiner]
US 10877633B2 · Boucher · 2020 [cited by examiner]
US 10891434B2 · Peyton Jones · 2021 [cited by examiner]
US 10983670B2 · Boucher · 2021 [cited by examiner]
US 11222171B2 · Zhang · 2022 [cited by examiner]
US 11423218B2 · Keslin · 2022 [cited by examiner]
US 11461544B2 · Sarkar · 2022 [cited by examiner]
US 12039258B2 · Dayal · 2024 [cited by examiner]
US 20030056181A1 · Marathe · 2003 [cited by examiner]
US 20060271841A1 · Thanu · 2006 [cited by examiner]
US 20070136652A1 · Ellis · 2007 [cited by examiner]
US 20090319880A1 · Collie et al. · 2009 [cited by applicant]
US 20100269092A1 · Dorman · 2010 [cited by applicant]
US 20130145244A1 · Rothschiller · 2013 [cited by examiner]
US 20130159832A1 · Ingargiola et al. · 2013 [cited by applicant]
US 20150199328A1 · Danziger et al. · 2015 [cited by applicant]
US 20150370433A1 · Lam · 2015 [cited by examiner]
US 20160378842A1 · Demonsant · 2016 [cited by examiner]
US 20170220543A1 · Canton · 2017 [cited by examiner]
US 20170315683A1 · Boucher · 2017 [cited by examiner]
US 20170315967A1 · Boucher · 2017 [cited by examiner]
US 20170315979A1 · Boucher · 2017 [cited by examiner]
US 20180150531A1 · Demonsant · 2018 [cited by examiner]
US 20180157468A1 · Stachura · 2018 [cited by examiner]
US 20180239748A1 · Zhang · 2018 [cited by examiner]
US 20180260374A1 · Sobhy Deraz · 2018 [cited by examiner]
US 20190340219A1 · Schoedl · 2019 [cited by examiner]
US 20200004799A1 · Gross · 2020 [cited by examiner]
US 20200004811A1 · Gross · 2020 [cited by examiner]
US 20200004812A1 · Gross · 2020 [cited by examiner]
US 20200081586A1 · Boucher · 2020 [cited by examiner]
US 20200167415A1 · Peyton Jones · 2020 [cited by examiner]
US 20200257852A1 · Canton · 2020 [cited by examiner]
US 20200285694A1 · Nield · 2020 [cited by examiner]
US 20200302013A1 · Stegmaier et al. · 2020 [cited by applicant]
US 20210081405A1 · Zarras · 2021 [cited by examiner]
US 20210256205A1 · Sarkar · 2021 [cited by examiner]
US 20210286479A1 · Boucher · 2021 [cited by examiner]
US 20210311595A1 · Boucher · 2021 [cited by examiner]
US 20220188505A1 · Keslin · 2022 [cited by examiner]
US 20220229975A1 · Murphy et al. · 2022 [cited by applicant]
US 20240070382A1 · Dayal · 2024 [cited by examiner]
US 20240370644A1 · Dayal · 2024 [cited by examiner]
US 20250094697A1 · McDaid · 2025 [cited by examiner]
Collie et al., Power Pivot and Power BI: The Excel user's guide to DAX, Power Query, Power BI & Power Pivot in Excel 2010-2016. United States: Holy Macro! Books. ISBN: 978-1-61547-039-6 (Year:2016) (Year: 2016). [cited by applicant]
Yundt, What's the difference between array and range in Excel?, Quora, dated Dec. 2, 2019, 4 pages. [cited by applicant]
Sroka et al, Translating Relational Queries into Spreadsheets, IEEE, Transactions on Knowledge and Data Engineering, vol. 27, No. 8, Aug. 2015, 13 pages. [cited by applicant]
U.S. Appl. No. 17/374,898, filed Jul. 13, 2021, now U.S. Pat. No. 11,694,023, Jul. 4, 2023, Issued. [cited by applicant]
U.S. Appl. No. 18/217,981, filed Jul. 3, 2023, US20240028821, Jan. 25, 2024, Allowed. [cited by applicant]
U.S. Appl. No. 17/903,934, filed Sep. 6, 2022, US2023/0075557A1, Mar. 9, 2023, Allowed. [cited by applicant]
U.S. Appl. No. 18/586,370, filed Feb. 23, 2024, Pending. [cited by applicant]