專利名稱:自動完成電子表格公式的系統(tǒng)和方法
背景技術(shù):
電子表格、計算器應(yīng)用程序、會計應(yīng)用程序、商務(wù)應(yīng)用程序或銀行應(yīng)用程序的單元格允許用戶構(gòu)建公式。這些公式可包括對其它單元格、公式、列表、用戶定義函數(shù)等的引用。在電子表格中對函數(shù)和引用的使用使電子表格成為一種強(qiáng)大的工具,因?yàn)橛脩艨蓸?gòu)建復(fù)雜的公式并分析各種各樣的數(shù)據(jù)。
在當(dāng)前的電子表格程序中,構(gòu)建單元格的公式不是一項(xiàng)簡單的任務(wù),因?yàn)樵讷@取用于構(gòu)建公式的幫助和構(gòu)建公式本身之間存在很大的差距。通常,要求用戶記住公式的名稱、記住如何拼寫公式并記住在自變量中使用的正確的值。這一要求減慢了構(gòu)建公式的過程,并經(jīng)常阻礙用戶成功地完成其任務(wù)。
可能要求用戶記住公式和引用來構(gòu)建電子表格中的公式。這一記憶可包括記住公式名稱、記住自變量、或記住要包括在公式中的對象。如果用戶沒有記住這些元素,則用戶必須離開該單元格并到別處尋找構(gòu)建公式的幫助。簡言之,用戶必須記住并理解他們試圖構(gòu)建的公式的所有方面。
公式表達(dá)式通常包括復(fù)雜的公式句法、多個自變量和多個參數(shù)。公式表達(dá)式也可包括在單個公式內(nèi)嵌套的函數(shù),每一嵌套的函數(shù)需要多個參數(shù)。這樣的公式表達(dá)式增加了記憶的難度,并增加了鍵入錯誤的機(jī)率。
函數(shù)向?qū)нM(jìn)一步阻礙了公式表達(dá)式的構(gòu)建過程。函數(shù)向?qū)褂脩綦x開電子表格的環(huán)境。通過使用戶離開公式表達(dá)式,會打斷思考過程并降低了公式構(gòu)建的總速度。
發(fā)明內(nèi)容
本發(fā)明一般涉及用于自動完成電子表格、計算器應(yīng)用程序、會計應(yīng)用程序、商務(wù)應(yīng)用程序、銀行應(yīng)用程序等的公式數(shù)據(jù)的系統(tǒng)和方法。本發(fā)明的一方面是用于自動完成電子表格公式的計算機(jī)實(shí)現(xiàn)的方法。該計算機(jī)實(shí)現(xiàn)的方法包括響應(yīng)于公式單元格數(shù)據(jù)的用戶輸入具體化自動完成過程的步驟。也包括基于用戶輸入聚集自動完成選項(xiàng)以及如果用戶輸入是對自動完成功能的觸發(fā)符時顯示自動完成選項(xiàng)的動態(tài)列表的步驟。
本發(fā)明的另一方面是具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)。該計算機(jī)可執(zhí)行指令包括用于訪問聚集的自動完成的選項(xiàng)的存儲并將用戶輸入與該存儲進(jìn)行比較的步驟。該指令還可包括用于顯示與用戶輸入相關(guān)聯(lián)的自動完成選項(xiàng)的動態(tài)列表以及過濾該自動完成選項(xiàng)的動態(tài)列表以進(jìn)一步匹配用戶輸入的步驟。
本發(fā)明的又一方面包括其上儲存數(shù)據(jù)結(jié)構(gòu)的計算機(jī)可讀介質(zhì)。該數(shù)據(jù)結(jié)構(gòu)包括適用于用戶輸入的第一數(shù)據(jù)字段以及包括用于自動完成該第一數(shù)據(jù)字段的自動完成選項(xiàng)的集合的第二數(shù)據(jù)字段。如果用戶輸入不包含任何匹配的自動完成選項(xiàng),則該數(shù)據(jù)結(jié)構(gòu)還包括包含第二數(shù)據(jù)字段的未過濾列表的第三數(shù)據(jù)字段。如果用戶輸入包含匹配的自動完成選項(xiàng),則該數(shù)據(jù)結(jié)構(gòu)還包括第二數(shù)據(jù)字段的已過濾列表。
本發(fā)明的再一方面包括具有圖形用戶界面的計算機(jī)系統(tǒng),該圖形用戶界面包括顯示器和用戶界面選擇設(shè)備,一種在顯示器上提供動態(tài)列表并從中進(jìn)行選擇的方法。該提供和選擇方法包括響應(yīng)于對單元格的用戶輸入具體化自動完成過程以及基于該用戶輸入聚集自動完成選項(xiàng)。該提供和選擇方法還包括當(dāng)用戶輸入暗示公式構(gòu)造且該用戶輸入與自動完成選項(xiàng)相關(guān)聯(lián)時顯示自動完成選項(xiàng)的已過濾的動態(tài)列表。此外,該提供和選擇方法可包括如果用戶輸入與自動完成選項(xiàng)相關(guān)聯(lián)則顯示自動完成選項(xiàng)的未過濾動態(tài)列表,以及如果用戶輸入不與自動完成選項(xiàng)相關(guān)聯(lián)則隱藏自動完成過程使得不會顯示列表。
圖1示出了可在本發(fā)明的一個示例性實(shí)施例中使用的示例性計算設(shè)備。
圖2示出了可在本發(fā)明的一個示例性實(shí)施例中使用的示例性移動設(shè)備。
圖3示出了可包括本發(fā)明的實(shí)施例的示例性用戶界面。
圖4示出了自動完成公式單元格的一個示例性方面。
圖5示出了自動完成與作為枚舉的相關(guān)性的分量相關(guān)聯(lián)的公式單元格的一個示例性方面。
圖6示出了自動完成與作為列表相關(guān)性的分量相關(guān)聯(lián)的公式單元格的一個示例性方面。
圖7示出了自動完成與作為數(shù)據(jù)透視表相關(guān)性的分量相關(guān)聯(lián)的公式單元格的一個示例性方面。
圖8示出了自動完成與作為連接相關(guān)性的分量相關(guān)聯(lián)的公式單元格的一個示例性方面。
圖9示出了自動完成與作為日期相關(guān)性的分量相關(guān)聯(lián)的公式單元格的一個示例性方面。
圖10示出了本發(fā)明的一方面的示例性自動完成成員存儲。
圖11示出了本發(fā)明的一方面的邏輯流程圖。
具體實(shí)施例方式
下文將參考附圖更完整地描述本發(fā)明的實(shí)施例,附圖形成了本發(fā)明的一部分,并作為說明示出了用于實(shí)施本發(fā)明的具體示例性實(shí)施例。然而,本發(fā)明可以用許多不同的形式來實(shí)施,并且不應(yīng)當(dāng)被解釋為限于此處所描述的實(shí)施例;相反,提供了這些實(shí)施例,使得本發(fā)明將全面和完整,并且可以完全向本領(lǐng)域的技術(shù)人員傳達(dá)本發(fā)明的范圍。特別地,本發(fā)明可以被實(shí)施為方法或設(shè)備。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例或組合了軟件和硬件方面的實(shí)施例的形式。因此,以下詳細(xì)描述不應(yīng)當(dāng)在限制的意義上加以考慮。
用于自動完成公式單元格的方法和系統(tǒng)的說明性實(shí)施例1.示例性用戶界面圖3示出了可在本發(fā)明的一個示例性實(shí)施例中使用的示例性電子表格用戶界面,電子表格300可以是用于計算和跟蹤數(shù)據(jù)的任何類型的電子表格。電子表格300可以包括一個或多個公式單元格302。公式單元格302可以被配置成接收公式、等式、數(shù)字、字母、符號、單詞、公式單元格相關(guān)性或有助于電子表格的任何其它數(shù)據(jù)形式。公式單元格302可以被定義為被配置成允許一個或多個分量的單元格。分量可以被定義為任何類型的公式數(shù)據(jù)。這類分量可包括公式相關(guān)性、電子表格函數(shù)相關(guān)性、定義名稱相關(guān)性、列表相關(guān)性、數(shù)據(jù)透視表相關(guān)性、用戶定義函數(shù)相關(guān)性、枚舉自變量相關(guān)性、表數(shù)據(jù)相關(guān)性、日期對象相關(guān)性或其它相關(guān)性。在一個實(shí)施例中,分量被儲存在一個或多個數(shù)組中,數(shù)組將在下文詳細(xì)描述。電子表格300也可包括公式單元格查看窗口304,以允許用戶容易地訪問公式單元格302中的數(shù)據(jù)。
即使本發(fā)明是結(jié)合電子表格300來闡述的,然而可以構(gòu)想本發(fā)明可用具有公式單元格302的任何應(yīng)用程序或程序來實(shí)現(xiàn)。電子表格300在此處僅為了示例性和描述性目的而闡述,并且不應(yīng)當(dāng)被認(rèn)為是限制性的。例如,本發(fā)明可結(jié)合計算器應(yīng)用程序來使用,其中計算器具有單個公式單元格。也可構(gòu)想具有公式單元格的會計應(yīng)用程序、商務(wù)應(yīng)用程序和銀行應(yīng)用程序。
圖4示出了自動完成公式單元格的一個示例性方面。參考標(biāo)號400是一個示例性用戶界面,它可包括公式單元格402、下拉窗口404以及提示窗口406。公式單元格402、下拉窗口404以及提示窗口406可被設(shè)為默認(rèn)的形狀和大小,或者形狀和大小可由用戶調(diào)整。而且,提示窗口406和下拉窗口404可以用任何方式相對于公式單元格402來定位。在一個實(shí)施例中,提示窗口406和下拉窗口404總是保持在任何用戶輸入的右邊。
下拉窗口404還可包括滾動條408,以允許用戶容易地訪問自動完成成員(例如,410)。如下文將描述的,自動完成成員與輸入觸發(fā)符412相關(guān)。輸入觸發(fā)符可包括提示在下拉窗口404中顯示分量的輸入。當(dāng)用戶以輸入觸發(fā)符412進(jìn)行時,過濾自動完成成員以僅顯示最相關(guān)的成員。在本發(fā)明的一個實(shí)施例中,自動完成成員是動態(tài)的,并包括對公式單元格402所有可用的選項(xiàng)的集合。
下拉窗口404還可包括自動完成圖標(biāo)414。如下文將進(jìn)一步描述的,自動完成圖標(biāo)414可指示自動完成成員410屬于特定類型的分量類別。例如,自動完成圖標(biāo)414可指示自動完成成員410是電子表格函數(shù)相關(guān)性、定義名稱相關(guān)性、列表相關(guān)性、數(shù)據(jù)透視表相關(guān)性、用戶定義函數(shù)相關(guān)性、枚舉自變量相關(guān)性、表數(shù)據(jù)相關(guān)性、數(shù)據(jù)對象相關(guān)性等等。分量的類型可能是重要的,因?yàn)橛|發(fā)符可以僅暗示特定類型的分量。下拉窗口404還可包括選擇指示器416,用于標(biāo)識特定的自動完成成員410。
在本發(fā)明的一方面,界面400包括提示窗口406。提示窗口406包括與所選擇的自動完成成員410有關(guān)的信息。提示窗口406提高了界面400的可使用性,因?yàn)橛脩艨赡芪从涀?或理解)自動完成成員410的完整功能。而且,提示窗口406還允許訪問信息而無需用戶啟動單獨(dú)的幫助函數(shù)。
參考標(biāo)號418是自動完成激勵器。激勵器418提示公式單元格402進(jìn)入自動完成過程。在由自動完成激勵器418激勵之前,自動完成過程和界面400保持休眠。以此方式,當(dāng)用戶未輸入分量時,界面400不會變得對用戶是入侵的。在一個實(shí)施例中,當(dāng)輸入412是觸發(fā)符時,自動完成激勵器418僅提示自動完成過程,而輸入412提示顯示下拉窗口404。例如,單個數(shù)字、字母或單元格相關(guān)性可能不是用戶輸入觸發(fā)符;因此,不顯示下拉窗口。該過程降低了界面400在不需要時的任何入侵性。在本發(fā)明的一方面,自動完成過程可由用戶手動激勵。在本發(fā)明的另一方面,激勵器418是“=”符號;然而,可使用任何數(shù)字、字母或符號,而不脫離本發(fā)明的精神和范圍。
以下表1表示了用戶可與界面交互以插入選擇的自動完成成員的多種示例性方法。第1列表示示例性用戶動作,第2列是界面中的示例性響應(yīng)的描述。表1表示了鍵盤和鼠標(biāo)交互的通用示例,且并不意味著局限本發(fā)明。
表1
以下表2表示了用于下拉窗口的示例性導(dǎo)航工具。第1列標(biāo)識示例性動作。第2列標(biāo)識當(dāng)自動完成成員未被選中時界面中的示例性響應(yīng),而第3列表示當(dāng)選中自動完成成員時界面中的示例性響應(yīng)。表2表示鍵盤交互的通用示例,并不意味著局限本發(fā)明。
表2
以下表3表示當(dāng)下拉窗口沒有與用戶輸入匹配時的若干示例性情形。第1列標(biāo)識示例性用戶輸入情形,第2列是界面中的響應(yīng)的示例性描述。表3表示鍵盤交互的通用示例,并不意味著局限本發(fā)明。
表3
當(dāng)用戶在構(gòu)建分量時激起自動完成過程時,可提供若干規(guī)則。這些規(guī)則中的某些示例包括光標(biāo)右邊的字符可被忽略。這些字符在插入了自動完成數(shù)組成員時被“推回”(不被蓋寫)。為自動完成過程分析光標(biāo)左邊的字符,光標(biāo)左邊的文本是否為輸入觸發(fā)符,以及輸入觸發(fā)符是否隱含了分量(例如,公式相關(guān)性、電子表格函數(shù)相關(guān)性、定義名稱相關(guān)性、列表相關(guān)性、數(shù)據(jù)透視表相關(guān)性、用戶定義函數(shù)相關(guān)性、枚舉自變量相關(guān)性、表數(shù)據(jù)相關(guān)性或日期對象相關(guān)性)。在這一情況下,可過濾自動完成成員,使得該過程返回如同剛輸入輸入觸發(fā)符一樣自動完成數(shù)組成員。如果光標(biāo)左邊的文本是“空格”,算術(shù)運(yùn)算符(+、-、/、*等)或字符運(yùn)算符(&)(例如,未隱含分量),則自動完成成員包括所有可能的自動完成成員(即,未過濾)。如果用戶是在完整的自動完成單詞(vlookup、myList等)的末端,則自動完成成員包括所有可能的成員(即,未過濾,因?yàn)椴浑[含分量)。如果從自動完成單詞中刪除一個字符,則自動完成數(shù)組成員包括基于該單詞的剩余部分的成員。鑒于此處所揭示的內(nèi)容,當(dāng)用戶激起自動完成過程時,可提供與所描述的不同的規(guī)則。
以下表4示出了例示當(dāng)用戶在構(gòu)建組件時激起自動完成過程時所遵循的規(guī)則的若干示例性情形。第1列標(biāo)識了示例性用戶輸入情形,而第2列表示界面中的響應(yīng)的示例性描述。表4表示了鍵盤交互的通用示例,并不意味著局限本發(fā)明。
表4
圖5示出了自動完成公式單元格的另一示例性方面。示例性用戶界面500類似于示例性用戶界面400,不同之處在于用戶界面500包括枚舉相關(guān)性下拉窗口502。當(dāng)輸入觸發(fā)符504指示用戶正在向公式單元格506輸入枚舉相關(guān)性時,調(diào)用枚舉相關(guān)性下拉窗口。用戶界面還可包括枚舉相關(guān)性標(biāo)識符508。枚舉相關(guān)性標(biāo)識符508可以顯示在枚舉相關(guān)性下拉窗口508的頂部,并標(biāo)識枚舉相關(guān)性的類別(例如,510)。
圖6示出了自動完成公式單元格的又一示例性方面。示例性用戶界面600類似于用戶界面400,不同之處在于用戶界面600包括列表相關(guān)性下拉窗口602。當(dāng)輸入觸發(fā)符604指示用戶正在向公式單元格606輸入列表相關(guān)性時,調(diào)用列表相關(guān)性下拉窗口602。當(dāng)用戶正在輸入列表相關(guān)性時,用戶界面600將包括該列表的列名608,它可以是列表專用的。用戶界面600還可包括屬于該列表的特殊項(xiàng)610。這類特殊項(xiàng)可包括#All、#Data、#Header、#Totals或其它。
圖7示出了自動完成公式單元格的再一示例性方面。示例性用戶界面700類似于用戶界面400,不同之處在于用戶界面700包括數(shù)據(jù)透視表相關(guān)性下拉窗口702。當(dāng)輸入觸發(fā)符704指示用戶正在向公式單元格706輸入數(shù)據(jù)透視表相關(guān)性時,調(diào)用數(shù)據(jù)透視表相關(guān)性下拉窗口702。當(dāng)用戶正在輸入數(shù)據(jù)透視表相關(guān)性時,用戶界面700將包括該數(shù)據(jù)透視表的成員名708,它可以基于數(shù)據(jù)透視表分層結(jié)構(gòu)中的當(dāng)前位置。用戶界面700還可包括可屬于該數(shù)據(jù)透視表的特殊項(xiàng)710。這類特殊項(xiàng)可包括#All、#Data、#Header或#Totals。
圖8示出了自動完成公式單元格的另一示例性方面。示例性用戶界面800類似于用戶界面400,不同之處在于用戶界面800包括連接相關(guān)性下拉窗口802。當(dāng)輸入觸發(fā)符804指示用戶正在向公式單元格806輸入連接相關(guān)性時,調(diào)用連接相關(guān)性下拉窗口802。該用戶界面還可包括連接標(biāo)識符808。連接相關(guān)性標(biāo)識符808可顯示在連接相關(guān)性下拉窗口802的頂部,并標(biāo)識連接相關(guān)性的類別。
圖9示出了自動完成公式單元格的還有一個示例性方面。示例性用戶界面900類似于用戶界面400,不同之處在于用戶界面900包括日期相關(guān)性下拉窗口902。當(dāng)輸入觸發(fā)符904指示用戶正在向公式單元格906輸入日期相關(guān)性時,調(diào)用日期相關(guān)性下拉窗口902。該用戶界面還可包括日歷對象908。日歷對象908可顯示在日期相關(guān)性下拉窗口902的底部,并向用戶提供用于插入日期的友好界面。
2.示例性數(shù)據(jù)存儲圖10示出了用于自動完成公式單元格數(shù)據(jù)的一個示例性實(shí)施例。系統(tǒng)1000包括計算機(jī)設(shè)備1002,它可以類似于上文結(jié)合圖1所描述的計算設(shè)備100或上文結(jié)合圖2所描述的移動設(shè)備200。計算設(shè)備1002可具有自動完成應(yīng)用程序,且自動完成應(yīng)用程序可包括用于顯示如上所述的自動完成成員的自動完成下拉窗口1004。
參考標(biāo)號1006表示數(shù)據(jù)存儲的一個實(shí)施例。數(shù)據(jù)存儲1006可以又多個數(shù)據(jù)存儲(組件存儲)組成。數(shù)據(jù)存儲1006可包括用于電子表格函數(shù)1008、定義名稱1010、列表1012、數(shù)據(jù)透視表1014、用戶定義函數(shù)1016、枚舉自變量1018、表數(shù)據(jù)1020和日期對象1022的存儲。數(shù)據(jù)存儲1006還可包括自動完成成員存儲1024,它可包括過濾器1026。即使數(shù)據(jù)存儲1006在圖10中被表示為多個數(shù)據(jù)存儲1008-1024,但數(shù)據(jù)存儲1006也可以是單個數(shù)據(jù)存儲。還可構(gòu)想數(shù)據(jù)存儲1006可包括可用于自動完成公式單元格1002的所有組件的池。也可構(gòu)想數(shù)據(jù)存儲1006可以是僅包括可用于自動完成公式單元格的所有可能組件的一部分的已過濾存儲。
在一個實(shí)施例中,輸入觸發(fā)符是公式單元格中的輸入。然后訪問存儲器1006,并將存儲1008-1022與輸入觸發(fā)符進(jìn)行比較,以確定與觸發(fā)符有關(guān)的組件。在另一實(shí)施例中,如果觸發(fā)符暗示特定存儲,則響應(yīng)于觸發(fā)符僅訪問一個或多個特定存儲1008-1022。有關(guān)的自動完成成員然后可作為數(shù)組儲存在自動完成成員存儲1024中。自動完成下拉窗口1004可顯示存儲1024的最相關(guān)自動完成成員。當(dāng)用戶繼續(xù)鍵入輸入時,連續(xù)地過濾自動完成數(shù)組成員,使得自動完成下拉窗口1004在任一時刻顯示最相關(guān)的自動完成數(shù)組成員。
作為與圖4有關(guān)的一個示例,用戶可以輸入一輸入觸發(fā)符412,它可以是字母“S”。在這一情況下,自動完成過程可能不標(biāo)識出字母“S”與任一特定類型的組件有關(guān)。然后將訪問存儲1006,并將存儲單元1008-1022與輸入觸發(fā)符412進(jìn)行比較。以字母“S”開頭的所有相關(guān)組件將被儲存在自動完成數(shù)組成員存儲1024中,且自動完成下拉窗口404將顯示最相關(guān)的組件。例如,如果用戶然后在字母“S”之后鍵入字母“a”,則進(jìn)一步過濾組件以移除沒有字母組合“Sa”的組件。以此方式,自動完成下拉窗口404總是顯示最相關(guān)的自動完成數(shù)組成員410。在另一示例中,用戶可輸入一輸入觸發(fā)符,它可以是開括號。開括號觸發(fā)符可以僅暗示列表相關(guān)性。因此,自動完成下拉窗口可以僅顯示列表相關(guān)性。作為另一示例,輸入觸發(fā)符可以是“+”符號?!?”符號可能不暗示特定類型的組件,因此將在下拉窗口中顯示所有組件。
3.示例性輸入觸發(fā)符如上所述,自動完成過程可以將各種類型的組件放入池中,以確定特定輸入觸發(fā)符的最相關(guān)組件。輸入觸發(fā)符也可暗示某一組組件。在這一情況下,自動完成過程可只需訪問特定的組件存儲。以下表5示出了用于電子表格函數(shù)相關(guān)性和用戶定義函數(shù)相關(guān)性的若干示例性上下文相關(guān)輸入觸發(fā)符。第1列標(biāo)識了示例性用戶輸入情形,第2列表示界面中的響應(yīng)的示例性描述。表5表示鍵盤交互的通用示例,并不意味著局限本發(fā)明。
表5
以下表6示出了對定義名稱的若干示例性上下文相關(guān)輸入觸發(fā)符。第1列標(biāo)識了示例性用戶輸入情形,第2列表示界面中的響應(yīng)的示例性描述。表6表示鍵盤交互的若干示例,并不意味著局限本發(fā)明。
表6
以下表7示出了用于列表名稱的若干示例性上下文相關(guān)輸入觸發(fā)符。第1列標(biāo)識了示例性用戶輸入情形,第2列表示界面中的響應(yīng)的示例性描述。表7表示鍵盤交互的通用示例,并不意味著局限本發(fā)明。
表7
以下表8示出了用于列表字段的若干示例性上下文相關(guān)性輸入觸發(fā)符。第1列標(biāo)識了用戶輸入情形,第2列表示界面中的響應(yīng)的示例性描述。表8表示鍵盤輸入的通用示例,并不意味著局限本發(fā)明。
表8
以下表9示出了用于數(shù)據(jù)透視表名稱的若干示例性上下文相關(guān)性輸入觸發(fā)符。第1列標(biāo)識了示例性用戶情形,第2列表示界面中的響應(yīng)的示例性描述。表9表示鍵盤輸入的通用示例,并非局限本發(fā)明。
表9
以下表10示出了用于數(shù)據(jù)透視表字段的若干示例性上下文相關(guān)輸入觸發(fā)符。第1列標(biāo)識了示例性用戶輸入情形,第2列標(biāo)識了界面中的響應(yīng)的示例性描述。表10表示鍵盤交互的通用示例,并不意味著局限本發(fā)明。
表10
以下表11示出了用于表數(shù)據(jù)的若干示例性上下文相關(guān)輸入觸發(fā)符。第1列標(biāo)識了示例性用戶輸入情形,第2列表示界面中的響應(yīng)的示例性描述。表11表示鍵盤交互的通用示例,并不意味著局限本發(fā)明。
表11
以下表12示出了用于表數(shù)據(jù)限幅符的若干示例性上下文相關(guān)輸入觸發(fā)符。第1列標(biāo)識了示例性用戶輸入情形,第2列表示界面中的響應(yīng)的示例性描述。表12表示鍵盤交互的通用示例,并不意味著局限本發(fā)明表12
4.示例性提示窗口參考圖4,如上所述,參考標(biāo)號406是提示窗口。在一個實(shí)施例中,提示窗口包括上下文文本行和選中的自動完成成員的描述。提示窗口可包括幫助用戶標(biāo)識組件的任何信息。如圖4所示,提示窗口406可以在自動完成成員數(shù)組中加亮顯示一自動完成成員時出現(xiàn)。以下表13示出了用于電子表格函數(shù)相關(guān)性的提示窗口的一個示例。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表13表示了提示窗口的通用示例,并不意味著局限本發(fā)明。
表13
以下表14示出了用于用戶定義函數(shù)相關(guān)性的提示窗口的一個示例。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表14表示了提示窗口的通用示例,并不意味著局限本發(fā)明。
表14
以下表15示出了用于枚舉自變量相關(guān)性的提示窗口的一個示例。枚舉自變量可包括所有的布爾自變量(true/false(真/假)、on/off(開/關(guān))、yes/no(是/否)等等)。枚舉自變量還可包括傳統(tǒng)的枚舉自變量,其中數(shù)字值映射到選擇(1-平均、2-計數(shù)等)。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表15表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表15
以下表16示出了用于定義名稱相關(guān)性的提示窗口的一個示例。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表16表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表16
以下表17示出了用于列表相關(guān)性的提示窗口的一個示例。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表17示出了提示窗口的通用示例,并不意味著局限本發(fā)明。
表17
以下表18示出了用于列表相關(guān)性的提示窗口的另一示例。表18中例示的提示窗口可在用戶在列表的區(qū)分符內(nèi)工作時使用,并且如圖6所示,相關(guān)性是特殊項(xiàng)610。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表18表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表18
以下表19示出了用于列表相關(guān)性的提示窗口的另一示例。表19中例示的提示窗口可在用戶在列表的區(qū)分符內(nèi)工作時使用,并且如圖6所示,相關(guān)性是列名608。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表19表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表19
以下表20示出了用于數(shù)據(jù)透視表相關(guān)性的提示窗口的一個示例。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表20表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表20
以下表21示出了用于數(shù)據(jù)透視表相關(guān)性的提示窗口的另一示例。表21中例示的提示窗口可以在用戶在數(shù)據(jù)透視表的區(qū)分符內(nèi)工作時使用,并且如圖7所示,相關(guān)性是特殊項(xiàng)710。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表21表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表21
以下表22示出了用于數(shù)據(jù)透視表相關(guān)性的提示窗口的又一示例。表22中例示的提示窗口是可在用戶在數(shù)據(jù)透視表的區(qū)分符內(nèi)工作時使用的另一提示窗口,并且如圖7所示,相關(guān)性是特殊項(xiàng)710。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表22表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表22
以下表23示出了用于數(shù)據(jù)透視表相關(guān)性的提示窗口的再一示例。表23中例示的提示窗口可在用戶在數(shù)據(jù)透視表字段中工作時使用。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表23是提示窗口的通用示例,并不意味著局限本發(fā)明。
表23
以下表24示出了用于表數(shù)據(jù)相關(guān)性的提示窗口的一個示例。表24涉及表數(shù)據(jù)連接相關(guān)性。連接是用于連接到多維數(shù)據(jù)集的名稱或串。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表24表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表24
以下表25示出了用于表數(shù)據(jù)相關(guān)性的提示窗口的另一示例。表25涉及表數(shù)據(jù)名字空間相關(guān)性。名字空間是包含多維數(shù)據(jù)集內(nèi)的成員的成員名的串。第1列標(biāo)識了提示窗口的示例性內(nèi)容,第2列是示例。表25表示提示窗口的通用示例,并不意味著局限本發(fā)明。
表25
5.示例性過程圖11示出了用于自動完成公式單元格的過程的邏輯流程圖。過程1100在起始框1102開始,并流到框1104,其中用戶提示自動完成過程。在本發(fā)明的一個實(shí)施例中,用戶通過向公式單元格輸入“=”符號來提示自動完成過程。在另一實(shí)施例中,用戶通過從工具欄的下拉菜單中激勵該過程來提示自動完成過程。還可構(gòu)想可使用任何數(shù)字、字母、符號或用戶輸入來提示自動完成過程1100,而不脫離本發(fā)明的精神或范圍。
過程1100繼續(xù)到框1106,其中確定是否輸入了字符。如果輸入了字符,則過程1100如下所述地繼續(xù)到框1110。如果未輸入字符,則過程1100保持休眠直到確定輸入了字符。字符也可包括任何數(shù)字、字母、標(biāo)點(diǎn)符號、符號或用戶輸入。
如果輸入了字符,則過程1100繼續(xù)到框1108,其中確定字符是否是觸發(fā)符。如果該字符不是觸發(fā)符,則過程繼續(xù)到框1110,其中自動完成下拉窗口的狀態(tài)不變。換言之,如果下拉窗口是休眠的,則它保持休眠。在其它情況下,如果下拉窗口正顯示一組組件,則它保持顯示同一組組件。以上表3列出了輸入字符不激勵窗口的顯示的幾個示例性情形。這些情形僅用于示例性目的;還可構(gòu)想窗口可在不期望顯示窗口的任何情況下保持休眠。
過程1100繼續(xù)到框1114,其中確定是否輸入了另一字符。在輸入了另一字符的情況下,過程1100循環(huán)回到框1108,確定該字符是否是觸發(fā)符。如果確定未輸入另一字符,則過程1100繼續(xù)到框1116,確定單元格輸入是否完成。如果單元格輸入完成,則過程在結(jié)束框1132結(jié)束。如果單元格輸入未完成,則過程循環(huán)回到框1114。
如果在框1108確定輸入是觸發(fā)符,則過程1100繼續(xù)到框1118,確定是否隱含特定組件。以上表4列出了觸發(fā)符不隱含特定組件的幾個示例性情形。其它示例性情形包括輸入空格、算術(shù)運(yùn)算符、字符運(yùn)算符或完整的自動完成成員。在這一情況下,自動完成數(shù)組成員將不被過濾,且自動完成下拉窗口將如框1120所示的包括整個自動完成成員列表。
如果在框1118,觸發(fā)符不隱含組件,則過程1110將流到框1122???122表示過濾自動完成數(shù)組成員以僅包括涉及隱含的組件的成員的步驟。例如,用戶可輸入左圓括號。在僅在公式單元格中使用左圓括號來構(gòu)建電子表格公式或用戶定義公式的情況下,過濾器將過濾出除電子表格公式依賴性和用戶定義依賴性之外的所有組件。作為另一示例,用戶可輸入左括號符號。左括號可僅暗示列表、數(shù)據(jù)透視表或表數(shù)據(jù)對象。在這一情況下,過程1100將過濾出不是列表、數(shù)據(jù)透視表或表數(shù)據(jù)對象的所有組件。
過程1100繼續(xù)到框1124,其中過濾的成員被包括在下拉窗口中以供用戶選擇???126表示對是否從下拉窗口中選擇一自動完成成員的判斷。如果未做出選擇,則過程1100循環(huán)回到框1114。如果做出了選擇,則該選擇如框1128所示的被輸入到公式單元格中,并且過程1100繼續(xù)到框1130,確定單元格輸入是否完成。如果單元格輸入完成,則過程1100在結(jié)束框1132結(jié)束。如果單元格輸入未完成,則過程1100循環(huán)回到框1114。
說明性操作環(huán)境參考圖1,用于實(shí)現(xiàn)本發(fā)明的一個示例性系統(tǒng)包括諸如計算設(shè)備100的計算設(shè)備。在基本配置中,計算設(shè)備100通常包括至少一個處理單元102和系統(tǒng)存儲器104。根據(jù)計算設(shè)備的確切配置和類型,系統(tǒng)存儲器104可以是易失性(如RAM)、非易失性(如ROM、閃存等)或兩者的某一組合。系統(tǒng)存儲器104通常包括操作系統(tǒng)105、一個或多個應(yīng)用程序106,并且可包括程序數(shù)據(jù)107。這一基本配置在圖1中由虛線108內(nèi)的組件示出。
計算設(shè)備100還可具有另外的特征或功能。例如,計算設(shè)備100也可包括另外的數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),如磁盤、光盤或磁帶。這類另外的存儲在圖1中由可移動存儲109和不可移動存儲110示出。計算機(jī)存儲介質(zhì)可包括以用于儲存如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。系統(tǒng)存儲器104、可移動存儲109和不可移動存儲110都是計算機(jī)存儲介質(zhì)的示例。計算機(jī)存儲介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存期望的信息并可由計算設(shè)備100訪問的任一其它介質(zhì)。任一這類計算機(jī)存儲介質(zhì)可以是設(shè)備100的一部分。計算設(shè)備100也可具有(多個)輸入設(shè)備112,如鍵盤、鼠標(biāo)、輸入筆、語音輸入設(shè)備、觸摸輸入設(shè)備等等。也可包括(多個)輸出設(shè)備114,如顯示器、揚(yáng)聲器、打印機(jī)等等。所有這些設(shè)備在本領(lǐng)域中是已知的,且無需在此詳細(xì)描述。
計算設(shè)備100也包含允許設(shè)備如通過網(wǎng)絡(luò)或無線網(wǎng)狀網(wǎng)絡(luò)與其它計算設(shè)備118進(jìn)行通信的通信連接116。通信連接116是通信介質(zhì)的一個示例。通信介質(zhì)通常能以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)實(shí)施,并包括任一信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。本發(fā)明使用的術(shù)語計算機(jī)可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。
在一個實(shí)施例中,應(yīng)用程序106還包括用于依照本發(fā)明自動完成公式單元格的應(yīng)用程序120。
圖2示出了在本發(fā)明的一個示例性實(shí)施例中使用的移動計算設(shè)備。參考圖2,用于實(shí)現(xiàn)本發(fā)明的一個示例性系統(tǒng)包括如移動計算設(shè)備200的移動計算設(shè)備。移動計算設(shè)備200包括處理器260、存儲器262、顯示屏228和小鍵盤232。存儲器262一般包括易失性存儲器(如RAM)和非易失性存儲器(如ROM、閃存等)。移動設(shè)備200包括操作系統(tǒng)264,諸如微軟公司的Windows CE操作系統(tǒng)或其它操作系統(tǒng),它駐留在存儲器262中并在處理器260上執(zhí)行。小鍵盤232可以是按鈕數(shù)字撥號盤(如在典型的電話上的)、多鍵鍵盤(如常規(guī)的鍵盤)。顯示屏228可以是液晶顯示屏或通常在移動計算設(shè)備中使用的任一其它類型的顯示屏。顯示屏228可以是觸敏的,并且因此可以擔(dān)當(dāng)輸入設(shè)備。
一個或多個應(yīng)用程序266被加載到存儲器262中并在操作系統(tǒng)264上運(yùn)行。應(yīng)用程序的示例包括電話撥號器程序、電子郵件程序、時間安排程序、PIM(個人信息管理)程序、文字處理程序、電子表格程序、因特網(wǎng)瀏覽器程序等等。移動計算設(shè)備200也包括存儲器262內(nèi)的非易失性存儲268。非易失性存儲268可用于儲存持久信息,即使移動設(shè)備200斷電它也不會丟失。應(yīng)用程序266可以使用并儲存存儲268中的信息,如由電子郵件應(yīng)用程序使用的電子郵件或其它消息、由PIM使用的聯(lián)系人信息、由時間安排程序使用的約會信息、由文字處理應(yīng)用程序使用的文檔等等。
移動設(shè)備200具有電源270,它可以被實(shí)現(xiàn)為一個或多個電池。電源270還可包括外部功率源,如對電池進(jìn)行補(bǔ)充或重新充電的AC適配器或加電對接基座。
還示出移動設(shè)備200具有兩種類型的外部通知機(jī)制LED240和音頻接口274。這些設(shè)備可以直接耦合至電源270,使得當(dāng)被激活時,即使處理器和其它組件可能被關(guān)閉以節(jié)約電池功率,它們也能在由通知機(jī)制指定的一段持續(xù)時間內(nèi)保持開。LED240可以被編程為在用戶采取行動來指示設(shè)備的加電狀態(tài)之前無限地保持開。音頻接口274用來向用戶提供并從其接收可聽見的信號。例如,音頻接口274可以耦合至用于提供可聽見輸出的揚(yáng)聲器以及用于接收可聽見輸入的麥克風(fēng),如用于方便電話會議。
移動設(shè)備200也包括無線電接口層272,它執(zhí)行發(fā)送并接收諸如射頻通信等射頻通信的功能。無線電接口層272通過通信運(yùn)營商或服務(wù)提供商方便了移動設(shè)備200和外部世界之間的無線連接。與無線電接口層272的往返傳輸在操作系統(tǒng)264的控制下執(zhí)行。換言之,由無線電272接收的通信可以通過操作系統(tǒng)264傳播到應(yīng)用程序266,反之亦然。
在一個實(shí)施例中,應(yīng)用程序266還包括用于依照本發(fā)明自動完成公式單元格的應(yīng)用程序280。
以上說明書、示例和數(shù)據(jù)提供了對本發(fā)明的組成部分的制造和使用的完整描述。由于可以在不脫離本發(fā)明的精神和范圍的情況下做出本發(fā)明的許多實(shí)施例,因此本發(fā)明歸于所附權(quán)利要求書。
權(quán)利要求
1.一種用于自動完成公式單元格數(shù)據(jù)的計算機(jī)實(shí)現(xiàn)的方法,包括響應(yīng)于公式單元格數(shù)據(jù)的用戶輸入具體化一自動完成過程;基于所述用戶輸入聚集自動完成選項(xiàng);以及當(dāng)所述用戶輸入是觸發(fā)符時顯示自動完成選項(xiàng)動態(tài)列表。
2.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括在具體化所述自動完成過程之前激勵所述自動完成過程。
3.如權(quán)利要求2所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,激勵所述自動完成過程還包括通過向所述公式單元格輸入字符來激勵所述自動完成過程。
4.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述公式單元格數(shù)據(jù)包括電子表格數(shù)據(jù)。
5.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,聚集自動完成選項(xiàng)還包括聚集組件。
6.如權(quán)利要求5所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述組件包括以下的至少一個電子表格函數(shù)相關(guān)性、定義名稱相關(guān)性、列表、數(shù)據(jù)透視表相關(guān)性、用戶定義函數(shù)相關(guān)性、枚舉自變量相關(guān)性、表數(shù)據(jù)對象相關(guān)性以及日期對象相關(guān)性。
7.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括顯示與選自所述動態(tài)列表的自動完成選項(xiàng)相關(guān)聯(lián)的提示。
8.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,觸發(fā)符不包括以下的任一個單元格引用、數(shù)字、空格、算術(shù)運(yùn)算符以及字符運(yùn)算符。
9.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括當(dāng)所述用戶輸入不是觸發(fā)符時隱藏所述自動完成選項(xiàng)動態(tài)列表。
10.如權(quán)利要求9所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括當(dāng)?shù)诙脩糨斎胧怯|發(fā)符時顯示所述自動完成選項(xiàng)動態(tài)列表。
11.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,顯示自動完成選項(xiàng)動態(tài)列表還包括當(dāng)所述觸發(fā)符不隱含組件時顯示未經(jīng)過濾的自動完成選項(xiàng)動態(tài)列表。
12.如權(quán)利要求11所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括當(dāng)?shù)诙脩糨斎腚[含組件時過濾所述未經(jīng)過濾的自動完成選項(xiàng)動態(tài)列表。
13.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,顯示自動完成選項(xiàng)動態(tài)列表還包括當(dāng)所述觸發(fā)符隱含組件時顯示經(jīng)過濾的自動完成選項(xiàng)動態(tài)列表。
14.如權(quán)利要求13所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括當(dāng)?shù)诙脩糨斎腚[含組件時第二次過濾所述經(jīng)過濾的自動完成選項(xiàng)列表。
15.一種其上儲存數(shù)據(jù)結(jié)構(gòu)的計算機(jī)可讀介質(zhì),所述數(shù)據(jù)結(jié)構(gòu)包括適用于用戶輸入的第一數(shù)據(jù)字段;第二數(shù)據(jù)字段,包括用于自動完成所述第一數(shù)據(jù)字段的自動完成選項(xiàng)的集合;以及第三數(shù)據(jù)字段,如果所述用戶輸入不隱含組件時包括所述第二數(shù)據(jù)字段的未經(jīng)過濾的列表,以及當(dāng)用戶輸入隱含組件時包括所述第二數(shù)據(jù)字段的經(jīng)過濾的列表。
16.如權(quán)利要求15所述的計算機(jī)可讀介質(zhì),其特征在于,所述第一數(shù)據(jù)字段是電子表格單元格。
17.如權(quán)利要求15所述的計算機(jī)可讀介質(zhì),其特征在于,所述第二數(shù)據(jù)字段包括以下的至少一個電子表格函數(shù)、定義名稱、列表、數(shù)據(jù)透視表、用戶定義函數(shù)、枚舉自變量、表數(shù)據(jù)對象以及日期對象。
18.如權(quán)利要求15所述的計算機(jī)可讀介質(zhì),其特征在于,還包括第四數(shù)據(jù)字段,包括關(guān)于所選擇的自動完成選項(xiàng)的信息。
19.如權(quán)利要求18所述的計算機(jī)可讀介質(zhì),其特征在于,所述信息包括關(guān)于所選擇的自動完成選項(xiàng)的提示。
20.在具有包括顯示器和用戶界面選擇設(shè)備的圖形用戶界面的計算機(jī)系統(tǒng)中,一種在顯示器上提供動態(tài)列表并從中選擇的方法,包括以下步驟響應(yīng)于對公式單元格的用戶輸入具體化-自動完成過程;基于所述用戶輸入聚集自動完成選項(xiàng);當(dāng)所述用戶輸入與所述自動完成選項(xiàng)相關(guān)聯(lián)且所述用戶輸入隱含組件時,顯示經(jīng)過濾的自動完成選項(xiàng)動態(tài)列表;當(dāng)所述用戶輸入與所述自動完成選項(xiàng)相關(guān)聯(lián)且所述用戶輸入不隱含組件時,顯示未經(jīng)過濾的自動完成選項(xiàng)的動態(tài)列表;以及當(dāng)所述用戶輸入不與所述自動完成選項(xiàng)相關(guān)聯(lián)時,隱藏所述自動完成過程,使得不顯示列表。
全文摘要
一種用于自動完成電子表格應(yīng)用程序、計算器應(yīng)用程序、會計應(yīng)用程序、商務(wù)應(yīng)用程序或銀行應(yīng)用程序的公式的系統(tǒng)和方法。本發(fā)明的一方面是一種用于自動完成公式單元格數(shù)據(jù)的計算機(jī)實(shí)現(xiàn)的方法。該計算機(jī)實(shí)現(xiàn)的方法包括用于響應(yīng)于公式單元格數(shù)據(jù)的用戶輸入具體化自動完成過程以及基于用戶輸入聚集自動完成選項(xiàng)的步驟。本發(fā)明的另一方面包括當(dāng)用戶輸入是觸發(fā)符時顯示自動完成選項(xiàng)的動態(tài)列表。
文檔編號G06F17/30GK1790259SQ200510125028
公開日2006年6月21日 申請日期2005年11月15日 優(yōu)先權(quán)日2004年12月15日
發(fā)明者B·G·韋伯, C·D·艾利斯 申請人:微軟公司