USRE39326EExpiredUtility

Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items

Assignee: MICROSOFT CORPPriority: Jun 5, 1996Filed: Dec 1, 2000Granted: Oct 3, 2006
Est. expiryJun 5, 2016(expired)· nominal 20-yr term from priority
G06F 40/274G06F 40/18
88
PatentIndex Score
55
Cited by
12
References
60
Claims

Abstract

A system for improving the efficiency and reliability of entering data into a database or spreadsheet computer program by providing suggested completions to the data entry operator. The operator invokes an edit mode ( 200 ) for a particular data area and a dynamic list of possible completions is generated ( 210 ) based on other data items associated with the edited data area. The list of possible completions is dynamic because it changes to reflect the status of the current data within the database or spreadsheet. As the operator enters characters of a data item ( 220 ), the list of completed data items is searched for an entry that matches the entered data item ( 230 ). If a match is found then the matching item is displayed to the data entry operator as a suggested completion ( 240 ). The data entry operator can then elect to accept the suggested completion ( 250 ) or to continue entering the data item.

Claims

exact text as granted — not AI-modified
1. A method for completing a partial data entry for an active cell of a spreadsheet having a plurality of cells defining a grid of rows and columns, comprising the steps of:
 invoking an edit mode for said active cell;  
 identifying a list of completed data items from a search region within said spreadsheet comprising a table of contiguous data-containing cells encompassing said active cell and bordered by empty cells;  
 defining a partial data entry within said active cell;  
 identifying a matching completed data item from within said list of completed data items that corresponds to said partial data entry;  
 displaying said matching completed data item as a suggested completion for said partial data entry;  
 receiving an acceptance command in association with said suggested completion; and  
 in response to said acceptance command, storing said partial data entry with said suggested completion within the active cell.  
 
     
     
       2. The method of  claim 1  further comprising the steps of:
 receiving a command pertinent to said suggested completion; and operating on said suggested completion in accordance with said command.  
 
     
     
       3. The method of  claim 2 , wherein said command is a user response and said operating step further comprises the steps of:
 if said response contains a modified partial data item, verifying said suggested completion comprises said modified partial data item;  
 if said response is a rejection of said suggested completion, displaying said partial data entry; and  
 if said response is a command to exit said edit mode, clearing said active cell.  
 
     
     
       4. The method of  claim 1 , wherein said identifying step further comprises the steps of:
 retrieving a plurality of completed data items from said search region within said spreadsheet to form an associated list of completed data items;  
 filtering said associated list of completed data items to generate a filtered list; and  
 sorting said filtered list to generate said list of completed data items.  
 
     
     
       5. The method of  claim 4 , wherein said search region within said spreadsheet is positionally based on said active cell and said identifying step further comprises the step of selecting a block of contiguous cells, said block being coterminous with said active cell. 
     
     
       6. The method of  claim 5 , wherein said block is confined to one of said columns of cells within said spreadsheet, said column containing said active cell. 
     
     
       7. The method of  claim 5 , wherein said block is confined to one of said rows of cells within said spreadsheet, said row containing said active cell. 
     
     
       8. The method of  claim 4 , wherein said filtering step further comprises the step of removing surplus duplicated completed data items from said associated list of completed data items. 
     
     
       9. The method of  claim 4 , wherein said filtering step further comprises the steps of:
 removing completed data items that are not duplicated in said associated list of completed data items; and  
 removing surplus duplicated completed data items from said associated list of completed data items.  
 
     
     
       10. The method of  claim 4 , wherein each of said completed data items comprises at least one glyph, and said filtering step further comprises the step of removing said completed data items that contain less than N glyphs, where N is an integer greater than one. 
     
     
       11. The method of  claim 4 , wherein each of said completed data items comprises formatting information, and said filtering step further comprises the step of removing said completed data items that do not comprise a specific formatting information. 
     
     
       12. The method of  claim 1 , wherein said identifying step further comprises the steps of:
 defining a mask comprising said partial data entry;  
 searching said list of completed data items for at least one matching data item corresponding to said mask; and  
 in response to finding at least one said matching data item, equating said suggested completion to said matching data item.  
 
     
     
       13. The method of  claim 1 , wherein said identifying step further comprises the steps of:
 defining a mask comprising said partial data entry;  
 searching said list of completed data items for at least one matching data item corresponding to said mask; and  
 in response to finding more than one or said matching data items, defering identification of said suggested completion.  
 
     
     
       14. The method of  claim 1 , wherein said identifying step further comprises the steps of:
 defining a mask comprising said partial data entry;  
 searching said list of completed data items for at least one matching data item corresponding to said mask; and  
 in response to not finding said matching data item, disabling any further searches of said list of completed data items for said active cell.  
 
     
     
       15. The method of  claim 14  further comprising the step of re-enabling searches of said list of completed data items for said active cell. 
     
     
       16. The method of  claim 1 , wherein said displaying step further comprises the step of replacing said partial data entry in said active cell with said suggested completion. 
     
     
       17. The method of  claim 16 , wherein said displaying step further comprises distinguishing a first portion of said suggested completion that comprises said partial data item from a second portion of said suggested completion that does not comprise said partial data entry. 
     
     
       18. The method of  claim 1 , further comprising the step of operating on said suggested completion in accordance with said acceptance command to perform a case conversion, said case conversion comprising an adjustment of the case of said partial entry to correspond to the case of said suggested completion. 
     
     
       19. In a program module responsive to input commands for manipulation of data items presented in a plurality of cells, a method to generate a list of completed data items from a search region of cells that are positionally associated with an active cell, comprising the steps of:
 identifying a list of completed data items from said search region within a spreadsheet comprising a table of contiguous data-containing cells encompassing said active cell and bordered by empty cells;  
 generating a sub-list of completed data items from a sub-range of cells that are within said search region encompassing said active cell; and  
 when said program module is not processing said input commands, expanding said sub-list of completed data items to comprise all of said table of contiguous data-containing cells within said search region.  
 
     
     
       20. The method of  claim 19 , wherein said identifying step further comprises the steps of:
 selecting all cells that border said active cell and contain completed data items to form a selected cell list; and  
 adding to said selected cell list all cells that border cells in said selected cell list and contain completed data items.  
 
     
     
       21. The method of  claim 19 , wherein said completed data items comprise at least one character and said identifying step further comprises the steps of:
 selecting a set of J cells from said search region;  
 filtering surplus duplicated completed data items from said set of J cells to generate a filtered sub-list; and  
 sorting said filtered sub-list alphabetically.  
 
     
     
       22. The method of  claim 19 , wherein said expanding step further comprises the steps of:
 (a) selecting a set of K cells from said search region, said set excluding cells contained in said sub-list;  
 (b) filtering surplus duplicated completed data items from said set of K cells to generate a filtered set;  
 (c) merging said filtered set into said sub-list;  
 (d) sorting said sub-list alphabetically; and  
 (e) repeating steps (a)-(d) until said sub-list comprises all of said table of contiguous data-containing cells within said search region.  
 
     
     
       23. In a program module responsive to input commands for manipulation of data items presented in a plurality of cells, a method to automatically complete a partial data entry in said active cell comprising the steps of:
 invoking an edit mode for said active cell, said edit mode enabling said active cell to receive said partial data entry and a suggested completion;  
 identifying a list of completed data items from a search region within a spreadsheet comprising a table of contiguous data-containing cells encompassing said active cell and bordered by empty cells;  
 filtering surplus duplicated completed data items from said list of completed data items to generate a filtered list;  
 sorting said filtered list alphabetically to generate a suggestion list of completed data items;  
 receiving said partial data entry and displaying said partial data entry in said active cell;  
 searching said suggestion list to identify at least one suggested completion comprising said partial data entry;  
 in response to identifying only one said suggested completion, replacing said partial data entry in said active cell with said suggested completion;  
 receiving a response concerning said suggested completion; and  
 operating on said suggested completion in accordance with said response.  
 
     
     
       24. The method of  claim 23 , wherein said identifying step further comprises the steps of:
 selecting all cells that border said active cell and contain completed data items to form a selected cell list; and  
 adding to said selected cell list, all cells that border cells in said selected cell list and contain completed data items.  
 
     
     
       25. The method of  claim 24 , wherein said cells are arranged in a grid of rows and columns on multiple work pages and said search region comprises cells from at least one of said work pages, and wherein cells sharing a common row are aligned in the X direction, cells sharing a common column are aligned in the Y direction, and cells sharing a common (X, Y) coordinate but are located on separate work pages are aligned in the Z direction, and any pair of cells border each other if they are adjacent to each other in the X, Y or Z directions. 
     
     
       26. A method for entering data items in a spreadsheet program, comprising the steps of:
 selecting an active cell within a search region comprising a table of contiguous data-containing cells encompassing said active cell and bordered by empty cells;  
 enabling said active cell to receive a partial data entry and a suggested completion;  
 entering said partial data item in said active cell;  
 receiving said suggested completion selected from said search region; and  
 accepting said suggested completion.  
 
     
     
       27. A computer-readable medium on which is stored a computer program for automatically providing a suggested completion for a partial data entry, said computer program comprising instructions which, when executed by said computer, perform the steps of:
 enabling an active cell to receive said partial data entry, said active cell being selected from a plurality of cells in response to placing a display item into a region occupied by said active cell;  
 identifying a list of completed data items from a search region within a spreadsheet comprising a table of contiguous data-containing cells encompassing said active cell and bordered by empty cells;  
 receiving said partial data entry and displaying said partial data entry within said active cell;  
 searching said list of completed data items to identify said suggested completion comprising said partial data entry; and  
 in response to identifying said suggested completion, displaying said suggested completion within said active cell.  
 
     
     
       28. The computer-readable medium of  claim 27  wherein said computer program further performs the steps of:
 receiving a response pertinent to said suggested completion;  
 if said response is an acceptance of said suggested completion, storing said suggested completion as said data entry;  
 if said response contains a modified partial data item, searching said list to identify a suggested completion comprising said modified partial data item;  
 if said response is a rejection of said suggested completion, displaying said partial data item; and  
 if said response is a command to exit said edit mode, clearing said active cell.  
 
     
     
       29. The computer-readable medium of  claim 27 , wherein said search region is positionally based and said identifying step further comprises the steps of:
 retrieving a plurality of completed data items from a block of contiguous cells, said block being coterminous with said active cell, and forming said list of completed data items;  
 removing surplus duplicated completed data items from said list of completed data items; and  
 sorting said list of completed data items alphabetically, said completed data items containing at least one glyph from a set of glyphs having an alphabetical relationship.  
 
     
     
       30. The computer-readable medium of  claim 27 , wherein said searching step further comprises the steps of:
 defining a mask comprising said partial data entry;  
 searching said list of completed data items for at least one matching data item corresponding to said mask;  
 equating said suggested completion to said matching data item if only one said matching data item is found;  
 defer identifying said suggested completion if more than one of said matching data items is found; and  
 disabling any further searches of said list of completed data items for said active cell if a matching data item is not found.  
 
     
     
       31. The computer-readable medium of  claim 27 , wherein said displaying step further comprises the step of replacing said partial data entry in said active cell with said suggested completion. 
     
     
       32. The computer-readable medium of  claim 27 , further comprising the step of operating on said suggested completion in accordance with said acceptance command to perform a case conversion, said case conversion comprising an adjustment of the case of said partial entry to correspond to the case of said suggested completion. 
     
     
       33. A computer system for completing a data entry for an active cell of a spreadsheet, comprising:
 a processing unit;  
 a memory storage device;  
 an input device coupled to said processing unit for receiving data;  
 a pixel-based display device coupled to said processing unit for displaying data;  
 a program module, stored in said memory storage device for providing instructions to said processing unit;  
 said processing unit, responsive to said instructions of said program module, operative to: 
 enable an active cell to accept a partial data entry, said active cell being selected from a plurality of cells in response to moving a display item into a region occupied by said active cell;  
 identifying a list of completed data items from a search region within a spreadsheet comprising a table of contiguous data-containing cells encompassing said active cell and bordered by empty cells;  
 receive a partial data entry from said input device;  
 display said partial entry within said active cell on said pixel-based display device;  
 search said list of completed data items to identify a suggested completion comprising said partial data entry; and  
 in response to identifying said suggested completion, display said suggested completion within said active cell on said pixel-based display device.  
 
 
     
     
       34. The computer system of  claim 33 , wherein said processing unit is further operative to:
 receive a response pertinent to said suggested completion;  
 if said response is an acceptance of said suggested completion, store said suggested completion in said active cell as said data entry;  
 if said response contains a modified partial data item, search said list to identify a suggested completion comprising said modified partial data item;  
 if said response is a rejection of said suggested completion, display said partial data item; and  
 if said response is a command to exit said edit mode, clear said active cell.  
 
     
     
       35. The computer system of  claim 33 , wherein said search region is positionally based and said processing unit is operative to identify a list of completed data items by:
 retrieving a plurality of completed data items from a block of contiguous cells, said block being coterminous with said active cell, and forming said list of completed data items;  
 removing surplus duplicated completed data items from said list of completed data items; and  
 sorting said list of completed data items alphabetically, said completed data items containing at least one glyph from a set of glyphs having an alphabetical relationship.  
 
     
     
       36. The computer system of  claim 33 , wherein said processing unit conducts a search of said list of completed data items by:
 defining a mask comprising said partial data entry;  
 searching said list of completed data items for at least one matching data item corresponding to said mask;  
 equating said suggested completion to said matching data item if only one said matching data item is found;  
 deferring to identify said suggested completion if more than one of said matching data items is found; and  
 disabling any further searches of said list of completed data items for said active cell if a matching data item is not found.  
 
     
     
       37. The computer system of  claim 33 , wherein said processing unit displays said suggested completion by replacing said partial data entry in said active cell with said suggested completion. 
     
     
       38. The computer system of  claim 33 , wherein said response is an acceptance of said suggested completion and said processing unit operates on said suggested completion in accordance with said response by performing a case conversion, said case conversion comprising an adjustment of the case of said partial item to correspond to the case of said suggested completion. 
     
     
       39. A method for completing a partial data entry for an active cell of a spreadsheet having a plurality of cells defining a grid of rows and columns, the method comprising:
   invoking an edit mode for the active cell;        identifying a list of completed data items from a search region within the spreadsheet, said search region including one  (   1   )  cells sharing the same column as the active cell,  (   2   )  cells sharing the same row as the active cell,  (   3   )  cells within the same column as the active cell and within a range of N cells from the active cell, wherein N is an integer greater than zero, and  (   4   )  cells within the same row as the active cell and within a range of N cells from the active cell, wherein N is an integer greater than zero;        defining a partial data entry within the active cell;        identifying a matching completed data item from within said list of completed data items that corresponds to said partial data entry;        displaying said matching completed data item as a suggested completion command for said partial data entry;        receiving an acceptance command in association with said suggested completion; and        in response to said acceptance command, storing said partial data entry with said suggested completion within the active cell.     
     
     
       40. The method of  claim 39 , further comprising:
   receiving a command pertinent to said suggested completion; and        operating on said suggested completion in accordance with said command.     
     
     
       41. The method of  claim 40 , wherein said command is a user response and said operating operation further comprises:
   if said response contains a modified partial data item, verifying said suggested completion comprises said modified partial data item;        if said response is a rejection of said suggested completion, displaying said partial entry; and        if said response is a command to exit said edit mode, clearing the active cell.     
     
     
       42. The method of  claim 39 , wherein said identifying a list of completed data items operation further comprises:
   retrieving a plurality of completed data items from said search region within the spreadsheet to form an associated list of completed data items;        filtering said associated list of completed data items to generate a filtered list; and        sorting said filtered list to generate said list of completed data items.     
     
     
       43. The method of  claim 42 , wherein said search region within the spreadsheet is positionally based on the active cell and said identifying a list of completed data items operation further comprises selecting a block of contiguous cells, said block being coterminous with the active cell. 
     
     
       44. The method of  claim 43 , wherein said block is confined to one of the columns of cells within the spreadsheet, said column containing the active cell. 
     
     
       45. The method of  claim 43 , wherein said block is confined to one of the rows of cells within the spreadsheet, said row containing the active cell. 
     
     
       46. The method of  claim 42 , wherein said filtering operation further comprises removing surplus duplicated completed data items from said associated list of completed data items. 
     
     
       47. The method of  claim 42 , wherein said filtering operation further comprises:
   removing completed data items that are not duplicated in said associated list of completed data items; and        removing surplus duplicated completed data items from said associated list of completed data items.     
     
     
       48. The method of  claim 42 , wherein each of said completed data items comprises at least one glyph, and said filtering operation further comprises removing completed data items that contain less than N glyphs, where is an integer greater than one. 
     
     
       49. The method of  claim 42 , wherein said completed data items comprises formatting information, and said filtering operation further comprises removing completed data items that do not comprise a specific formatting information. 
     
     
       50. The method of  claim 42 , wherein said displaying operation further comprises distinguishing a first portion of said suggested completion that comprises said partial data item from a second portion of said suggested completion that does not comprise said partial data entry. 
     
     
       51. The method of  claim 39 , wherein said identifying a list of completed data items operation further comprises:
   defining a mask comprising said partial data entry;        searching said list of completed data items for at least one matching data item corresponding to said mask; and        in response to finding at least one said matching data item, equating said suggested completion to said matching data item.     
     
     
       52. The method of  claim 39 , wherein said identifying a list of completed data items operation further comprises:
   defining a mask comprising said partial data entry;        searching said list of completed data items for at least one matching data item corresponding to said mask; and        in response to finding more than one of said matching data items, deferring identification of said suggested completion.     
     
     
       53. The method of  claim 39 , wherein said identifying a list of completed data items operation further comprises:
   defining a mask comprising said partial data entry;        searching said list of completed data items for at least one matching data item corresponding to said mask; and        in response to not finding said matching data item, disabling any further searches of said list of completed data items for the active cell.     
     
     
       54. The method of  claim 53 , further comprising re- enabling searches of said list of completed data items for the active cell.   
     
     
       55. The method of  claim 39 , wherein said displaying operation further comprises replacing said partial data entry in the active cell with said suggested completion. 
     
     
       56. The method of  claim 39 , further comprising operating on said suggested completion in accordance with said acceptance command to perform a case conversion, said case conversion comprising an adjustment of the case of said partial entry to correspond to the case of said suggested completion. 
     
     
       57. A method for completing a partial data entry for an active cell of a spreadsheet having a plurality of cells defining a grid of rows and columns, the method comprising:
   invoking an edit mode for the active cell;        identifying a list of completed data items from a search region within the spreadsheet, said search region including cells within the same column as the active cell;        defining a partial data entry within the active cell;        identifying a matching completed data item from within said list of completed data items that corresponds to said partial data entry;        displaying said matching completed data item as a suggested completion command for said partial data entry;        receiving an acceptance command in association with said suggested completion; and        in response to said acceptance command, storing said partial data entry with said suggested completion within the active cell.     
     
     
       58. The method of  claim 57 , wherein said search region is further limited to a range of N cells from the active cell, wherein N is an integer greater than zero. 
     
     
       59. A method for completing a partial data entry for an active cell of a spreadsheet having a plurality of cells defining a grid of rows and columns, the method comprising:
   invoking an edit mode for the active cell;        identifying a list of completed data items from a search region within the spreadsheet, said search region including cells within the same row as the active cell;        defining a partial data entry within the active cell;        identifying a matching completed data item from within said list of completed data items that corresponds to said partial data entry;        displaying said matching completed data item as a suggested completion command for said partial data entry;        receiving an acceptance command in association with said suggested completion; and        in response to said acceptance command, storing said partial data entry with said suggested completion within the active cell.     
     
     
       60. The method of  claim 59 , wherein said search region is further limited to a range of N cells from the active cell, wherein N is an integer greater than zero.

Join the waitlist — get patent alerts

Track USRE39326E — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.