IP Library Granted Patent US 12,481,823
Granted Patent B2
US 12,481,823 · App. 18/314,662 · Granted Nov 25, 2025

Predicate-guided preparation for LLM integrations in spreadsheet environments

Inventors: Daniel Fabian (Wabern, CH); Rasika Mudumbai Chakravarthy (Redmond, WA); Carina Suzana Negreanu (Cambridge, GB); John Herbert Martin Williams (Cambridge, GB)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F40/18G06F40/205G06F40/284G06F40/40
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,481,823
App. No.
18/314,662
Granted
Nov 25, 2025
Kind
B2
Abstract

Technology is disclosed herein for the integration of spreadsheet environments and LLM services. In an implementation, an application receives a natural language input from a user associated with a spreadsheet. The application generates a prompt based on the user input and at least a portion of the spreadsheet. The prompt includes a statement of the problem, a request for an LLM service to identify preparatory steps before generating a solution to the problem, and a request to include the preparatory steps in output that includes the solution to problem. The application service receives a reply to the prompt from the LLM service that includes the output. The application service implements the preparatory steps with respect to data in the spreadsheet and implements the solution to the problem with respect to the data in the spreadsheet.

Claims (44)

1 . A computing apparatus comprising:

one or more computer-readable storage media;

one or more processors operatively coupled with the one or more computer-readable storage media; and

an application comprising program instructions stored on the one or more computer-readable storage media that, when executed by the one or more processors, direct the computing apparatus to at least:

receive, via a user interface of the application, natural language input associated with a user of a spreadsheet;

generate a prompt based on the natural language input and a portion of the spreadsheet, wherein the prompt includes a statement of a problem, a request for a large language model (LLM) service to identify one or more preparatory steps before generating a solution to the problem, and a second request to include the one or more preparatory steps in output that includes the solution to the problem;

receive a reply to the prompt that includes the output, wherein the output comprises a spreadsheet formula and the one or more preparatory steps, wherein the one or more preparatory steps include evaluating spreadsheet data for data that violates a predicate, and modifying the data using a cleaning function associated with the predicate;

display, in the user interface, a graphical input device to accept the spreadsheet formula;

receive, via the user interface, a selection of the graphical input device to accept the spreadsheet formula;

implement the one or more preparatory steps with respect to the spreadsheet data, including by evaluating the spreadsheet data for the data that violates the predicate, and executing the cleaning function to modify the data to satisfy the predicate; and

recalculate the spreadsheet data according to the spreadsheet formula.

2 . The computing apparatus of claim 1 , wherein the predicate evaluates a format of the spreadsheet data identified by the LLM service based on the portion of the spreadsheet.

3 . The computing apparatus of claim 2 , wherein the predicate comprises a Boolean operator.

4 . The computing apparatus of claim 1 , wherein the one or more preparatory steps include generating assumptions about the data and testing the assumptions.

5 . The computing apparatus of claim 4 , wherein the one or more preparatory steps include generating predicates for testing the data based on the assumptions.

6 . The computing apparatus of claim 5 , wherein the one or more preparatory steps further include generating a cleaning function comprising operations performed on the data, wherein the operations are associated with the predicates.

7 . The computing apparatus of claim 1 , wherein the program instructions further direct the computing apparatus to display, in the user interface of the application, the solution to the problem.

8 . The computing apparatus of claim 7 , wherein the program instructions further direct the computing apparatus to receive user input indicative of a command to implement the solution to the problem with respect to the data in the spreadsheet.

9 . A method comprising:

receiving, via a user interface of an application, natural language input associated with a user of a spreadsheet;

generating a prompt based on the natural language input and a portion of the spreadsheet, wherein the prompt includes a statement of a problem, a request for a large language model (LLM) service to identify one or more preparatory steps before generating a solution to the problem, and a second request to include the one or more preparatory steps in output that includes the solution to the problem;

receiving a reply to the prompt that includes the output, wherein the output comprises a spreadsheet formula and the one or more preparatory steps, wherein the one or more preparatory steps include evaluating spreadsheet data for data that violates a predicate, and modifying the data using a cleaning function associated with the predicate;

displaying, in the user interface, a graphical input device to accept the spreadsheet formula;

receiving, via the user interface, a selection of the graphical input device to accept the spreadsheet formula;

implementing the one or more preparatory steps with respect to the spreadsheet data in the spreadsheet, including by evaluating the spreadsheet data for the data that violates the predicate, and executing the cleaning function to modify the data to satisfy the predicate; and

recalculating the spreadsheet data according to the spreadsheet formula.

10 . The method of claim 9 , wherein the predicate evaluates a format of the spreadsheet data identified by the LLM service based on the portion of the spreadsheet data.

11 . The method of claim 10 , wherein the predicate comprises a Boolean operator.

12 . The method of claim 9 , wherein the one or more preparatory steps include generating assumptions about the data and testing the assumptions.

13 . The method of claim 12 , wherein the one or more preparatory steps include generating predicates for testing the data based on the assumptions.

14 . The method of claim 13 , wherein the one or more preparatory steps further include generating a cleaning function comprising operations performed on the data, wherein the operations are associated with the predicates.

15 . One or more computer readable storage media having program instructions stored thereon that, when executed by one or more processors operatively coupled with the one or more computer-readable storage media, direct a computing device to:

receive, via a user interface of an application, natural language input associated with a user of a spreadsheet;

generate a prompt based on the natural language input and a portion of the spreadsheet, wherein the prompt includes a statement of a problem, a request for a large language model (LLM) service to identify one or more preparatory steps before generating a solution to the problem, and a second request to include the one or more preparatory steps in output that includes the solution to the problem;

receive a reply to the prompt that includes the output, wherein the output comprises a spreadsheet formula and the one or more preparatory steps, wherein the one or more preparatory steps include evaluating spreadsheet data for data that violates a predicate, and modifying the data using a cleaning function associated with the predicate;

display, in the user interface, a graphical input device to accept the spreadsheet formula;

receive, via the user interface, a selection of the graphical input device to accept the spreadsheet formula;

implement the one or more preparatory steps with respect to the spreadsheet data, including by evaluating the spreadsheet data for the data that violates the predicate, and executing the cleaning function to modify the data to satisfy the predicate; and

recalculate the spreadsheet data according to the spreadsheet formula.

16 . The one or more computer readable storage media of claim 15 , wherein the predicate evaluates a format of the spreadsheet data identified by the LLM service based on the portion of the spreadsheet data.

17 . The one or more computer readable storage media of claim 16 , wherein the predicate comprises a Boolean operator.

18 . The one or more computer readable storage media of claim 15 , wherein the one or more preparatory steps include generating assumptions about the data and testing the assumptions.

19 . The one or more computer readable storage media of claim 18 , wherein the one or more preparatory steps include generating predicates for testing the data based on the assumptions.

20 . The one or more computer readable storage media of claim 19 , wherein the one or more preparatory steps further include generating a cleaning function comprising operations performed on the data, wherein the operations are associated with the predicates.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2023
From: FABIAN, DANIEL; MUDUMBAI CHAKRAVARTHY, RASIKA; NEGREANU, CARINA SUZANA; WILLIAMS, JOHN HERBERT MARTIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063585/0759 →
Continuity (2)
Provisional Application 63489674 · Mar 10, 2023
Related Publication 20240303421A1 · Sep 12, 2024
References Cited (17)
US 8239751B1 · Rochelle · 2012 [cited by examiner]
US 11989507B2 · Tunstall-Pedoe · 2024 [cited by examiner]
US 20040133567A1 · Witkowski · 2004 [cited by examiner]
US 20240249081A1 · UzZaman · 2024 [cited by examiner]
Wachtel et al. “Initial implementation of natural language turn-based dialog system”. 7th International Conference in Intelligent Human Computer Interaction, IHCI 2015, Procedia Computer Science 84 (2016), 49-56 (Year: … [cited by examiner]
Williams, Kelly L. “Using ChatGPT with Excel”. Journal of Accountancy, https://www.journalofaccountancy.com/news/2023/jan/using-chatgpt-with-excel.html, Jan. 30, 2023 (Year: 2023). [cited by examiner]
Ragavan et al. “GridBook: Natural Language Formulas for the Spreadsheet Grid”. IUI '22, Mar. 22-25, 2022, Helsinki, Finland (Year: 2022). [cited by examiner]
Gulwani et al. “NLyze: Interactive Programming by Natural Language for Spreadsheet Data Analysis and Manipulation”. SIGMOD'14, Jun. 22-27, 2014, Snowbird, UT, USA. (Year: 2014). [cited by examiner]
Liu et al. “Lang2LTL: Translating Natural Language Commands to Temporal Specification with Large Language Models”. 6th Conference on Robot Learning (CoRL 2022), Auckland, New Zealand (Year: 2022). [cited by examiner]
Anonymous: “Holy Google Sheets! You Can Now Integrate the ChatGPT APIH”, accessed on link https://ai.plainenglish.io/holy-google-sheets-you-can-now-integrate-the-chatgptapi-b401ac065844, Published on Mar. 8, 2023, retri… [cited by applicant]
Gislason, et al., “Generative AI and spreadsheets”, accessed on https://medium.grid.is/gpt-3-and-spreadsheets-4808acfda30d, Feb. 8, 2023, retrieved on May 3, 2024, 7 pages. [cited by applicant]
Gislason, Hjalmar, “Launching GRID 2.0: the magical surface for numbers”, Retrieved from the URL: https://grid.is/blog/launching-grid-2-0-the-magical-surface-for-numbers, Feb. 14, 2023, 3 Pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/018448, dated Jun. 6, 2024, 16 pages. [cited by applicant]
Kogan, Daniel, “ChatGPT and Excel: Excelhero”, Retrieved from the URL: https://web.archive.org/web/20230306105400/https://excelhero.de/ki/chatgpt-und-excel/, Mar. 6, 2023, 15 Pages. [cited by applicant]
Mcnutt, et al., “On the Design of AI-powered Code Assistants for Notebooks”, arXiv2301.11178, Jan. 26, 2023, 18 pages. [cited by applicant]
Sarkar, et al., “What is it like to program with artificial intelligence?,” In Repository of arXiv:2208.06213v1, Aug. 12, 2022, 26 Pages. [cited by applicant]
International Preliminary Report on Patentability received for PCT Application No. PCT/US2024/018448, mailed on Sep. 18, 2025, 9 pages. [cited by applicant]