IP Library Granted Patent US 12,229,501
Granted Patent B2
US 12,229,501 · App. 16/847,522 · Granted Feb 18, 2025

Populating values in a spreadsheet using semantic cues

Inventors: Vance Julius Vagell (Kew Gardens, NY); Colleen O'Banion (Brooklyn, NY)
Assignee: Google LLC
G06F40/177G06F16/3331G06F40/18
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,229,501
App. No.
16/847,522
Granted
Feb 18, 2025
Kind
B2
Abstract

A method includes obtaining a table having a first descriptor that is applicable to each cell from a plurality of cells, and a plurality of second descriptors each applicable to a respective cell from the plurality of cells, executing a search function using at least the first descriptor as an input, wherein the search function identifies at least a first data set that is potentially relevant to the plurality of cells, displaying a first candidate data value for a first cell from the plurality of cells, wherein the candidate value is based on the first data set and the respective second descriptor for the first cell, and in response to selection of the first candidate data value, populating the plurality of cells with information from the first data set.

Claims (57)

1. A method, comprising:

presenting, in a first portion of a user interface, a table comprising a plurality of columns each having a unique column name, and a plurality of cells each corresponding to one of the plurality of columns;

identifying a first data source comprising a first data set to be used to populate one or more data values in the table, the first data set comprising a plurality of entries each having a plurality of values;

presenting, in a second portion of the user interface and concurrently with a presentation of the table in the first portion of the user interface, (i) data identifying the first data source comprising the first data, and (ii) a plurality of selectable data elements corresponding to the plurality of entries from the first data source, wherein each of the plurality of selectable data elements, when selected, causes two or more data values of a respective entry from the first data source to be added to two or more of the plurality of cells under two or more unique column names of respective two or more columns of the table;

receiving, via the second portion of the user interface, user input selecting at least one of the plurality of selectable data elements that corresponds to at least one entry of the plurality of entries from the first data set; and

responsive to the user input selecting the at least one of the plurality of selectable data elements that corresponds to the at least one entry from the first data set in the second portion of the user interface,

identifying, without user input specifying particular two or more cells under two or more unique column names of respective two or more columns of the table, the particular two or more cells of the table that correspond to the at least one entry pertaining to the at least one slectable data element selected via the second portion of the user interface and being from the first data set; and

populating, in the first portion of the user interface and without the user input identifying the particular two or more cells of the table, the particular two or more cells of the table with two or more data values of the corresponding at least one entry from the first data set while concurrently presenting the data identifying the first data source.

2. The method of claim 1 , wherein the second portion is at a position that is separate from the table.

3. The method of claim 2 , wherein the position of the second portion is fixed and remains unchanged in response to the user input selecting the at least one of the plurality of selectable data elements.

4. The method of claim 1 , wherein the second portion is superimposed over the table in the first portion of the user interface, and wherein a position of the second portion is either fixed or changeable.

5. The method of claim 1 , wherein the table has a first descriptor that is applicable to each cell from the plurality of cells, and a plurality of second descriptors each applicable to a respective cell from the plurality of cells.

6. The method of claim 5 , wherein identifying the first data source comprising the first data set to be used to populate the one or more data values in the table comprises:

obtaining a first result of a search function executed using at least the first descriptor as an input, wherein the first result of the search function identifies the first data set as potentially relevant to the plurality of cells.

7. The method of claim 1 , wherein the table is a spreadsheet that includes intersecting rows and columns, and each cell from the plurality of cells is an area defined by an intersection of one of the rows and one of the columns.

8. The method of claim 5 , wherein the first descriptor is a value of a header cell for the plurality of cells and the header cell is located in a first column of one or more columns, wherein the value of the header is a unique column name of the two or more unique column names.

9. The method of claim 8 , wherein a second descriptor from the plurality of second descriptors is located in a second column of the respective two or more columns.

10. The method of claim 6 , further comprising:

obtaining a second result of the search function executed using a respective second descriptor for a first cell from the plurality of cells as an input, wherein the second result of the search function identifies a second data set as potentially relevant to the plurality of cells;

displaying a second candidate data value for the first cell from the plurality of cells, wherein the second candidate data value is based on the second data set; and

in response to a data selection that identifies the second candidate data value, populating the plurality of cells with information from the second data set.

11. A non-transitory computer-readable storage device including program instructions executable by one or more processors that, when executed, cause the one or more processors to perform operations, the operations comprising:

presenting, in a first portion of a user interface, a table comprising a plurality of columns each having a unique column name, and a plurality of cells each corresponding to one of the plurality of columns;

identifying a first data source comprising a first data set to be used to populate one or more data values in the table, the first data set comprising a plurality of entries each having a plurality of values;

presenting, in a second portion of the user interface and concurrently with a presentation of the table in the first portion of the user interface, (i) data identifying the first data source comprising the first data, and (ii) a plurality of selectable data elements corresponding to the plurality of entries from the first data source, wherein each of the plurality of selectable data elements, when selected, causes two or more data values of a respective entry from the first data source to be added to two or more of the plurality of cells under two or more unique column names of respective two or more columns of the table;

receiving, via the second portion of the user interface, user input selecting at least one of the plurality of selectable data elements that corresponds to at least one entry of the plurality of entries from the first data set; and

responsive to the user input selecting the at least one of the plurality of selectable data elements that corresponds to the at least one entry from the first data set in the second portion of the user interface,

identifying, without user input specifying particular two or more cells under two or more unique column names of respective two or more columns of the table, the particular two or more cells of the table that correspond to the at least one entry pertaining to the at least one selectable data element selected via the second portion of the user interface and being from the first data set; and

populating, in the first portion of the user interface and without the user input identifying the particular two or more cells of the table, the particular two or more cells of the table with two or more data values of the corresponding at least one entry from the first data set while concurrently presenting the data identifying the first data source.

12. The non-transitory computer-readable storage device of claim 11 , wherein the second portion is at a position that is separate from the table, and wherein the position of the second portion is fixed and remains unchanged in response to the user input selecting the at least one of the plurality of selectable data elements.

13. The non-transitory computer-readable storage device of claim 11 , wherein the second portion is superimposed over the table in the first portion of the user interface, and wherein a position of the second portion is either fixed or changeable.

14. The non-transitory computer-readable storage device of claim 11 , wherein the table has a first descriptor that is applicable to each cell from the plurality of cells, and a plurality of second descriptors each applicable to a respective cell from the plurality of cells.

15. The non-transitory computer-readable storage device of claim 14 , wherein identifying the first data source comprising the first data set to be used to populate the one or more data values in the table comprises:

obtaining a first result of a search function executed using at least the first descriptor as an input, wherein the first result of the search function identifies the first data set as potentially relevant to the plurality of cells.

16. The non-transitory computer-readable storage device of claim 14 , wherein the table includes intersecting rows and columns, and each cell from the plurality of cells is located in a first column, wherein the first descriptor is a value of a header cell for the plurality of cells and the header cell is located in a first column of the respective two or more columns, wherein the value of the header is a unique column name of the two or more unique column names, and wherein a second descriptor from the plurality of second descriptors is located in a second column of the respective two or more columns.

17. The non-transitory computer-readable storage device of claim 15 , the operations further comprising:

obtaining a second result of the search function executed using a respective second descriptor for a first cell from the plurality of cells as an input, wherein the second result of the search function identifies a second data set as potentially relevant to the plurality of cells;

displaying a second candidate data value for the first cell from the plurality of cells, wherein the second candidate data value is based on the second data set; and

in response to a data selection that identifies the second candidate data value, populating the plurality of cells with information from the second data set.

18. A system comprising:

one or more processors; and

one or more memory devices for storing instructions, which when executed by the one or more processors, cause the one or more processors to:

present, in a first portion of a user interface, a table comprising a plurality of columns each having a unique column name, and a plurality of cells each corresponding to one of the plurality of columns;

identify a first data source comprising a first data set to be used to populate one or more data values in the table, the first data set comprising a plurality of entries each having a plurality of values;

present, in a second portion of the user interface and concurrently with a presentation of the table in the first portion of the user interface, (i) data identifying the first data source comprising the first data, and (ii) a plurality of selectable data elements corresponding to the plurality of entries from the first data source, wherein each of the plurality of selectable data elements, when selected, causes two or more data values of a respective entry from the first data source to be added to two or more of the plurality of cells under two or more unique column names of respective two or more columns of the table;

receive, via the second portion of the user interface, user input selecting at least one of the plurality of selectable data elements that corresponds to at least one entry of the plurality of entries from the first data set; and

responsive to the user input selecting the at least one of the plurality of selectable data elements that corresponds to the at least one entry from the first data set in the second portion of the user interface,

identify, without user input specifying particular two or more cells under two or more unique column names of respective two or more columns of the table, the particular two or more cells of the table that correspond to the at least one entry pertaining to the at least one selectable data element selected via the second portion of the user interface and being from the first data set; and

populate, in the first portion of the user interface and without the user input identifying the particular two or more cells of the table, the particular two or more cells of the table with two or more data values of the corresponding at least one entry from the first data set while concurrently presenting the data identifying the first data source.

19. The system of claim 18 , wherein the table has a first descriptor that is applicable to each cell from the plurality of cells, and a plurality of second descriptors each applicable to a respective cell from the plurality of cells.

20. The system of claim 19 , wherein to identify the first data source comprising the first data set to be used to populate the one or more data values in the table, the one or more processors to:

obtain a first result of a search function executed using at least the first descriptor as an input, wherein the first result of the search function identifies the first data set as potentially relevant to the plurality of cells.

21. The system of claim 19 , wherein the table includes intersecting rows and columns, and each cell from the plurality of cells is located in a first column, wherein the first descriptor is a value of a header cell for the plurality of cells and the header cell is located in a first column of the respective two or more columns, wherein the value of the header is a unique column name of the two or more unique column names, and wherein a second descriptor from the plurality of second descriptors is located in a second column of the two or more columns.

22. The system of claim 20 , wherein the one or more processors further to:

obtain a second result of the search function executed using a respective second descriptor for a first cell from the plurality of cells as an input, wherein the second result of the search function identifies a second data set as potentially relevant to the plurality of cells;

display a second candidate data value for the first cell from the plurality of cells, wherein the second candidate data value is based on the second data set; and

in response to a data selection that identifies the second candidate data value, populate the plurality of cells with information from the second data set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: VAGELL, VANCE JULIUS; O'BANION, COLLEEN
To: GOOGLE INC.
Reel/Frame 052551/0682 →
CHANGE OF NAME Recorded May 1, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052555/0614 →
Continuity (3)
Continuation 15939368 · Mar 29, 2018
Continuation 14273016 · May 8, 2014
Related Publication 20200311342A1 · Oct 1, 2020
References Cited (141)
US 5307484A · Baker et al. · 1994 [cited by applicant]
US 5345516A · Boyer et al. · 1994 [cited by applicant]
US 5416895A · Anderson et al. · 1995 [cited by applicant]
US 5600584A · Schlafly · 1997 [cited by applicant]
US 5603021A · Spencer et al. · 1997 [cited by applicant]
US 5706449A · Liu et al. · 1998 [cited by applicant]
US 5809317A · Kogan et al. · 1998 [cited by applicant]
US 5842180A · Khanna et al. · 1998 [cited by applicant]
US 5910802A · Shields et al. · 1999 [cited by applicant]
US 5950168A · Simborg et al. · 1999 [cited by applicant]
US 6006225A · Bowman et al. · 1999 [cited by applicant]
US 6055550A · Wallack · 2000 [cited by applicant]
US 6182083B1 · Scheifler et al. · 2001 [cited by applicant]
US 6204846B1 · Little et al. · 2001 [cited by applicant]
US 6205453B1 · Tucker et al. · 2001 [cited by applicant]
US 6317758B1 · Madsen et al. · 2001 [cited by applicant]
US 6321228B1 · Crandall et al. · 2001 [cited by applicant]
US 6430574B1 · Stead · 2002 [cited by applicant]
US 6437812B1 · Giles et al. · 2002 [cited by applicant]
US 6593949B1 · Chew et al. · 2003 [cited by applicant]
US 6651217B1 · Kennedy · 2003 [cited by examiner]
US 6711715B1 · Grealish · 2004 [cited by applicant]
US 6734883B1 · Wynn et al. · 2004 [cited by applicant]
US 6738084B1 · Kelley et al. · 2004 [cited by applicant]
US 6751603B1 · Bauer et al. · 2004 [cited by applicant]
US 6778192B2 · Arbab et al. · 2004 [cited by applicant]
US 6828988B2 · Hudson et al. · 2004 [cited by applicant]
US 6978443B2 · Flanagan et al. · 2005 [cited by applicant]
US 6988241B1 · Guttman et al. · 2006 [cited by applicant]
US 7009609B2 · Miyadai · 2006 [cited by applicant]
US 7101779B2 · Vaartstra et al. · 2006 [cited by applicant]
US 7117430B2 · Maguire, III et al. · 2006 [cited by applicant]
US 7117450B1 · Chaudhri · 2006 [cited by applicant]
US 7266763B2 · Peyton-Jones et al. · 2007 [cited by applicant]
US 7275207B2 · Aureglia et al. · 2007 [cited by applicant]
US 7302423B2 · De Bellis · 2007 [cited by examiner]
US 7451397B2 · Weber et al. · 2008 [cited by applicant]
US 7546523B2 · Aureglia et al. · 2009 [cited by applicant]
US 7707486B2 · Genesereth et al. · 2010 [cited by applicant]
US 7752148B2 · Yu et al. · 2010 [cited by applicant]
US 7765227B1 · Khoshnevisan et al. · 2010 [cited by applicant]
US 7788584B2 · Kenna et al. · 2010 [cited by applicant]
US 7873946B2 · Lathrop et al. · 2011 [cited by applicant]
US 8130205B2 · Forstall et al. · 2012 [cited by applicant]
US 8234293B2 · Martynov et al. · 2012 [cited by applicant]
US 8280722B1 · Harik et al. · 2012 [cited by applicant]
US 8332748B1 · Karam · 2012 [cited by applicant]
US 8386926B1 · Matsuoka · 2013 [cited by applicant]
US 8412749B2 · Fortuna et al. · 2013 [cited by applicant]
US 8601019B1 · Weininger et al. · 2013 [cited by applicant]
US 8615707B2 · Fortuna et al. · 2013 [cited by applicant]
US 8645825B1 · Cornea et al. · 2014 [cited by applicant]
US 9223770B1 · Ledet · 2015 [cited by examiner]
US 9286285B1 · Vagell et al. · 2016 [cited by applicant]
US 9710526B2 · Couris · 2017 [cited by examiner]
US 20020023105A1 · Wisniewski · 2002 [cited by applicant]
US 20020087568A1 · LeDonne et al. · 2002 [cited by applicant]
US 20020143809A1 · Bennett · 2002 [cited by applicant]
US 20020169799A1 · Voshell · 2002 [cited by applicant]
US 20020186252A1 · Himmel et al. · 2002 [cited by applicant]
US 20020194095A1 · Koren · 2002 [cited by applicant]
US 20030188257A1 · Aureglia et al. · 2003 [cited by applicant]
US 20030226105A1 · Waldau · 2003 [cited by applicant]
US 20040107277A1 · Levesque et al. · 2004 [cited by applicant]
US 20050086204A1 · Coiera · 2005 [cited by examiner]
US 20050091604A1 · Davis · 2005 [cited by applicant]
US 20050183017A1 · Cain · 2005 [cited by applicant]
US 20050210403A1 · Satanek · 2005 [cited by applicant]
US 20050256797A1 · Tyulyaev · 2005 [cited by examiner]
US 20060036939A1 · Hobbs et al. · 2006 [cited by applicant]
US 20060059247A1 · Marappan · 2006 [cited by examiner]
US 20060070002A1 · Guido et al. · 2006 [cited by applicant]
US 20060074866A1 · Chamberlain et al. · 2006 [cited by applicant]
US 20060107226A1 · Matthews et al. · 2006 [cited by applicant]
US 20060117051A1 · Chin · 2006 [cited by applicant]
US 20060184901A1 · Dietz · 2006 [cited by applicant]
US 20060224946A1 · Barrett et al. · 2006 [cited by applicant]
US 20060288267A1 · DeSpain · 2006 [cited by applicant]
US 20070016872A1 · Cummins et al. · 2007 [cited by applicant]
US 20070033518A1 · Kenna et al. · 2007 [cited by applicant]
US 20070083541A1 · Fraleigh et al. · 2007 [cited by applicant]
US 20070130503A1 · Voshell · 2007 [cited by applicant]
US 20070153897A1 · Yan · 2007 [cited by applicant]
US 20070185826A1 · Brice et al. · 2007 [cited by applicant]
US 20070220415A1 · Cheng · 2007 [cited by examiner]
US 20070234195A1 · Wells · 2007 [cited by applicant]
US 20070288433A1 · Gupta · 2007 [cited by examiner]
US 20080028340A1 · Davis · 2008 [cited by applicant]
US 20080080389A1 · Hart · 2008 [cited by examiner]
US 20080155464A1 · Jones et al. · 2008 [cited by applicant]
US 20080229184A1 · Prish et al. · 2008 [cited by applicant]
US 20080238938A1 · Eklund et al. · 2008 [cited by applicant]
US 20080267505A1 · Dabet · 2008 [cited by examiner]
US 20080294600A1 · Clark et al. · 2008 [cited by applicant]
US 20080300697A1 · Moriat · 2008 [cited by examiner]
US 20080313529A1 · Gwozdz · 2008 [cited by examiner]
US 20090158139A1 · Morris et al. · 2009 [cited by applicant]
US 20090187816A1 · Aureglia et al. · 2009 [cited by applicant]
US 20090287673A1 · Chronister et al. · 2009 [cited by applicant]
US 20090325607A1 · Conway et al. · 2009 [cited by applicant]
US 20100185666A1 · Crow · 2010 [cited by examiner]
US 20110043652A1 · King · 2011 [cited by examiner]
US 20110066933A1 · Ludwig · 2011 [cited by applicant]
US 20110148789A1 · Kim et al. · 2011 [cited by applicant]
US 20110153647A1 · Hoellwarth · 2011 [cited by examiner]
US 20110179110A1 · Soloway · 2011 [cited by applicant]
US 20110283227A1 · Moore et al. · 2011 [cited by applicant]
US 20120011475A1 · Hontz, Jr. · 2012 [cited by examiner]
US 20120022861A1 · Imthurn et al. · 2012 [cited by applicant]
US 20130036346A1 · Cicerone · 2013 [cited by applicant]
US 20130080373A1 · Yeck · 2013 [cited by examiner]
US 20140188748A1 · Cavoue · 2014 [cited by examiner]
US 20140372857A1 · Otero · 2014 [cited by examiner]
US 20150006502A1 · Chang · 2015 [cited by examiner]
US 20150019420A1 · Low · 2015 [cited by examiner]
US 20150019540A1 · Ganjam · 2015 [cited by examiner]
US 20150169530A1 · Otero · 2015 [cited by examiner]
US 20190205442A1 · Vasudev · 2019 [cited by examiner]
US 20230297217A1 · Catling · 2023 [cited by examiner]
EP 1054329A2 · 2000 [cited by applicant]
WO 0159675A1 · 2001 [cited by applicant]
WO 2012087418A1 · 2012 [cited by applicant]
Abraham et al., “How to Communicate Unit Error Message in Spreadsheets” First Workshop on End User Software Engineering, May 21, 2005, St. Louis, Missouri, p. 1-5. [cited by applicant]
Actuarial Outpost, Discussion Forum “Excel: Conditional Tab Colors,” http://www.actuarialoutpostcom/actuarial_discussion_forum/showthread.php?t=220776, 5 Pages, Jul. 2011. [cited by applicant]
Auto-Hide the Taskbar in Windows XP, Apr. 12, 2006, 3 pages, http://www.xp-tips.com/auto-hide-taskbar-.html. [cited by applicant]
Clark, iWork'09: The Missing Manual, O'Reilly Media, Inc., Apr. 24, 2009, Chapter 20, Using Formulas, 44 pages. [cited by applicant]
David Pogue, “iPhone: The Missing Manual, Forth Edition,” 450 Pages, Aug. 2010. [cited by applicant]
6Doing it Right: skipping the iPhone url bar, Aug. 5, 2010, 4 pages, http:J/remysharp.com/2010/08/05/doing-it-right- skipping-the-iphone-url-bar. [cited by applicant]
Microsoft Excel 2003-2013, “Named Ranges in Excel” 5 pages. [cited by applicant]
Microsoft Excell 2003, “Creating Custom functions” 6 pages. [cited by applicant]
Pearson, “The Indirect Function”, 1999, pp. 1-2. [cited by applicant]
Product Feature Tour, Visual Studio Style, Auto Hide Control Bars, Mar. 9, 2004, 2 pages, http://www.bcgsoft.com/featuretour/tour156.htm. [cited by applicant]
Stackoverflow, “Are there such things as variables within an Excel formula?.” 2009. [cited by applicant]
Weknomo, K. “How to use MS Excel Iterations”, 2006, pp. 1-5. [cited by applicant]
Wayne Pan, “JavaScript Pull to Refresh,” Jul. 2010, 3 pages. [cited by applicant]
Abraham et al. (“Abraham”), “How to Communicate Unit Error Messages in Spreadsheets”, First Workshop on EndUser Software Engineering (WEUSE I), May 21, 2005, Saint Louis, Missouri, USA, p. 1-5. [cited by applicant]
Doing it Right: skipping the iPhone url bar, Aug. 5, 2010, 4 pages, http://remysharp.com/2010/08/05/doing-it-right-˜kipping-the-iphone-url-ba- r_. [cited by applicant]
Product Feature Tour, Visual Studio Style, Auto Hide Control Bars, Mar. 9, 2004, 2 pages, http://www.bcgsoft.com/eaturetour/tour156.htm. [cited by applicant]
Actuarial Outpost, Discussion Forum “Excel: Conditional Tab Colors,” http://www.actuarialoutpost.com/actuarial.sub.--discussion.sub.-forum/sh-owthread.php?t=220776, Jul. 2011. 5 Pages. [cited by applicant]
David Pogue, “iPhone: The Missing Manual, Forth Edition,” Aug. 2010, 450 pages. [cited by applicant]
Stackoverflow, “Are there such things as variables within an Excel formula?” 2009, 3 pages. [cited by applicant]