KR20160098264A - 전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법 - Google Patents

전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법 Download PDF

Info

Publication number
KR20160098264A
KR20160098264A KR1020167016062A KR20167016062A KR20160098264A KR 20160098264 A KR20160098264 A KR 20160098264A KR 1020167016062 A KR1020167016062 A KR 1020167016062A KR 20167016062 A KR20167016062 A KR 20167016062A KR 20160098264 A KR20160098264 A KR 20160098264A
Authority
KR
South Korea
Prior art keywords
spreadsheet
function
formula
user
spreadsheet function
Prior art date
Application number
KR1020167016062A
Other languages
English (en)
Other versions
KR102326309B1 (ko
Inventor
칼로스 어거스토 오테로
존 캠벨
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160098264A publication Critical patent/KR20160098264A/ko
Application granted granted Critical
Publication of KR102326309B1 publication Critical patent/KR102326309B1/ko

Links

Images

Classifications

    • G06F17/246
    • G06F17/212
    • G06F17/24
    • G06F17/245
    • G06F17/276
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • G06F9/4446
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Abstract

전자 컴퓨팅 장치를 사용하여 스프레드시트 수식 및 함수를 생성하는 방법 및 사용 방법이 제공된다. 사용자가 콘텐트(예컨대, 스프레드시트 셀)를 스프레드시트 수식/함수 바로 이동시키면, 해당 콘텐트에 대한 셀 참조가 자동으로 생성되고 또한 수식/함수 바에 이 셀 참조가 배치될 수 있으며, 또한 사용자가 스프레드시트 셀에 수학 연산식을 입력하는 경우 대응하는 연산식의 문장 구조(문법)가 수식/함수 바에 자동으로 삽입될 수 있다. 사용자가 수식/함수를 입력하기 시작할 때 하나 이상의 수식 또는 함수가 자동으로 제안될 수 있다. 수식/함수의 인자/성분에 대한 도움이 되는 정보를 제공하기 위해서 항상 보여지는 수식/함수 가이드가 표현 또는 표시될 수 있으며, 또한 도움말 리소스 인터페이스에 애플리케이션의 기능 및 스프레드시트의 수식/함수에 대한 도움말 리소스가 제공될 수 있다.

Description

전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법{FORMULA AND FUNCTION GENERATION AND USE IN ELECTRONIC SPREADSHEETS}
컴퓨터 및 컴퓨터 소프트웨어가 출현하면서, 사용자들은 다양한 유형의 데이터를 수신, 입력, 편집, 필터링 및 다른 방식으로 활용하는데 익숙해져 가고 있다. 스프레드시트 애플리케이션은 사용자로 하여금 대량의 데이터를 취급할 수 있도록 하고 또한 복수의 서로 다른 계산 및 자료 구조 함수를 수행할 수 있도록 하고 있어 매우 인기가 있다. 스프레드시트 애플리케이션의 사용자는 다양한 수학적 및 자료 구조화 수식 및 함수의 도움을 받아서 다량의 데이터를 입력하고 또한 조작할 수 있다. 불행하게도, 스프레드시트 애플리케이션의 수식 및 함수를 입력하고 수정하는 일은 스프레드시트 애플리케이션에 의해서 사용되는 전형적인 고유의 구조(또는, 문법(syntax)) 때문에 많은 사용자에게 있어서 어려운 작업이 될 수 있다. 또한, 터치가 가능한 컴퓨팅 장치의 출현과 더불어, 터치 인터페이스를 사용하여 이와 같은 수식 및 함수를 입력하고 조작하는 것은 특히 어려운 일이 되었다. 그리고, 터치 가능한 많은 장치들이 팝업 방식의 소프트 키보드를 제공하고는 있지만, 이와 같은 소프트 키보드는 종종 주어진 장치의 가용 디스플레이 공간의 절반 또는 그 이상을 이와 같은 수식 및 함수를 입력하는데 소모하고 있고 또한 이와 같은 수식 및 함수의 사용은 사용자를 실망하게 하였다.
본 발명은 이들 및 기타 고려 사항을 감안하여 이루어졌다.
본 "발명의 내용" 항목은 이하 "발명을 실시하기 위한 구체적인 내용" 항목에서 더욱 상세하게 설명되는 몇 가지 개념을 선택하여 단순화된 형식으로 소개하기 위해 제공되는 것이다. 본 "발명의 내용" 항목은 청구 범위에 기재된 청구 내용의 주된 특징 또는 핵심 특징을 식별하고자 하는 의도로 제공되는 것이 아니며, 또한 청구 범위에 기재된 청구 대상의 범위를 한정함에 있어서 도움을 주기 위해 의도된 것도 아니다.
본 발명의 각 실시예는 전자 컴퓨팅 장치를 사용하여 효과적으로 스프레드시트 수식 및 함수를 생성하는 방법 및 사용하는 방법을 제공하는 것에 의해서 상술한 문제점 및 기타 문제점을 해결한다. 실시예에 따르면, 전자 스프레드시트 문서를 이용하는 경우, 하나 이상의 터치에 최적화된 수식 및 함수(이하, 집합적으로 "수식/함수"라 함)를 포함하는 다양한 수식 및 함수가 제공될 수 있다. 사용자가 콘텐트(예컨대, 스프레드시트 셀)를 스프레드시트 수식/함수 바(spreadsheet formula/function bar)로 드래그(drag)하거나 다른 방식으로 이동시키는 경우, 이 콘텐트에 대한 셀 참조가 자동으로 생성되고 또한 수식/함수 바에 배치될 수 있다. 사용자가 스프레드시트 셀에 수학 연산식을 삽입하는 경우, 대응하는 연산식의 문장 구조(문법)가 수식/함수 바에 자동으로 삽입될 수 있다. 사용자가 스프레드시트의 콘텐트와 상호 작용하면, 수식/함수를 생성하고자 하는 사용자의 의도가 검출될 수 있으며, 이에 수식/함수 문법이 수식/함수 바에 자동으로 제안 또는 삽입될 수 있다. 또한, 사용자가 수식/함수의 첫 문자를 입력하기 시작함에 따라서 하나 이상의 수식 또는 함수가 자동으로 제안될 수 있다.
다른 실시예에 따르면, 항상 보여지는 수식/함수 바(마찬가지로 수식 또는 함수 가이드라 함)가 표현 또는 표시되어 수식/함수의 인자/컴포넌트에 대한 유용한 정보를 제공할 수 있다. 또한, 도움말 리소스가 창(pane), 다이얼로그 박스, 또는 기타 사용자 인터페이스 컴포넌트에 제안 및/또는 표시되어 애플리케이션의 전체 기능 및 스프레드시트의 수식/함수에 대한 도움말 콘텐트를 제공할 수 있다.
하나 이상의 실시예의 상세는 첨부 도면 및 이하의 발명의 설명에서 설명된다. 기타 특징 및 장점은 후술하는 발명의 상세한 설명의 해석 및 관련된 도면의 검토로부터 명백해질 것이다. 후술하는 발명의 상세한 설명은 오로지 설명을 위한 것일 뿐이며 또한 청구범위에서 청구하는 바와 같이 본 발명을 제한하는 것이 아님을 알아야 한다.
본 발명의 설명에 포함되고 또한 그 일부를 구성하는 첨부 도면은 본 발명의 다양한 실시예에 대해서 설명하고 있다.
도 1은, 본 발명의 각 실시예가 실시될 수 있는 시스템 아키텍처를 도시한 도면이다.
도 2a는, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서를 도시한 도면이다.
도 2b는, 다양한 데이터 아이템 및 표시된 소프트 키보드를 포함하고 있는 전자 스프레드시트 문서를 도시한 도면이다.
도 2c는, 다양한 데이터 아이템 및 표시된 소프트 키보드를 포함하고 있는 전자 스프레드시트 문서를 도시한 도면이다.
도 3a는, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서를 도시한 도면이다.
도 3b는, 도 3a의 전자 스프레드시트 문서 및 하나의 데이터 아이템과의 터치 상호 작용을 나타내고 있는 것을 도시한 도면이다.
도 3c는, 다양한 데이터 아이템을 포함하고 있는 도 3b의 전자 스프레드시트 문서 및 하나의 데이터 아이템과의 터치 상호 작용을 나타내고 있는 것을 도시한 도면이다.
도 3d는, 다양한 데이터 아이템을 포함하고 있는 도 3c의 전자 스프레드시트 문서 및 하나의 데이터 아이템과의 터치 상호 작용을 나타내고 있는 것을 도시한 도면이다.
도 3e는, 다양한 데이터 아이템을 포함하고 있는 도 3d의 전자 스프레드시트 문서 및 하나의 데이터 아이템과의 터치 상호 작용을 나타내고 있는 것을 도시한 도면이다.
도 3f는, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서 및 수식/함수 바에서의 복수의 셀 참조 및 수식/함수 연산을 나타내고 있는 것을 도시한 도면이다.
도 3g는, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서를 도시한 도면이다.
도 3h는, 도 3g의 전자 스프레드시트 문서 및 하나의 데이터 아이템과의 터치 상호 작용을 나타내고 있는 것을 도시한 도면이다.
도 3i는, 도 3h의 전자 스프레드시트 문서 및 하나의 데이터 아이템과의 터치 상호 작용을 나타내고 있는 것을 도시한 도면이다.
도 3j는, 다양한 데이터 아이템을 포함하고 있는 도 3i의 전자 스프레드시트 문서 및 복수의 셀 참조 및 수식/함수 바에서의 수식/함수 연산을 나타내고 있는 것을 도시한 도면이다.
도 4a는, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서 및 표시된 소프트 키보드 및 복수의 선택 가능한 스프레드시트 함수를 나타내고 있는 것을 도시한 도면이다.
도 4b는, 다양한 데이터 아이템을 포함하고 있는 도 4a의 전자 스프레드시트 문서 및 사용자가 수식/함수 바에 스프레드시트 함수를 입력하고 있는 것을 나타내고 있는 것을 도시한 도면이다.
도 4c는, 다양한 데이터 아이템을 포함하고 있는 도 4b의 전자 스프레드시트 문서 및 사용자가 수식/함수 바에 스프레드시트 함수를 입력하고 있는 것을 나타내고 있는 것을 도시한 도면이다.
도 5a는, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서 및 항상 보여지는 수식/함수 가이드를 나타내고 있는 것을 도시한 도면이다.
도 5b는, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서 및 항상 보여지는 수식/함수 가이드를 나타내고 있는 것을 도시한 도면이다.
도 6은, 다양한 데이터 아이템을 포함하고 있는 전자 스프레드시트 문서 및 표시된 도움말 리소스 창을 나타내고 있는 것을 도시한 도면이다.
도 7은, 전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법을 도시하고 있는 플로 차트이다.
도 8은, 본 발명의 각 실시예가 실시될 수 있는 컴퓨팅 장치의 예시적인 물리적인 컴포넌트를 도시하고 있는 간략화된 블록 다이어그램이다.
도 9a 및 도 9b는, 본 발명의 각 실시예가 실시될 수 있는 모바일 컴퓨팅 장치의 간략화된 블록 다이어그램이다.
도 10은, 본 발명의 실시예가 실시될 수 있는 분산형 컴퓨팅 시스템의 간략화된 블록 다이어그램이다.
간략하게 상술한 바와 같이, 본 발명의 각 실시예는 전자 컴퓨팅 장치를 사용하여 효과적으로 스프레드시트 함수를 생성하는 방법 및 사용 방법에 관한 것이다. 후술하는 발명을 실시하기 위한 구체적인 내용에 대해서는 첨부 도면을 참조하여 설명하기로 한다. 가능하다면, 도면 및 후술하는 발명의 설명에서는 동일한 도면 부호를 사용하여 동일 또는 유사한 구성 요소를 지칭한다. 본 발명의 각 실시예에 대해서 설명하지만, 변경, 개작, 및 기타 구현도 가능하다. 예를 들면, 도면에 도시된 각 구성 요소에 대해서 치환, 추가, 또는 변경이 행해질 수 있고, 또한 설명한 방법은 개시된 방법에 대해서 단계의 치환, 재배열, 또는 추가에 의해서 변형될 수 있다. 따라서, 후술하는 발명을 실시하기 위한 구체적인 내용은 본 발명을 제한하지 않으며, 오히려 본 발명의 정당한 범위는 첨부 청구 범위에 의해서 한정된다.
도 1은, 본 발명의 각 실시예가 실시될 수 있는 시스템 아키텍처를 도시한 도면이다. 도 1에는, 본 발명의 각 실시예가 개별적인 컴퓨팅 장치 상에서 또는 협업 세션에서 실시될 수 있는 다양한 컴퓨팅 장치가 도시되어 있다. 예를 들면, 소형 스마트 폰 또는 기타 핸드헬드 컴퓨팅 장치(110)가 디스플레이 창(111)을 가지고 있고 애플리케이션(115)과 관련된 것으로 도시되어 있다. 디스플레이 창(106) 및 관련된 스프레드시트 애플리케이션(115)을 갖는 더 큰 형태의 태블릿 스타일 컴퓨팅 장치(105)가 도시되어 있다. 디스플레이 창(121)을 갖는 대형 디스플레이 장치(120)는 컴퓨터(125) 및 스프레드시트 애플리케이션(115)과 관련되어 있는 것으로 도시되어 있다.
통상의 기술자라면 이해하는 바와 같이, 컴퓨팅 장치(105, 110, 120, 125)는 오로지 예시적인 목적일 뿐이며, 본 발명의 각 실시예에 따라서 사용될 수 있는 다양한 유형의 컴퓨팅 장치를 모두 포함하지는 않는다. 예를 들면, 디스플레이 장치(120)는 관련된 컴퓨팅 장치(125)를 갖는 디스플레이 유닛으로서 도시되어 있지만, 대형 디스플레이 장치(120)는 대형 디스플레이의 사용 방법, 예를 들면, 회의실용에서부터 필요에 따라서 개인 컴퓨팅용까지 임의로 적절하게 사용할 수 있는 일체형 디스플레이/컴퓨팅 장치로서 동작할 수도 있다. 본 발명의 각 실시예에 따르면, 도 1에 도시된 각각의 컴퓨팅 장치는 터치 또는 제스처 입력, 키보드 입력, 마우스 입력, 음성 명령 입력, 전자 잉크 방식 입력, 시선 추적 등을 포함하는 다양한 적절한 수단을 통해서 입력을 수신할 수 있다.
계속 도 1을 참조하면, 각각의 컴퓨팅 장치(105, 110, 120, 125)와 관련되어 도시되어 있는 소프트웨어 애플리케이션(115)은 본 발명의 설명에서 설명되는 바와 같이 본 발명의 각 실시예를 가능하게 하기 위한 인스트럭션을 실행하기에 충분한 컴퓨터를 갖는 임의의 애플리케이션의 예시이다. 예를 들면, 애플리케이션(115)에는 스프레드시트 애플리케이션, 워드 프로세싱 애플리케이션, 슬라이드 프리젠테이션 애플리케이션, 전자 메일 애플리케이션, 노트 애플리케이션, 데스크톱 출판 애플리케이션 등이 포함될 수 있다. 예시적인 스프레드시트 애플리케이션(115)에는 미국 워싱턴주의 레드먼드(Redmond)에 위치하는 마이크로소프트 코포레이션(Microsoft Corporation)에서 제조되는 엑셀(EXCEL)이 포함된다. 통상의 기술자라면 이해하는 바와 같이, 본 예시의 스프레드시트 애플리케이션은 본 발명의 설명에서 설명된 각 실시예를 사용할 수 있도록 하기에 적절한 다수의 애플리케이션 중의 하나의 예시일 뿐이다.
각각의 컴퓨팅 장치(105, 110, 120, 125)는 하나 이상의 유선 또는 무선 데이터 접속부(145, 150, 155)를 통한 협업 환경에서 동작할 수 있다. 즉, 각각의 컴퓨팅 장치는 직접 접속을 통해서, 또는 인터넷이나 인트라넷과 같은 분산형 컴퓨팅 네트워크(130)를 통한 접속을 통해서 유선 또는 무선 데이터선을 통해서 서로 통신할 수 있다.
본 발명의 각 실시예에 따르면, 각각의 컴퓨팅 장치(105, 110, 120, 125)와 관련된 애플리케이션 기능은 하나 이상의 변형례에 따라서 동작할 수 있다. 예를 들면, 각각의 애플리케이션(115)은 협업 세션에서 다른 컴퓨팅 장치 상에서 동작하는 다른 애플리케이션(115)으로 데이터를 전송하고 이로부터 데이터를 수신하는 능력을 포함하는 모든 애플리케이션 기능을 가지고 있는 완전하게 기능하는 "씩(thick)" 클라이언트 애플리케이션일 수 있다. 각각의 이와 같은 애플리케이션은 고유의 기능, 예를 들면, 스프레드시트 기능을 가지고 있을 뿐만 아니라, 본 발명의 각 실시예에 따르면, 각각의 이와 같은 애플리케이션은 각각의 애플리케이션이 제어 애플리케이션으로 동작하도록 함으로써 제어 장치로부터 전송된 정보를 제어하여 협업 환경에서 종점 디스플레이 장치에 의해서 수신되도록 하는 충분한 숫자의 컴퓨터 실행 가능 인스트럭션도 포함하고 있다. 마찬가지로, 각각의 이와 같은 애플리케이션은 충분한 숫자의 컴퓨터 실행 가능 인스트럭션을 가지고 있어 애플리케이션이 종점 디스플레이 장치로서 동작하도록 함으로써 다른 컴퓨팅 장치로부터 제어 기능을 수신할 수 있다.
다른 실시예에 따르면, 컴퓨팅 장치(105, 110, 120, 125)는 분산형 컴퓨팅 네트워크(130), 예를 들면, 인터넷(Internet)을 통해서 통신할 수 있다. 계속 도 1을 참조하면, 컴퓨팅 장치(135)는 하나 이상의 웹 서비스 애플리케이션(140)을 동작시켜서, 본 발명의 설명에서 설명한 바와 같이, 협업 세션을 제공할 수 있는 인터넷 기반 또는 "클라우드 기반"의 서버 컴퓨터의 예시이다. 이 실시예에 따르면, 각각의 장치(105, 110, 120, 125)는 씬(thin) 클라이언트 시스템으로서 동작할 수 있으며, 또한 이들 장치 사이에서의 협업적 통신은 원격지에서 동작되는 웹 서비스 애플리케이션(140)의 지시에 따라서 동작될 수 있다. 이 실시예에 따르면, 애플리케이션(115)은 원격 서버(135)에서 동작될 수 있으며, 이때 각각의 장치(105, 110, 120, 125)는 서버 기반 애플리케이션(115)으로부터의 원격 서비스, 예를 들면, 웹 서비스 애플리케이션(140)을 통해서 본 발명의 설명에서 설명된 기능에 액세스하고 또한 이 기능을 수신할 수 있다.
도 2a에는, 상술한 임의의 적절한 컴퓨팅 장치(105, 110, 120, 125) 상에 표시될 수 있는 예시적인 스프레드시트 애플리케이션 사용자 인터페이스(200) 및 스프레드시트 문서(205)가 도시되어 있다. 본 발명의 설명에서 설명된 각 실시예에 따르면, 전자 스프레드시트 사용자 인터페이스(200)와 스프레드시트 문서(205)의 사용자 상호 작용은 키보드 입력, 마우스 입력, 제스처 입력, 음성 명령, 시선 추적, 씬 에어(thin air) 제스처 입력, 전자 잉크 방식 입력, 및/또는 이들의 조합을 포함하는 다양한 상호 작용 방법을 통해서 수행될 수 있다. 전자 스프레드시트 사용자 인터페이스(200)와 스프레드시트 문서(205)는 오로지 예시 및 도해의 목적일 뿐이며 또한 본 발명의 각 실시예에서 이용될 수 있는 데이터를 포함할 수 있는 다양한 유형의 문서를 모두 나타낸 것은 아니다. 예를 들면, 본 명세서에서 설명된 각 실시예에서는 스프레드시트 애플리케이션 문서에 포함된 데이터와 관련된 연산과 관련하여 스프레드시트 타입의 수식/함수를 생성하고 이용하는 것에 대해서 설명하고 있지만, 본 발명의 각 실시예에 따라서 스프레드시트 타입의 함수를 수신하고, 표시하고, 또한 그 연산을 가능하게 할 수 있는 다른 소프트웨어 애플리케이션 및 관련 문서, 예를 들면, 워드 프로세싱 문서, 슬라이드 프리젠테이션 문서, 전자 메일 문서, 노트 문서 등을 이용할 수도 있다.
계속 도 2a를 참조하면, 예시적인 스프레드시트 사용자 인터페이스는 다양한 선택 가능한 버튼 및 컨트롤(control)을 포함하고 있어 하부의 스프레드시트 애플리케이션(115)의 기능을 획득하고 또한 이 기능을 스프레드시트의 그리드(grid) 또는 캔버스(205)에 포함된 하나 이상의 데이터 아이템에 적용할 수 있다. 하나 이상의 스프레드시트 셀 참조, 수학 연산자, 스프레드시트의 문법 문자, 수식, 함수 등이 입력 및/또는 사용하여 스프레드시트 문서(205)에 포함된 데이터와 관련된 하나 이상의 수식 또는 함수를 생성하고 또한 이용할 수 있도록 하는 수식/함수 바(215)가 제공된다. 문서(205)의 열 A에서 복수의 데이터명을 그리고 스프레드시트 문서(205)의 열 B에서 포함된 다양한 수치 데이터 아이템을 보여주는 다양한 예시적인 데이터 아이템(210)이 도시되어 있다. 통상의 기술자라면 이해하는 바와 같이, 도 2a에 도시된 데이터는 오로지 예시적인 목적일 뿐이며 또한 스프레드시트 또는 다른 문서에서 조직화될 수 있고 또한 본 발명의 각 실시예에서 이용될 수 있는 방대한 양의 데이터를 모두 나타낸 것은 아니다.
본 발명의 각 실시예에 따르면, 데이터는, 상술한 바와 같이, 임의의 적절한 사용자 상호 작용 방법에 따라서 사용자 인터페이스(200)를 통해서 스프레드시트 문서(205)에 입력되고 또한 조작될 수 있다. 도 2a에 도시되어 있는 바와 같이, 예시적인 사용자(207)는 컴퓨팅 장치의 터치 가능한 디스플레이 창을 터치하여 예시적인 스프레드시트 문서의 원하는 셀(예컨대, 셀(D2))에 데이터를 입력하기 시작할 수 있다. 본 발명의 일 실시예에 따른 도 2b를 참조하면, 사용자가 장치의 디스플레이 창을 터치하면, 소프트 키보드(235)가 장치(105)의 디스플레이 창에 나타나서 사용자로 하여금 원하는 스프레드시트 셀에 데이터를 입력할 수 있도록 한다. 통상의 기술자라면 이해하는 바와 같이, 상술한 임의의 다른 사용자 상호 작용 방법을 사용하여 마찬가지로 원하는 셀에 데이터를 입력할 수도 있다.
다시 도 2b를 참조하면, 배치된 소프트 키보드 상의 하나 이상의 키를 사용자가 선택하면, "5+5"라는 예시적인 데이터 입력 항목(225)이 스프레드시트 문서(205)의 셀(D2)에 입력된다. 통상의 기술자라면 이해하는 바와 같이, 사용자가 입력하는 데이터 입력 항목(225)은 예시적인 것일 뿐 본 발명의 각 실시예에 따라서 입력될 수 있는 다른 데이터 아이템을 제한하는 것은 아니다. 도 2b에 도시되어 있는 바와 같이, 사용자가 예시적인 데이터로서 "5+5"를 입력하게 되면, 대응하는 "5+5"의 입력 항목(230)이 수식/함수 바(215)에 자동으로 입력된다.
종래의 방법 및 시스템에 따르면, 스프레드시트 애플리케이션 사용자 인터페이스(200) 및 문서(205)인 경우 애플리케이션(115)에 의해서 기대되는 수식/함수 문법에 따라서 입력되지 않은 그와 같은 입력 항목(225)이 스프레드시트 셀에 입력되는 경우, 이 입력 항목은 단순한 텍스트 입력으로 간주되며, 사용자가 스프레드시트 셀과의 상호 작용을 중지하게 된 이후에 이 입력 항목은 텍스트 문자열, 예를 들면, 두 개의 숫자인 "5"와 "5"를 합산하려는 의도와는 달리 "5+5"로서 셀에 표시된다. 그러나, 본 발명의 각 실시예에 따르면, 문자열(225)의 입력, 예를 들면, 문자열 "5+5"가 입력되면 애플리케이션(115)에 의해서 분석되어 사용자가 수학 연산, 예를 들면, "5"와 "5"를 합산하여 그 결과인 "10"을 의도하고 있는 지를 판정할 수 있다. 통상의 기술자라면 이해하는 바와 같이, 이와 같은 판정은 문자 입력 패턴을 검토하여 숫자로서의 그와 같은 아이템 뒤에, 예를 들면, 더하기, 빼기, 나누기, 등호 등의 수학 연산자가 있는 지를 검색하여 수행될 수 있다. 그와 같은 패턴, 예를 들면, 도 2b에 도시되어 있는 바와 같이, "5+5"의 패턴이 검출되면, 애플리케이션(115)은 수식/함수 바(215)에 애플리케이션(115)에 의해서 기대되고 또한 사용되는 적절한 문법을 입력하여 사용자가 원하는 수학 연산을 수행하기 위해 적절하게 구조화된 수학 함수를 생성할 수 있다.
도 2b에 도시된 바와 같이, 예시적인 스프레드시트 문서(205)의 셀(D2)에 "5+5"를 입력하면, "=5+5"의 문법이 수식/함수 바(215)에 표시된다. 이렇게 판정되어 표시된 함수를 사용자가 채택하는 경우, 사용자가 관련된 스프레드시트 셀로의 상호 작용(즉, 데이터 입력)을 중지하면, 표시된 수학 함수가 연산되며, 또한 도 2c에 도시되어 있는 바와 같이, 관련된 셀에 그 결과가 표시된다. 즉, 도 2c에 도시되어 있는 바와 같이, 사용자에 의해서 입력된 "5+5"가 "5"에 "5"를 합산하는 소정의 수학 함수로 판정되고, 수식/함수 바(215)에 제공된 "=5+5"의 문법이 채택된 이후에, 합계 "10"을 생성하도록 하는 결과로서의 합산이 수행되며, 그 결과는 관련된 스프레드시트 셀에 표시된다. "=5+5"의 수학 함수가 사용자의 의도가 아닌 경우, 예를 들면, 사용자가 실제로는 원하는 셀에 문자열 "5+5"를 입력하고자 하는 경우라면, 사용자는 제공된 문법을 수식/함수 바(215)로부터 삭제하여 제안된 문법을 거절함으로써 제안된 수식/함수의 문법을 입력된 데이터에 적용하는 것을 거절할 수 있다.
통상의 기술자라면 이해하는 바와 같이, 수식/함수 바(215)에 "=5+5"의 수식/함수 문법을 자동으로 제공하는 상술한 예시는 오로지 예시적인 목적일 뿐이며, 또한, 본 발명의 각 실시예에 따르면, 임의의 개수의 서로 다른 수식/함수 문법 유형은 소정의 데이터 입력 항목용으로 자동으로 판정될 수 있고 또한 상술한 도해 및 설명과 같이 표시될 수 있다. 예를 들면, 사용자가 "5/5"와 같은 문자열을 입력하는 경우, 이와 같은 입력 항목은 사용자의 의도가 "5"를 "5"로 나누라는 것으로 판정될 수 있으며, 그와 같은 함수를 수행하기 위한 대응하는 수식/함수 문법이 수식/함수 바(215)에 표시될 수 있다. 다른 예시로서, 사용자가 "5*5"의 텍스트 문자열을 입력하는 경우, 이와 같은 텍스트 입력 항목은 "5"에 "5"를 곱하라는 의도로 해석될 수 있으며, 따라서 적절하고 또한 대응하는 수식/함수 문법이 수식/함수 바(215)에 제공되어 "5"에 "5"를 곱할 수 있다. 즉, 본 발명의 각 실시예에 따르면, 스프레드시트(205)에 수신되는 임의의 영숫자 데이터 입력 항목은 분석된 다음 수식/함수 바(215)에서 사용자에게 제공될 수 있는 잠재적인 수식, 함수 또는 수학 연산자로 매핑될 수 있다. 통상의 기술자라면 이해하는 바와 같이, 소정의 데이터 입력에 대해서 하나 이상의 잠재적인 수학 함수가 판정될 수 있는 경우, 사용자가 입력하는 데이터 상에서 수행될 수 있는 복수의 잠재적인 함수는 잠재적인 함수 메뉴에 제공되어 사용자로 하여금 이들 제공된 함수 중의 하나를 선택하여 입력된 데이터 상에서 연산하도록 할 수 있다.
본 발명의 각 실시예에 따르면, 도 2a 내지 도 2c를 참조하여 상술한 바와 같이, 영숫자 문자열을 비어있는 스프레드시트 셀에 입력하는 것에 추가하여, 스프레드시트 콘텐트 또는 문법을 수신하도록 지정되어 관련된 함수를 생성하는 필드와 같은 소정의 스프레드시트 위치 또는 스프레드시트 애플리케이션 사용자 인터페이스 컴포넌트로 소정의 스프레드시트 셀의 콘텐트를 드래그하거나 다른 방식으로 이동시키는 것에 의해서 수식/함수 바(215)에 함수가 자동으로 생성될 수 있다. 일 예시에 따르면, 함수는 소정 셀 내의 콘텐트 또는 문법을 수식/함수 바(215)로 드래그하거나 다른 방식으로 이동시키거나 위치시키는 것에 의해서 자동으로 생성될 수 있다. 도 3a에 도시되어 있는 바와 같이, 사용자(207)는 예시적인 스프레드시트 셀(B9)을 탭하거나 다른 방식으로 상호 작용하여 영숫자 문자열 또는 애플리케이션용 함수 중의 하나를 스프레드시트(205)에 포함된 하나 이상의 다른 데이터 아이템에 입력한다. 예를 들면, 사용자는 예시적인 셀(B7)에 포함된 데이터를 예시적인 셀(B5)에 포함된 데이터와 합산하기 위한 함수를 입력하여 그 결과의 합계가 예시적인 셀(B9)에 표시되도록 할 수 있다. 이제 도 3b를 참조하면, "=B7+B9"와 같은 함수를 입력하여 두 개 셀의 콘텐트를 합산하기 위한 함수를 생성하는 대신에, 본 발명의 각 실시예에 따르면, 사용자는 원하는 셀과 상호 작용하여 원하는 수식/함수를 자동으로 생성할 수 있다. 통상의 기술자라면 이해하는 바와 같이, 셀 콘텐트 또는 문법을 시트 내의 임의의 다른 필드 또는 위치로, 또는 그와 같은 콘텐트 또는 문법을 수신하도록 지정된 스프레드시트 애플리케이션 사용자 인터페이스로 이동시켜서 사용자가 함수를 생성하기를 원함에 따라서 콘텐트 또는 문법을 해석함으로써 유사한 결과를 달성할 수도 있다.
도 3b에 도시되어 있는 바와 같이, 사용자는 제 1 셀(B7)을 탭한 다음 임시적으로 유지하고 있으며, 도 3c에 도시되어 있는 바와 같이, 사용자가 상호 작용 중인 셀의 콘텐트를 수식/함수 바(215)로 드래그하거나 다른 방식으로 이동시킴에 따라서 콘텐트(315)가 수식/함수 바(215)에 위치될 수 있다. 통상의 기술자라면 이해하는 바와 같이, 터치 가능한 데이터의 드래그에 대해서 도해하고 설명하고 있지만, 상술한 바와 같이 다른 사용자 상호 작용 또한 사용되어 소정 셀의 콘텐트를 수식/함수 바(215)로 이동시킬 수 있다. 이제 도 3d를 참조하면, 드래그 또는 다른 방식으로 이동된 (예컨대, 튕기듯이 옮겨진) 데이터가 수식/함수 바(215)에 놓여진 이후에, 자동으로 생성된 수학 함수의 일부로서 수식/함수 바에 위치한 데이터에 대응하는 셀 참조가 표시된다. 즉, 사용자가 수식/함수 바(215)로 옮기거나 드래그한 콘텐트를 놓으면, "B7"이라는 셀 참조(325)가 자동으로 수식/함수 바(215)에 입력되고 앞에는 "=" 기호가 선행하게 되는데, 이는 애플리케이션(115)이 사용자의 동작을 셀 참조(325)에 포함된 데이터에 대해서 수학 연산을 수행할 함수를 생성하려는 의도가 해석되었기 때문이다. 계속 도 3d를 참조하면, 사용자가 소정 셀의 콘텐트를 수식/함수 바(215)에 놓아두고, 또한 시스템이 "=B7"의 문법을 자동으로 입력한 이후에, 사용자는 스프레드시트(205)로 되돌아와서 소정의 기능을 완수하기 위해서 수식/함수 바(215)에 위치하게 될 수 있는 다음 데이터 아이템과 상호 작용할 수 있다.
본 발명의 각 실시예에 따르면, 사용자가 제 2 데이터 아이템, 예를 들면, 예시적인 셀(B5)에 포함된 데이터 아이템과 상호 작용하게 되는 경우, 수학 연산자(327)는, 애플리케이션(115)에 의해서, 사용자가 수학 함수를 생성하여 사용자 상호 작용에 의해서 식별되는 데이터 아이템에 대해 수학 연산을 수행하고자 의도하고 있다는 해석에 기초하여 수식/함수 바(215) 내 "B7"의 셀 참조의 시작점에 인접하게 자동으로 배치될 수 있다. 본 발명의 각 실시예에 따르면, 수학 연산자(327)는 초기에 제시된 수학 연산자가 원하는 수학 연산자임이 결정되기 전까지는 처음에는 흐릿한(ghost) 방식으로 수식/함수 바(215)에 표시될 수 있다. 다르게는, 수학 연산자(327)는 제 2 또는 후속 데이터 아이템이 수식/함수 바(215)에 위치하기 전까지는 수식/함수 바에 배치되지 않을 수도 있다.
이제 도 3e를 참조하면, 사용자(207)는 소정의 데이터 아이템(330)을 수식/함수 바(215)를 향해서 드래그하여 소정의 데이터 아이템을 이전에 생성된 문법인 "=B7+"에 인접하여 수식/함수 바(215)에 위치시킬 수 있다. 도 3f에 도시되어 있는 바와 같이, 사용자가 데이터 아이템을 수식/함수 바(215)로 드래그하거나 다른 방식으로 이동시키는 경우, B5의 셀 참조가 이전에 생성된 문법에 자동으로 추가되면서 "=B7+B5"의 수식/함수 문법이 생성되어 셀(B7)의 콘텐트가 셀(B5)의 콘텐트에 합산되고 또한 그 수학 계산 결과(320)는 소정의 셀(B9)에 표시된다. 도 3f에 도시되어 있는 바와 같이, 수식/함수 바(215)에 자동으로 생성된 함수에 셀 참조(B5)가 추가된 이후에, 다음 수학 연산자(350)가 자동으로 표시되어 추후 상호 작용하게 되는 스프레드시트 셀에 포함된 추후 식별되는 데이터 아이템과 관련되어 사용될 수 있다.
사용자가 하나 이상의 추가적인 스프레드시트 셀과의 상호 작용을 통해서, 추가적인 데이터 아이템을 추가하게 되면, 자동으로 생성되는 함수는 이에 따라서 확장되고 또한 변경되며, 또한 예시적인 셀(B9)에 표시된 수학 계산 결과는 데이터 아이템 및 적용된 수학 연산에 따라서 자동으로 갱신될 수 있다. 상술한 도해 및 설명에서와 같이, 배치된 셀 참조 사이에 "+"의 수학 연산이 자동으로 추가된다. 통상의 기술자라면 이해하는 바와 같이, 임의의 다른 적용 가능한 수학 연산자, 예를 들면, 빼기, 곱하기, 나누기 등에 대한 수학 연산자는 생성된 함수에 자동으로 표시될 수 있다. 예를 들면, 일 실시예에 따르면, 괄호의 결합이 자동으로 추가 및/또는 적용될 수 있다. 예를 들면, 사용자가 여는 괄호("(")를 입력 또는 선택하면, 필요에 따라서 닫는 괄호(")")가 자동으로 삽입될 수 있다. 예를 들면, 사용자가 누른 채로 있으면서 메뉴 또는 다른 스프레드시트 애플리케이션 UI가 표시되어 수학 연산자를 선택한 다음에 여는 괄호("(")를 선택하면, 대응하는 닫는 괄호(")")가 생성되어 수식 또는 함수의 끝에 위치할 수 있다. 그리고, 사용자는 본 발명의 설명에서 설명한 손가락 또는 다른 상호 작용(예컨대, 누른 채로 문자를 들어 올려서 이 문자를 근처로 이동시키는 방법)을 사용하여 해당 문자를 재배치할 수 있다. 다르게는, 수학 연산자에 대한 메뉴를 제공하여 사용자로 하여금 다양한 서로 다른 수학 연산자 중에서 자동으로 선택하도록 함으로써 적절하면서도 원하는 수학 함수가 생성되도록 할 수도 있다.
이제 도 3g를 참조하면, 예시적인 스프레드시트 문서(205)에 두 개의 데이터 열(355, 360)이 표시되어 있다. 도 3h에 도시되어 있는 바와 같이, 본 발명의 각 실시예에 따르면, 단일 스프레드시트 셀로부터 함수 바(215)로 데이터를 드래그 또는 다른 방식으로 이동시켜서 함수를 자동으로 생성하는 것에 추가하여, 복수의 셀을 동시에 상호 작용시켜 사용자가 복수의 셀에 대한 셀 참조를 스프레드시트 그리드로부터 수식/함수 바(215)로 드래그 또는 다른 방식으로 이동시키는 것에 의해서 소정의 범위에 적용되는 함수를 자동으로 생성할 수도 있다. 도 3h에 도시되어 있는 바와 같이, 사용자(207)는 예시적인 셀(B2-B7)에 포함된 데이터 아이템으로 이루어진 데이터 범위를 선택한다. 도 3i에 도시되어 있는 바와 같이, 사용자는 이 선택된 범위의 셀을 수식/함수 바(215)로 이동시켜서 선택된 범위(365)를 수식/함수 바(215)에 위치시킬 수 있다. 일 실시예에 따르면, 사용자가 선택된 범위를 스프레드시트 문서(205)로부터 수식/함수 바(215)를 향해서 이동시킴에 따라서, 이동 중인 데이터에 대한 그래픽적 표시, 예를 들면, 이동 중인 데이터가 흐릿하게 표시되어 스프레드시트로부터 수식/함수 바로의 데이터의 이동을 그래픽적으로 표시할 수 있다.
드래그 또는 다른 방식으로 이동된 데이터가 수식/함수 바(215)에 놓여진 이후에, 자동으로 생성된 수학 함수의 일부로서 수식/함수 바에 위치되는 데이터에 대응하는 셀 참조(375)가 표시된다. 계속 도 3j를 참조하면, 드래그된 또는 이동된 데이터 아이템과 관련된 셀 참조가 판정되어 수식/함수 바(215)에 배치된 이후에, 애플리케이션(115)은 사용자가 수학 함수를 생성하고자 하는 의도가 있는 지를 판정할 수 있으며, 따라서, 일정 범위의 데이터에 대해서 사용될 수 있는 수학 연산자(370)가 셀 참조에 자동으로 추가되어 표시된 셀 참조에 포함된 데이터를 연산하는데 사용될 수 있는 수학 함수의 적절한 문법을 생성할 수 있다. 예를 들면, 도 3j에 도시되어 있는 바와 같이, "합계(SUM)"라는 수학 연산자는 표시된 셀 참조 전방에 자동으로 위치하게 되는데, 이는 도 3j의 열(B)에 도시된 범위의 데이터와 같은 범위의 데이터에 적용될 수 있는 하나의 수학 연산이 이 범위에 포함된 데이터 아이템을 합산하는 연산이기 때문이다.
통상의 기술자라면 이해하는 바와 같이, 수학 연산자(370)는 셀 참조와 관련된 데이터 범위에 대해서는 자동으로 판정되고 또한 도 3j에 도시되어 있는 바와 같이 표현되거나, 또는 다르게는, 수학 연산자(370)는 사용자가, 예를 들면, 탭(tap), 마우스 클릭, 음성 활성화, 제스처 등과 같은 임의의 사용 가능한 선택 수단에 따라서 연산자를 선택하는 것에 의해서 제안된 수학 연산자를 선택하기 전까지는 흐릿하게 또는 다른 임시적인 방식으로 표현될 수도 있다. 또한, 상술한 바와 같이, 초기에 제안되는, 예를 들면, "합계(SUM)"와 같은 수학 연산자는, 예를 들면, 합계(sum), 최소값(min), 최대값(max), 평균값(average), 중앙값(median), 최빈값(mode) 등의 수학 연산자, 또는 복수의 데이터 아이템용으로 사용될 수 있는 임의의 다른 수학 연산자(예컨대, +, -, *, /, ^, <, >, (, ), 기타)를 선택할 수 있는 메뉴로 제공될 수 있다.
도 3e 및 도 3f를 참조하여 상술한 도해 및 설명에서와 같이, 추가적인 데이터 아이템은 스프레드시트 문서(205)로부터 수식/함수 바(215)로 드래그 또는 다른 방식으로 이동되어 수식/함수 바(215)에 자동으로 생성되어 표시된 함수에 추가되거나 다른 방식으로 이 함수를 변경할 수 있다. 예를 들면, 하나 이상의 추가적인 데이터 아이템, 또는 데이터 아이템의 하나 이상의 추가적인 범위를 수식/함수 바(215)로 드래그 또는 다른 방식으로 이동시켜 수식/함수 바(215)에 현재 표시된 함수에 추가하거나 이 함수를 변경할 수 있다. 예를 들면, 데이터 아이템의 추가적인 범위가 수식/함수 바(215)로 드래그될 수 있으며, 이들 데이터 아이템과 관련된 셀 참조가 수식/함수 바(215)에 포함된 함수에 추가되어 추가적인 데이터 아이템과 합산되거나, 이전에 합산된 데이터 아이템에 이들 추가적인 데이터 아이템이 합산되거나, 이전에 합산된 데이터 아이템으로부터 데이터 아이템이 감산되는 등의 연산을 행할 수 있다.
본 발명의 각 실시예에 따르면, 사용자는 사용자가 소정의 수식/함수를 포함하는 문자를 입력하기 시작함에 따라서 하나 이상의 함수의 완성(completion)이 스프레드시트 수식/함수 바에 입력되어지도록 자동으로 제안하는 것에 의해서 스프레드시트 함수를 생성하는데 도움을 받을 수 있다. 도 4a를 참조하면, 하나 이상의 데이터 아이템을 포함하고 있고, 사용자가 스프레드시트 문서에 포함된 하나 이상의 데이터 아이템에 대해 연산하기 위한 스프레드시트 함수를 원할 수 있는 예시적인 스프레드시트 문서(205)가 도시되어 있다. 본 발명의 각 실시예에 따르면, 사용자가 스프레드시트 함수(415)를 수식/함수 바(410)에 타이핑 또는 다른 방식으로 입력하기 시작하면, 사용자에 의해서 입력되는 함수에 대한 자동으로 제안된 완성은 수식/함수 바(410)에 "흐릿하게(ghosted)" 또는 입력되는 함수에 대해 다른 방식으로 임시적으로 완성되어 표시될 수 있다.
일 실시예에 따르면, 사용자가 입력하는 수식/함수의 완성으로서 제안될 수 있는 복수의 수식 또는 함수가 나열될 수 있는 팝업 다이얼로그 또는 메뉴(420)가 제공될 수 있다. 예를 들면, 계속 도 4a를 참조하면, 사용자가 수식/함수 바(410)에 "=v"를 입력(단계(415))하면, 자동 제안된 완성인 "lookup()"이 흐릿하게 또는 다른 방식으로 임시적인 형태로 표시되어 완성된 함수인 "vlookup"을 사용자에게 자동으로 제안할 수 있다.
도 4b를 참조하여 이하에서 도해 및 설명되는 바와 같이, 입력되는 수식/함수의 자동으로 제안되는 완성을 사용자가 선택하면, 함수의 입력이 완료되며, 또한 이 입력된 함수는 스프레드시트 문서(205)에 포함되어 있는 하나 이상의 데이터 아이템에 자동으로 적용될 수 있다. 다르게는, 입력 중인 수식/함수에 대한 자동으로 제안된 완성이 원하는 수식/함수가 아닌 경우, 사용자는 예시적인 메뉴(420)에 제공되는 다른 제안된 수식 또는 함수 중의 하나를 선택할 수 있다. 통상의 기술자라면 이해하는 바와 같이, 사용자가 추가적인 문자를 타이핑하거나 다른 방식으로 입력하면, 수식/함수의 자동으로 제안된 완성은 입력되는 수식/함수에 대한 예상 후보가 좁아지도록 변경될 수 있다. 예를 들면, 계속 도 4a를 참조하면, 사용자가 문자 "va"를 타이핑하거나 입력하면, 입력되는 수식/함수의 자동으로 제안된 완성은 문자 "va"로 시작하는 수식/함수가 될 수 있다.
계속 도 4a를 참조하면, 사용자에게 자동으로 제안된 수식/함수에 대한 도움이 되거나 설명이 되는 정보를 제공할 수 있는 자동으로 제안된 수식/함수와 관련된 풍선(430)이 도시되어 있다. 사용자가 추가 문자를 입력함에 따라서 입력되는 수식/함수의 자동으로 제안되는 완성 목록이 필터링되고 그 결과 자동으로 풍선(430)이 갱신 및/또는 변경되어 다른 자동으로 제안되는 수식 또는 함수에 대한 도움이 되거나 설명이 되는 정보가 제공될 수 있다.
사용자는, 도 4b에 도시된 바와 같이, 흐릿하게 표시된 함수 "vlookup"의 자동으로 제안된 완성을 사용자가 탭(tap)하는 것과 같이, 흐릿하게 또는 다른 방식으로 임시적으로 표시된 자동으로 제안된 완성을 선택하는 것에 의해서 자동으로 제안된 수식/함수를 채택할 수 있다. 다르게는, 사용자는 메뉴(420)에 나열된 다른 자동으로 제안된 수식 또는 함수 중의 하나를 선택할 수 있으며, 이 선택된 수식/함수는 수식/함수 바(410)에 자동으로 표시되고 또한 스프레드시트(205)에 포함된 하나 이상의 데이터 아이템에 자동으로 적용될 수 있다. 도 4c에 도시되어 있는 바와 같이, 사용자가 소정의 자동으로 제안된 수식/함수(440)를 선택한 이후에는, 채택된 수식/함수가 수식/함수 바(410)에 표시되고 또한 스프레드시트(205)에 포함된 하나 이상의 데이터 아이템에 적용된다. 입력되는 수식/함수의 자동으로 제안된 완성을 사용자가 채택하고 싶지 않으면, 완성된 수식/함수를 삭제함으로써, 또는 다른 자동으로 제안된 수식/함수를 선택함으로써, 또는 원하는 수식/함수의 문자를 계속 입력하여 추가적으로 제안되는 완성을 채택함으로써, 또는 필요에 따라서 사용자가 완전한 수식/함수를 입력함으로써 제안된 수식/함수를 거절할 수 있다.
이제 일 실시예에 따른 도 5a 및 도 5b를 참조하면, 사용자가 생성하거나 사용자에게 자동으로 제안되어 스프레드시트 애플리케이션 문서에 포함된 하나 이상의 데이터 아이템에 적용하기 위한 소정의 수식/함수의 서로 다른 인자/컴포넌트를 사용자가 이해하는데 도움을 주는 "항상 보여지는" 수식/함수 바(또한 수식 또는 함수 가이드로도 지칭됨)가 제공될 수 있다. 도 5a에 도시되어 있는 바와 같이, 스프레드시트 애플리케이션 사용자 인터페이스(500)가 도시되어 있으며, 여기에는 다수의 데이터 아이템(512, 514)을 포함하고 있고 또한 예시적인 사용자 인터페이스(500)의 하측 에지를 따라서 배치된 수식/함수 바(515)를 포함하고 있는 스프레드시트 문서(510)가 표시되어 있다. 수식/함수 바(515)에 도시되어 있는 바와 같이, 수학 함수는 스프레드시트 문서(510)에 포함된 하나 이상의 데이터 아이템(512, 514)에 적용하기 위한 자동 함수 제안 이후에 입력되어 있거나 채택되어 있다. 일 실시예에 따르면, 수식 또는 함수 바(515)는 수식/함수 가이드로 기능하며, 또한 바(515)는 계속 표시되어 사용자로 하여금 소정의 스프레드시트 함수 또는 수식의 컴포넌트에 대한 액세스를 항상 볼 수 있도록 할 수 있다. 통상의 기술자라면 이해하는 바와 같이, 사용자가 바의 표시가 계속되지 않기를 원한다면, 바(515)는 표시창/디스플레이에서 사라질 수 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 스프레드시트 문서의 하나 이상의 데이터 아이템에 대해 적용하기 위해서 생성된 임의의 수식/함수는 다수의 컴포넌트 및/또는 인자 및/또는 다양한 서로 다른 수학 연산자를 포함하고 있을 뿐만 아니라, 수식/함수가 적용될 수 있는 지정 데이터 아이템, 데이터 셀, 데이터 범위, 데이터 표(table) 등을 포함하고 있을 수 있다. 수식/함수 바(515)(도 5a 참조)에 도시되어 있는 바와 같이, "vlookup" 함수(520)가 입력되고, 다양한 함수 컴포넌트(525, 530, 535, 540)가 이 함수(520)에 적용된 다음 하나 이상의 데이터 아이템에 이 함수가 적용된다.
본 발명의 각 실시예에 따르면, 사용자가 함수의 유형에 주목하거나, 이 함수를 이루는 인자 또는 컴포넌트에 대해서 주목하는 경우, 팝업 풍선 또는 다른 유사한 사용자 인터페이스 컴포넌트(545)를 제공하여 사용자가 주목하고 있는 함수의 유형, 컴포넌트, 또는 인자에 대한 도움이 되거나 설명이 될 수 있는 정보를 표시할 수 있다. 예를 들면, 도 5a에 도시되어 있는 바와 같이, 사용자가 "검색 값(lookup value)"의 컴포넌트(525)에 주목하는 경우, 이 컴포넌트를 탭(tap)하거나, 이 컴포넌트를 클릭하거나, 이 컴포넌트 위로 마우스를 띄우거나, 이 컴포넌트에 음성으로 지시하거나, 이 컴포넌트에 제스처로 지시하여, 풍선 또는 팝업 사용자 인터페이스 컴포넌트(545)가 자동으로 표시되어 주목하고 있는 함수의 컴포넌트에 대해 사용자에게 정보를 제공할 수 있다. 도 5b에 도시되어 있는 바와 같이, 사용자가 주목하고 있는 서로 다른 함수의 인자 또는 컴포넌트에 대한 도움이 되거나 및/또는 설명이 되는 정보를 포함하고 있는 다른 예시적인 풍선 또는 팝업 사용자 인터페이스 컴포넌트(560)가 도시되어 있다. 통상의 기술자라면 이해하는 바와 같이, 도 5a 및 도 5b에 도시된 예시적인 함수 및 함수의 컴포넌트는 예시의 목적일 뿐이며 또한 도움이 되거나 및/또는 설명이 되는 정보가 제공될 수 있는 다양한 서로 다른 인자 및/또는 컴포넌트로 이루어지는 수식/함수 바(515)에 입력될 수 있는 방대한 숫자의 스프레드시트 함수 및/또는 수식을 모두 포함하지는 않는다.
이제 다른 실시예에 따른 도 6을 참조하면, 사용자가 스프레드시트 함수 및 수식을 생성하고, 편집하고, 이해하고, 또한 사용할 수 있도록 도움을 주는 추가적인 리소스가 도움말 리소스 창(610) 또는 다른 적절한 사용자 인터페이스 컴포넌트를 통해서 사용자에게 자동으로 제안되거나 및/또는 표시될 수 있다. 본 발명의 각 실시예에 따르면, 도움말 리소스 창(610)을 사용하여 관련된 스프레드시트 애플리케이션의 다양한 기능을 어떻게 사용하는 지에 대한 정보를 포함하여 스프레드시트 애플리케이션에 대한 일반적인 도움이 되는 다양한 정보를 제공하거나, 또는 도움말 리소스 창(610)을 사용하여 특정한 데이터 아이템, 수식/함수, 또는 소정의 스프레드시트 문서의 기타 특징에 대해서 사용자에게 도움이 되는 정보를 제공할 수도 있다.
도 6에 도시되어 있는 바와 같이, 도움말 리소스 창 또는 사용자 인터페이스 컴포넌트(610)는 표시된 스프레드시트 애플리케이션 문서(605) 위에 떠 다니는 사용자 인터페이스 컴포넌트로서 도시되어 있다. 본 발명의 각 실시예에 따르면, 이 도움말 리소스 창(610)은 도 6에 도시되어 있는 바와 같이, 떠 다니는 사용자 인터페이스 컴포넌트로서 표시될 수도 있고, 도움말 리소스(610)를 제공하기 위해서 스프레드시트 애플리케이션 사용자 인터페이스(600)의 고정된 영역에 분리되어 표시될 수도 있다.
이들 실시예에 따르면, 스프레드시트 애플리케이션 문서가 상하로 또는 좌우로 스크롤됨에 따라서, 떠 다니거나 고정된 도움말 리소스 창(610)은 스프레드시트 애플리케이션 문서(605)에 가해지는 스크롤링과는 무관하게 소정의 위치에 위치 설정되어 유지될 수 있다. 다른 실시예에 따르면, 도움말 리소스 창(610)은 스프레드시트 애플리케이션 문서(605)의 소정 부분 또는 위치와 관련되어, 도움말 리소스 창(610)이 문서 내의 소정의 부분 또는 위치에 인접한 위치에 유지되어 있을 수 있다. 예를 들면, 소정의 표(table), 차트(chart), 또는 기타 객체와 관련된 리소스 또는 기타 도움이 되는 정보를 수신하기 위해서 도움말 리소스 창(610)이 기동되면, 이 도움말 리소스 창(610)은 스프레드시트 문서가 스크롤되더라도 관련된 객체와 함께 도움말 리소스 창이 그 자리에 유지되도록 관련되어 있는 스프레드시트 객체와 관련되어 위치 설정될 수 있다.
도움말 리소스 창(610)을 참조하면, "시트 내보내기(Export Sheet)" 버튼(615)이 제공되어 사용자로 하여금 스프레드시트를 제 3 자 소스로 내보내어 내보낸 시트의 다양한 특징에 대해서 이 제 3 자 소스로부터 도움이 되는 정보를 획득할 수 있도록 한다. 소정의 스프레드시트 중의 소정의 데이터 범위를 제 3 자 소스로 내보내어 이 내보내어진 범위의 다양한 특징에 대해서 도움이 되는 정보를 획득할 수 있도록 하는 "범위 내보내기(Export Range)" 버튼(620)이 도시되어 있다. 예를 들면, 사용자가 다양한 데이터 아이템을 포함하고 있는 스프레드시트(605) 또는 스프레드시트(605)에 포함된 일련의 데이터를 가지고 있고, 이에 대해서 사용자가, 예를 들면, 하나 이상의 데이터 아이템에 대해서 연산하기 위한 소정의 수식/함수를 어떻게 생성하는지와 같은 질문이 있는 경우, 사용자는 스프레드시트(605), 또는 스프레드시트(605)에 포함된 범위를 제 3 자 소스로 내보내어 도움이 되는 정보를 획득할 수 있다.
창(610)에는 사용자가 하나 이상의 제 3 자 정보 소스에 대한 질문을 입력할 수 있고 또한 사용자가 자신의 질문에 대한 도움이 되는 대답을 수신할 수 있는 "질문 및 응답(Question and Answer)" 채팅 박스(630)가 도시되어 있다. 스프레드시트 애플리케이션에 대해서 또는 소정의 스프레드시트 문서 또는 그 안에 포함된 하나 이상의 데이터 아이템에 대해서 도움이 되는 정보를 획득하기 위해서 또는 정보를 획득하기 위해서 인터넷 기반의 검색을 개시하기 위해서 스프레드시트 애플리케이션에 의해서 동작되는 하나 이상의 검색 기능을 개시하기 위한 "검색(Search)" 버튼(625)이 도시되어 있다. 예를 들면, 검색 기능의 사용은 사용자로 하여금 도움말 리소스 창(610)의 인터넷 브라우저 애플리케이션의 인스턴스를 개시하여 사용자의 스프레드시트 애플리케이션과 관련된 또는 특정 스프레드시트 문서(605)의 특징과 관련된 다양한 정보 아이템에 대해 검색할 수 있도록 한다.
"전문가 포럼(Expert Forum)" 버튼(635)은 리소스 기능의 예시이며, 사용자로 하여금 협업에, 또는 사용시 애플리케이션(115)에 대해서 또는 사용자에 의해서 생성되고 이용되는 문서(605)에 대한 정보를 제공하거나 수신하는데 흥미를 가진 다양한 관계자에 의해서 설립된 다수의 임의의 서로 다른 포럼에 참가하고 협업하고, 이들로부터 정보를 수신하거나 정보를 제공하도록 한다. 사용자는 온라인 비디오, 템플리트, 예시, 사회적 관계망 포럼, 크라우드(crowd) 소싱 서비스 등을 포함하는 다양한 서로 다른 종류의 정보를 리소스 창(610)을 통해서 획득할 수 있다. 통상의 기술자라면 이해하는 바와 같이, 도움말 리소스 창(610)에 도시된 레이아웃 및 사용자 인터페이스 컴포넌트는 예시 및 도해의 목적일 뿐이며 또한 스프레드시트 애플리케이션 및/또는 소정의 스프레드시트 애플리케이션 문서(605)와 관련되어 도움말 리소스 창(610)에 제공될 수 있는 다양한 개수의 사용자 인터페이스 컴포넌트, 레이아웃, 및 정보 아이템을 제한하는 것은 아니다.
도 1 내지 도 6을 참조하여 본 발명의 각 실시예의 예시적인 운영 환경 및 다양한 특징에 대해서 설명하였으며, 도 7은 전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법을 도시하고 있는 플로 차트이다. 루틴(700)은 단계(705)에서 시작하여 사용자로 하여금 하나 이상의 데이터 아이템을 입력하고, 편집하고, 조작하고, 연산하고, 또는 다른 방식으로 이용할 수 있도록 스프레드시트 애플리케이션 문서가 시작되는 단계(710)로 진행한다. 단계(715)에서는, 도 2b를 참조하여 상술한 도해 및 설명에서와 같이, 소정의 스프레드시트 셀에 사용자 입력이 입력된다. 단계(720)에서는, 단계(715)에서의 사용자의 입력에 따라서 제안된 스프레드시트 함수의 문법이 수식/함수 바(215)에 제공된다.
단계(725)에서는, 도 3b 내지 도 3j를 참조하여 상술한 도해 및 설명에서와 같이, 하나 이상의 스프레드시트 셀이 스프레드시트 애플리케이션 그리드 또는 캔버스로부터 수식/함수 바로 드래그되거나 다른 방식으로 이동된다. 단계(730)에서는, 제안된 함수가 수식/함수 바에 생성되고 표시되어 수식/함수 바로 이동된 하나 이상의 스프레드시트 셀과 연관되어 사용될 수 있다.
단계(735)에서는, 도 4a 내지 도 4c를 참조하여 상술한 도해 및 설명에서와 같이, 스프레드시트 수식/함수의 하나 이상의 문자 입력이 스프레드시트 애플리케이션수식/함수 바에 수신된다. 단계(740)에서는, 입력되는 수식/함수의 자동으로 제안된 완성이 수식/함수 바에 제공된다. 상술한 바와 같이, 사용자는 필요하다면 자동으로 제안된 수식/함수를 채택할 수 있고, 또한 이 채택된 수식/함수는 이후에 하나 이상의 선택된 데이터 아이템에 적용될 수 있다.
단계(745)에서는, 도 5a 및 도 5b를 참조하여 상술한 도해 및 설명에서와 같이, 항상 보여지는 수식/함수 가이드가 제공될 수 있으며, 또한 도움 및/또는 설명 정보가 풍선 또는 다른 팝업 사용자 인터페이스 컴포넌트에 제공되어 소정의 수식/함수의 인자 및/또는 컴포넌트에 대한 정보가 제공될 수 있다. 단계(750)에서는, 도 6을 참조하여 상술한 도해 및 설명에서와 같이, 다양한 도움이 되는 리소스 및 정보가 도움말 리소스 창(610)에 제공될 수 있다.
루틴(700)은 단계(795)에서 종료된다.
컴퓨터 상의 운영 체제 상에서 동작하는 애플리케이션 프로그램과 연동하여 실행되는 프로그램 모듈의 일반적인 맥락 하에서 본 발명을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명은 다른 프로그램 모듈과 조합되어 구현될 수도 있음을 알아야 한다. 일반적으로, 프로그램 모듈에는 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 자료 구조, 및 기타 유형의 구조가 포함된다.
본 발명의 상세한 설명에서 설명된 각 실시예 및 기능은 데스크톱 컴퓨터 시스템, 유선 및 무선 컴퓨팅 시스템, 모바일 컴퓨팅 시스템(예컨대, 모바일 전화기, 넷북, 태블릿 또는 슬레이트 타입 컴퓨터, 노트북 컴퓨터, 및 랩탑 컴퓨터), 핸드헬드 장치, 멀티 프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 가전 제품, 미니 컴퓨터, 및 메인 프레임 컴퓨터를 포함하는 다수의 컴퓨팅 시스템을 통해서 동작될 수 있으며, 이들 시스템만으로 한정되지는 않는다.
또한, 본 발명의 설명에서 설명된 각 실시예 및 기능은 분산형 시스템(예컨대, 클라우드 기반의 컴퓨팅 시스템)을 통해서 동작될 수도 있으며, 여기에서 분산형 시스템은 애플리케이션의 기능, 메모리, 데이터의 저장과 검색 및 다양한 처리 기능은 인터넷 또는 인트라넷과 같은 분산형 컴퓨팅 네트워크를 통해서 서로 원격으로 조작될 수 있다. 온보드 컴퓨팅 장치의 디스플레이를 통해서 또는 하나 이상의 컴퓨팅 장치와 관련된 원격 디스플레이 장치를 통해서 다양한 유형의 사용자 인터페이스 및 정보가 표시될 수 있다. 예를 들면, 다양한 유형의 사용자 인터페이스 및 정보가 투사되는 벽면 상에 다양한 유형의 사용자 인터페이스 및 정보가 표시되고 또한 상호 작용할 수 있다. 본 발명의 각 실시예가 실시될 수 있는 다수의 컴퓨팅 시스템과의 상호 작용에는 키 입력, 터치 스크린 입력, 음성 또는 기타 오디오 입력, 제스처 입력이 포함되며, 제스처 입력은 관련된 컴퓨팅 장치가 검출 (예컨대, 카메라) 기능을 장착하여 사용자의 제스처를 캡처하고 해석하여 컴퓨팅 장치 등의 기능을 제어한다.
도 8 내지 도 10 및 관련된 설명은 본 발명의 각 실시예가 실시될 수 있는 다양한 운영 환경에 대한 설명을 제공한다. 그러나, 도 8 내지 도 10을 참조하여 도해하고 설명한 장치 및 시스템은 예시 및 도해를 목적으로 하고 있으며, 또한 본 발명의 설명에서 설명한 본 발명의 각 실시예를 실시하기 위해서 사용될 수 있는 방대한 숫자의 컴퓨팅 장치를 제한하지는 않는다.
도 8은, 본 발명의 각 실시예가 실시될 수 있는 컴퓨팅 장치(800)의 물리적인 컴포넌트(즉, 하드웨어)를 도시하고 있는 블록 다이어그램이다. 후술하는 컴퓨팅 장치의 컴포넌트는 상술한 컴퓨팅 장치(105, 110, 120, 125, 135)에 적합할 수 있다. 기본 구성에 있어서, 컴퓨팅 디바이스(800)는 적어도 하나의 처리 장치(802) 및 시스템 메모리(804)를 포함할 수 있다. 컴퓨팅 장치의 구성 및 유형에 따라서, 시스템 메모리(804)는 휘발성 저장 장치(예컨대, 랜덤 액세스 메모리), 비휘발성 저장 장치(예컨대, 읽기 전용 메모리), 플래시 메모리, 또는 임의 이들 메모리의 조합을 포함할 수 있으며, 이들만으로 제한하는 것은 아니다. 시스템 메모리(804)는 다양한 애플리케이션(820)을 동작시키기에 적합한 운영 체제(805) 및 하나 이상의 프로그램 모듈(806)을 포함할 수 있다. 운영 체제(805)는, 예를 들면, 컴퓨팅 장치(800)의 동작을 제어하기에 적합한 것일 수 있다. 또한, 본 발명의 각 실시예는 그래픽 라이브러리, 기타 운영 체제, 또는 임의의 다른 애플리케이션 프로그램과 관련하여 실시될 수 있으며, 임의의 특정한 애플리케이션 또는 운영 체제로 한정되지는 않는다. 그 기본적인 구성은 도 8에서 점선(808) 내의 각 컴포넌트로 도시되어 있다. 컴퓨팅 장치(800)는 추가적인 특징 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(800)는 자기 디스크, 광학 디스크, 또는 테이프와 같은 추가적인 데이터 저장 장치(탈착식 및/또는 비탈착식)를 포함할 수 있다. 그와 같은 추가 저장 장치는 도 8에서 탈착식 저장 장치(809) 및 비탈착식 저장 장치(810)로 도시되어 있다.
상술한 바와 같이, 다수의 프로그램 모듈 및 데이터 파일은 시스템 메모리(804)에 저장되어 있을 수 있다. 처리 장치(802) 상에서 실행 중에, 프로그램 모듈(806)은 도 7에 도시된 방법(700) 중의 하나 이상의 단계를 포함하는 프로세스를 수행할 수 있지만, 이들 단계만으로 한정되지는 않는다. 본 발명의 각 실시예에 따라 사용될 수 있는 기타 프로그램 모듈에는 노트 애플리케이션, 인터넷 브라우저 애플리케이션, 전자 메일 및 연락처 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 데이터베이스 애플리케이션, 슬라이드 프레젠테이션 애플리케이션, 도면 작성 또는 컴퓨터 보조 애플리케이션 프로그램 등이 포함될 수 있다.
또한, 본 발명의 각 실시예는 개별 전자 소자를 포함하는 전기 회로, 논리 게이트를 포함하는 패키징되거나 집적된 전자 칩, 마이크로프로세서를 이용하는 회로에서, 또는 전자 소자 또는 마이크로프로세서를 포함하는 단일 칩 상에서 실시될 수 있다. 예를 들면, 본 발명의 각 실시예는 도 8에 도시된 각각 또는 복수의 컴포넌트가 단일 집적 회로 상에 집적될 수 있는 시스템 온 칩(SOC, system-on-a-chip)을 통해서 실시될 수 있다. 그와 같은 SOC 장치는 하나 이상의 프로세싱 장치, 그래픽 장치, 통신 장치, 시스템 가상화 장치, 및 다양한 애플리케이션 기능을 포함하고 있을 수 있으며, 이들은 모두 단일 집적 회로로서 칩 기판 상에 일체화될 (또는 "구워질") 수 있다. SOC를 통해서 동작하는 경우, 웹 페이지 콘텐트의 사용에 대해서 본 발명의 설명에서 설명한 기능은 단일 집적 회로(칩) 상의 컴퓨팅 장치(800)의 다른 컴포넌트와 일체화된 주문형 로직(logic)을 통해서 동작될 수 있다. 본 발명의 각 실시예는 또한 AND, OR 및 NOT과 같은 논리 연산을 수행할 수 있는 기타 기술을 이용하여 실시될 수 있으며, 여기에는 기계적, 광학적, 유체 공학적, 및 양자 기술이 포함되지만 이들만으로 한정되지는 않는다. 또한, 본 발명의 각 실시예는 범용 컴퓨터에서 또는 임의의 다른 회로 또는 시스템에서 실시될 수 있다.
컴퓨팅 장치(800)는 또한 키보드, 마우스, 펜, 사운드 입력 장치, 터치 입력 장치 등과 같은 입력 장치(812)를 가지고 있을 수 있다. 여기에는 디스플레이, 스피커, 프린터 등과 같은 출력 장치(들)(814) 또한 포함될 수 있다. 상술한 장치는 예시이며 또한 다른 장치를 사용할 수도 있다. 컴퓨팅 장치(800)는 다른 컴퓨팅 장치(818)와의 통신을 가능하게 하는 하나 이상의 통신 접속부(816)를 포함할 수 있다. 적절한 통신 접속부(816)의 예시에는 RF 송신기, 수신기, 및/또는 송수신기 회로, 범용 직렬 버스(USB), 병렬, 및/또는 직렬 포트를 포함하지만, 이들만으로 제한되지는 않는다.
본 명세서에서 사용되는 것과 같은 컴퓨터 판독가능 매체라는 용어는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 인스트럭션, 자료 구조, 또는 프로그램 모듈과 같은 정보의 저장에 적합한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 탈착식 및 비탈착식 매체를 포함할 수 있다. 시스템 메모리(804), 탈착식 저장 장치(809), 및 비탈착식 저장 장치(810)는 모두 컴퓨터 저장 매체(즉, 메모리 저장 장치)의 예시이다. 컴퓨터 저장 매체는 RAM, ROM, 전자적으로 소거 가능한 읽기 전용 메모리(EEPROM, electrically erasable read-only memory), 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD, digital versatile disk) 또는 기타 광학 저장 장치, 자기 카세트(magnetic cassette), 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 정보를 저장하는데 사용할 수 있고 또한 컴퓨팅 장치(800)에 의해서 액세스 가능한 임의의 기타 제품을 포함할 수 있다. 임의의 그와 같은 컴퓨터 저장 매체는 컴퓨팅 장치(800)의 일부일 수 있다.
도 9a 및 도 9b는, 본 발명의 실시예가 실시될 수 있는, 예를 들면, 모바일 전화기, 스마트 폰(110), 태블릿 스타일의 개인용 컴퓨터(105), 랩탑 컴퓨터 등과 같은 모바일 컴퓨팅 장치(900)를 도시한 도면이다. 도 9a를 참조하면, 본 발명의 각 실시예를 구현하기 위한 모바일 컴퓨팅 장치(900)의 일 실시예가 도시되어 있다. 기본적인 구성에 있어서, 모바일 컴퓨팅 장치(900)는 입력 소자와 출력 소자를 모두 가지고 있는 핸드헬드(handheld) 컴퓨터이다. 모바일 컴퓨팅 장치(900)는 전형적으로 디스플레이(905) 및 사용자로 하여금 모바일 컴퓨팅 장치(900)로 정보를 입력하도록 할 수 있는 하나 이상의 입력 버튼(910)을 포함하고 있다. 모바일 컴퓨팅 장치(900)의 디스플레이(905)는 또한 입력 장치(예를 들면, 터치 스크린 디스플레이)로도 기능할 수 있다. 포함되어 있다면, 선택적인 측면 입력 소자(915)가 추가적인 사용자 입력을 가능하게 한다. 측면 입력 소자(915)는 로터리 스위치, 버튼, 또는 임의의 기타 유형의 수동 입력 소자일 수 있다. 다른 실시예에 있어서, 모바일 컴퓨팅 장치(900)는 더 많거나 더 적은 입력 소자를 포함할 수 있다. 예를 들면, 디스플레이(905)는 일부 실시예에 있어서 터치 스크린이 아닐 수 있다. 또 다른 실시예에 있어서, 모바일 컴퓨팅 장치(900)는 휴대 전화와 같은 휴대용 전화 시스템이다. 모바일 컴퓨팅 장치(900)는 또한 선택적인 키패드(935)를 포함할 수 있다. 선택적인 키패드(935)는 물리 키패드 또는 터치 스크린 디스플레이 상에 생성된 "소프트(soft)" 키패드일 수 있다. 다양한 실시예에 있어서, 그래픽 사용자 인터페이스(GUI, graphical user interface)를 나타내기 위한 디스플레이(905), 시각적 표시자(920)(예컨대, 발광 다이오드), 및/또는 오디오 변환기(925)(예컨대, 스피커)를 포함하고 있다. 일부 실시예에 있어서, 모바일 컴퓨팅 장치(900)는 사용자에게 촉각 피드백을 제공하기 위한 진동 변환기를 포함하고 있다. 또 다른 실시예에 있어서, 모바일 컴퓨팅 장치(900)는 외부 장치로 신호를 전달하거나 외부 장치로부터 신호를 받아 들이기 위해서 오디오 입력(예컨대, 마이크로 폰 잭), 오디오 출력(예컨대, 헤드폰 잭), 및 비디오 출력(예컨대, HDMI 포트)과 같은 입력 및/또는 출력 포트를 포함하고 있다.
도 9b는 모바일 컴퓨팅 장치의 일 실시예의 아키텍처를 나타내고 있는 블록 다이어그램이다. 다시 말하면, 모바일 컴퓨팅 장치(900)는 일부 실시예를 구현하기 위한 시스템(즉, 아키텍처)(902)을 포함할 수 있다. 일 실시예에 있어서, 시스템(902)은 하나 이상의 애플리케이션(예컨대, 브라우저, 이메일, 일정 관리, 연락처 관리자, 메시징 클라이언트, 게임, 및 미디어 클라이언트/플레이어)이 동작될 수 있는 "스마트 폰"으로서 구현된다. 일부 실시예에 있어서, 시스템(902)은, 통합 휴대용 개인 정보 단말기(PDA) 및 무선 전화기와 같은 컴퓨팅 장치로 통합되어 있다.
하나 이상의 애플리케이션 프로그램이 메모리(962)에 적재될 수 있고 또한 운영 체제(964) 상에서 실행되거나 이와 관련되어 실행될 수 있다. 애플리케이션 프로그램의 예시로는 전화 걸기 애플리케이션, 이메일 애플리케이션, 개인 정보 관리(PIM, personal information management) 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 인터넷 브라우저 애플리케이션, 노트 애플리케이션, 메시징 애플리케이션 등이 포함된다. 시스템(902)은 또한 메모리(962) 내의 비휘발성 저장 공간(968)을 포함하고 있다. 비휘발성 저장 공간(968)은 시스템(902)의 전원이 나가더라도 결코 잃어버려서는 아니되는 영속적 정보를 저장하는데 사용될 수 있다. 애플리케이션 프로그램은 이메일 애플리케이션 등에 의해서 사용되는 이메일 또는 기타 메시지와 같은 비휘발성 저장 영역(968) 내의 정보를 사용하고 또한 이 영역에 정보를 저장할 수 있다. 동기화 애플리케이션(미도시)도 시스템(902) 상에 존재할 수 있으며, 또한 호스트 컴퓨터 상에 존재하는 대응하는 동기화 애플리케이션과 상호 작용하도록 프로그램되어 비휘발성 저장 영역(968)에 저장된 정보가 호스트 컴퓨터에 저장된 대응하는 정보와 동기화되도록 한다. 잘 알고 있는 바와 같이, 다른 애플리케이션을 메모리(962)에 로딩하고 또한 모바일 컴퓨팅 장치(900) 상에서 실행할 수 있다.
시스템(902)은 하나 이상의 배터리로 구현될 수 있는 전원 공급 장치(970)를 가지고 있다. 전원 공급 장치(970)는 AC 어댑터 또는 배터리를 보조하거나 충전하는 전원 공급식 도킹 크레이들과 같은 외장 전원 공급원을 더 구비할 수 있다.
시스템(902)은 또한 무선 주파수 통신의 송수신 기능을 수행하는 무선 장치(972)를 포함할 수 있다. 무선 장치(972)는 통신 사업자 또는 서비스 제공자를 통해서 시스템(902)과 "외부 세계(outside world)" 사이의 무선 접속을 가능하게 한다. 무선 장치(972)로부터 및 무선 장치로의 송신은 운영 체제(964)의 제어 하에서 수행된다. 달리 말하자면, 무선 장치(972)에서 수신되는 통신은 운영 체제(964)를 통해서 애플리케이션 프로그램(115)으로 파급될 수 있으며, 그 반대도 가능하다.
시각적 표시자(920)를 사용하여 시각적 표시를 제공하거나 및/또는 오디오 인터페이스(974)를 사용하여 오디오 변환기(925)를 통해 가청 표지를 생성할 수도 있다. 예시한 실시예에 있어서, 시각적 표시자(920)는 발광 다이오드(LED, light emitting diode)이며 또한 오디오 변환기(925)는 스피커이다. 이들 장치는 전원 공급 장치(970)에 직접적으로 접속되어 있을 수 있으며, 따라서 활성화되었을 때, 프로세서(960) 및 기타 구성 요소가 배터리 전력을 보존하기 위해서 동작을 중지하는 경우에도 통지 메커니즘에 의해서 규정된 기간 동안 전원이 켜져 있게 된다. LED는 장치의 전원이 켜진 상태를 표시하도록 사용자가 행동을 취하기 전까지는 무기한으로 켜져 있도록 프로그램될 수 있다. 오디오 인터페이스(974)를 사용하여 사용자에게로 가청 신호를 제공하고 또한 사용자로부터의 가청 신호를 수신한다. 예를 들면, 오디오 변환기(925)로의 접속에 추가하여, 오디오 인터페이스(974)는 마이크로 폰에 접속되어 전화 통화를 가능하게 하는 것과 같은 가청 입력을 수신하도록 할 수도 있다. 본 발명의 각 실시예에 따르면, 마이크로 폰은 또한, 후술하는 바와 같이, 오디오 센서로 기능하여 통지의 제어를 용이하게 할 수 있게 한다. 시스템(902)은 또한 온보드 카메라(930)를 조작할 수 있게 하여 정지 화상, 비디오 스트림 등을 기록하는 비디오 인터페이스(976)를 더 포함할 수 있다.
시스템(902)을 구현하고 있는 모바일 컴퓨팅 장치(900)는 추가적인 특징 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(900)는 자기 디스크, 광학 디스크, 또는 테이프와 같은 추가적인 데이터 저장 장치(탈착식 및/또는 비탈착식)를 포함할 수 있다. 그와 같은 추가 저장 장치는 도 9b에서 비휘발성 저장 영역(968)으로 도시되어 있다.
모바일 컴퓨팅 장치(900)에 의해서 생성 또는 캡처되고 시스템(902)을 통해서 저장된 데이터/정보는 상술한 바와 같이 모바일 컴퓨팅 장치(900) 상에 로컬로 저장될 수도 있고, 또는 이 데이터는 모바일 컴퓨팅 장치(900) 및 이 모바일 컴퓨팅 장치(900)와 관련되어 있는 독립된 컴퓨팅 장치, 예를 들면, 인터넷과 같은 분산형 컴퓨팅 네트워크 내의 서버 컴퓨터 사이에서 무선 장치(972)를 통해서 또는 유선 접속을 통해서 액세스될 수 있는 임의의 개수의 저장 매체 상에 저장될 수도 있다. 이와 같은 데이터/정보는 무선 장치(972)를 통해서 또는 분산형 컴퓨팅 네트워크를 통해서 모바일 컴퓨팅 장치(900)를 통해서 액세스될 수 있음을 알아야 한다. 마찬가지로, 이와 같은 데이터/정보는 컴퓨팅 장치 사이에서 즉각적으로 전달되어 전자 메일 및 협업 데이터/정보 공유 시스템을 포함하는 공지의 데이터/정보 전달 및 저장 수단에 따라서 저장 및 사용될 수 있다.
도 10은, 상술한 바와 같이, 전자 컴퓨팅 장치를 사용하여 효율적으로 스프레드시트 함수를 생성하는 방법 및 사용 방법을 제공하기 위한 시스템 아키텍처에 대한 일 실시예를 도시한 도면이다. 본 발명의 각 실시예와 관련되어 개발되거나, 상호 작용되거나, 또는 수정되는 콘텐트는 서로 다른 통신 채널 또는 다른 저장 장치 유형에 저장될 수 있다. 예를 들면, 다양한 문서 및 저장된 콘텐트 아이템은 디렉토리 서비스(1022), 웹 포털(1024), 메일 박스 서비스(1026), 인스턴트 메시징 저장 장치(1028), 또는 소셜 네트워킹 사이트(1030)를 사용하여 저장될 수 있다. 본 발명의 설명에서 설명된 스프레드시트 함수의 생성 및 기능의 사용은 본 발명의 설명에서 설명된 바와 같이 임의의 이들 유형의 시스템 등을 사용하여 데이터의 활용을 가능하게 할 수 있다. 서버(135)는 클라이언트에게 스프레드시트 함수의 생성 결과를 제공하고 또한 기능을 사용하도록 할 수 있다. 일 예시로서, 서버(135)는 웹을 통해서 스프레드시트 함수를 생성하고 또한 기능을 사용하도록 하는 웹 서버일 수 있다. 서버(135)는 네트워크(130)를 통해서 웹을 거쳐서 클라이언트에게 스프레드시트 함수의 생성 결과를 제공하고 또한 기능을 사용하도록 할 수 있다. 예시로서, 클라이언트 컴퓨팅 장치는 개인용 컴퓨터(800), 태블릿 컴퓨팅 장치(105) 및/또는 모바일 컴퓨팅 장치(예컨대, 스마트 폰)(110), 또는 기타 컴퓨팅 장치에 구현 및 실시될 수 있다. 임의의 이들 각 실시예의 클라이언트 컴퓨팅 장치(800, 105, 110, 120, 125, 135)는 저장 장치(1016)로부터 콘텐트를 획득할 수 있다.
본 발명의 각 실시예는, 예를 들어, 본 발명의 각 실시예에 따른 방법, 시스템 및 컴퓨터 프로그램 제품의 블록 다이어그램 및/또는 동작 설명도를 참조하여 설명되었다. 각 블록에 표시된 기능/동작은 임의의 플로차트에서 나타낸 순서에서 벗어나서 발생할 수 있다. 예를 들면, 연속적으로 나타낸 두 개의 블록은 실제로는 실질적으로 동시에 실행될 수 있으며, 또는 각 블록은 관련된 기능/동작에 따라서 어떤 경우에는 반대의 순서로 실행될 수도 있다.
본 발명의 설명에서 제공된 하나 이상의 실시예의 설명 및 도해는 어떠한 방식으로든 청구 범위에서 청구하고 있는 본 발명의 범위를 제한하거나 한정하고자 의도되지 않는다. 본 발명의 설명에서 제공된 각 실시예, 예시, 및 상세는 본 발명의 청구 범위에 기재된 청구 대상에 대한 소유권을 나타내고 또한 다른 사람들이 본 발명의 청구 범위에 기재된 청구 대상의 최적의 양태를 실시하도록 하고 또한 사용할 수 있도록 하는데 충분하다고 간주된다. 본 발명의 청구 범위에 기재된 청구 대상은 본 발명의 설명에서 제공되는 임의의 실시예, 예시, 또는 상세만으로 제한되지는 않는다. 조합하여 또는 독립적으로 나타내고 설명한 것과는 무관하게, 다양한 특징(구조적인 것 및 방법적인 것 모두)은 특정한 일련의 특징을 갖는 일 실시예를 제공하기 위해서 선택적으로 포함되거나 선택적으로 생략되도록 의도되었다. 이상 본 발명의 설명에서 설명 및 도해가 이루어졌지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 청구 범위에 기재된 청구 대상의 더 넓은 범위로부터 벗어나지 않고도 본 출원 명세서에서 실시된 일반적인 발명의 개념에 대한 더 넓은 특징의 정신에 포함되는 변형, 변경, 및 다른 실시예를 기대할 수 있을 것이다.

Claims (10)

  1. 스프레드시트 함수의 생성 방법에 있어서,
    전자 스프레드시트 문서를 수신하는 단계와,
    상기 전자 스프레드시트 문서에 제 1 콘텐트 아이템을 표시하는 단계와,
    상기 제 1 콘텐트 아이템의 선택을 수신하고, 그 이후에 상기 제 1 콘텐트 아이템의 표현을 상기 전자 스프레드시트 문서와 관련된 수식 바(formula bar)로 이동시키는 단계와,
    상기 수식 바에 셀 참조를 표시하는 단계 - 상기 셀 참조는 상기 전자 스프레드시트 문서 내의 상기 제 1 콘텐트 아이템의 위치에 대응함 - 와,
    상기 셀 참조와 관련된 하나 이상의 스프레드시트 함수의 문법 성분을 상기 수식 바에 자동으로 표시하여, 상기 제 1 콘텐트 아이템에 대한 연산을 위한 스프레드시트 함수를 구축하는 단계를 포함하는
    스프레드시트 함수 생성 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 스프레드시트 함수의 문법 성분 및 상기 셀 참조로 이루어지는 상기 스프레드시트 함수를 상기 제 1 콘텐트 아이템에 자동으로 적용하는 단계를 더 포함하는
    스프레드시트 함수 생성 방법.
  3. 제 1 항에 있어서,
    상기 전자 스프레드시트 문서에 포함된 제 2 콘텐트 아이템의 선택을 수신하는 단계와,
    상기 제 2 콘텐트 아이템의 위치에 대응하는 셀 참조를 상기 수식 바에 표시하는 단계를 더 포함하는
    스프레드시트 함수 생성 방법.
  4. 제 3 항에 있어서,
    상기 제 2 콘텐트 아이템의 상기 위치에 대응하는 상기 셀 참조와 관련된 하나 이상의 스프레드시트 함수의 문법 성분을 자동으로 표시하여, 상기 제 1 및 제 2 콘텐트 아이템에 대한 연산을 위한 스프레드시트 함수를 구축하는 단계를 더 포함하는
    스프레드시트 함수 생성 방법.
  5. 스프레드시트 함수의 생성 방법에 있어서,
    전자 스프레드시트 문서를 수신하는 단계와,
    상기 전자 스프레드시트 문서에 제 1 콘텐트 아이템을 표시하는 단계와,
    상기 전자 스프레드시트 문서와 관련된 스프레드시트 함수 바를 표시하여, 상기 제 1 콘텐트 아이템에 대한 연산을 위한 하나 이상의 스프레드시트 함수를 수신하는 단계와,
    상기 스프레드시트 함수 바에서 스프레드시트 함수의 하나 이상의 문자의 입력을 수신하는 단계와,
    상기 스프레드시트 함수의 제안된 완성(suggested completion)을 상기 스프레드시트 함수 바에 자동으로 표시하는 단계를 포함하는
    스프레드시트 함수 생성 방법.
  6. 제 5 항에 있어서,
    상기 스프레드시트 함수의 상기 표시된 제안된 완성의 선택을 수신하는 단계와,
    상기 스프레드시트 함수를 상기 스프레드시트 함수 바에 자동으로 표시하는 단계와,
    상기 표시된 스프레드시트 함수를 상기 제 1 콘텐트 아이템에 자동으로 적용하는 단계를 더 포함하는
    스프레드시트 함수 생성 방법.
  7. 제 5 항에 있어서,
    상기 스프레드시트 함수 바에서 스프레드시트 함수의 하나 이상의 문자의 입력을 수신하는 것에 응답하여, 선택 가능한 스프레드시트 함수 메뉴 중의 상기 스프레드시트 함수에 대한 하나 이상의 제안된 완성을 자동으로 표시하는 단계를 포함하는
    스프레드시트 함수 생성 방법.
  8. 제 7 항에 있어서,
    상기 스프레드시트 함수의 상기 하나 이상의 제안된 완성 중의 하나의 선택을 수신하는 단계와,
    상기 스프레드시트 함수의 상기 하나 이상의 제안된 완성 중의 상기 선택된 하나를 상기 스프레드시트 함수 바에 자동으로 표시하는 단계와,
    상기 스프레드시트 함수의 상기 하나 이상의 제안된 완성 중의 상기 선택된 하나를 상기 제 1 콘텐트 아이템에 자동으로 적용하는 단계를 더 포함하는
    스프레드시트 함수 생성 방법.
  9. 스프레드시트 함수의 생성 방법에 있어서,
    전자 스프레드시트 문서를 수신하는 단계와,
    상기 전자 스프레드시트 문서 내에 제 1 콘텐트 아이템의 입력을 수신하는 단계 - 상기 입력은 수치 및 적어도 하나의 수학 연산자를 포함함 - 와,
    상기 수신된 입력을 상기 전자 스프레드시트 문서와 관련된 스프레드시트 함수 바에 표시하는 단계와,
    상기 스프레드시트 함수 바에 표시된 상기 입력과 관련된 상기 하나 이상의 스프레드시트 함수의 문법 성분을 자동으로 표시하여, 상기 수신된 입력 및 하나 이상의 스프레드시트 함수의 문법 성분으로 이루어진 스프레드시트 함수를 생성하는 단계를 포함하는
    스프레드시트 함수 생성 방법.
  10. 제 9 항에 있어서,
    상기 생성된 스프레드시트 함수를 상기 수신된 입력에 대해 자동으로 수행하는 단계와,
    상기 생성된 스프레드시트 함수의 상기 수행 결과를 상기 수신된 입력에 대응하는 상기 전자 스프레드시트 문서 내의 위치에 표시하는 단계를 더 포함하는
    스프레드시트 함수 생성 방법.
KR1020167016062A 2013-12-17 2014-12-10 전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법 KR102326309B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/108,782 US9256590B2 (en) 2013-12-17 2013-12-17 Formula and function generation and use in electronic spreadsheets
US14/108,782 2013-12-17
PCT/US2014/069419 WO2015094826A1 (en) 2013-12-17 2014-12-10 Formula and function generation and use in electronic spreadsheets

Publications (2)

Publication Number Publication Date
KR20160098264A true KR20160098264A (ko) 2016-08-18
KR102326309B1 KR102326309B1 (ko) 2021-11-12

Family

ID=52355181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167016062A KR102326309B1 (ko) 2013-12-17 2014-12-10 전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법

Country Status (5)

Country Link
US (2) US9256590B2 (ko)
EP (1) EP3084635B1 (ko)
KR (1) KR102326309B1 (ko)
CN (1) CN105830057B (ko)
WO (1) WO2015094826A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190052271A (ko) * 2017-11-08 2019-05-16 주식회사 한글과컴퓨터 데이터 표시 및 입력 방법과 장치
KR101977104B1 (ko) * 2018-02-22 2019-06-19 주식회사 한글과컴퓨터 셀 영역 선택에 기초한 자동 함수 연산을 수행하는 스프레드시트 구동 장치 및 그 동작 방법

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792017B1 (en) 2011-07-12 2017-10-17 Domo, Inc. Automatic creation of drill paths
US9202297B1 (en) 2011-07-12 2015-12-01 Domo, Inc. Dynamic expansion of data visualizations
US10001898B1 (en) 2011-07-12 2018-06-19 Domo, Inc. Automated provisioning of relational information for a summary data visualization
CN102566901A (zh) * 2011-11-18 2012-07-11 珠海金山办公软件有限公司 一种在手持触摸设备上控制电子表格的方法
US9256590B2 (en) 2013-12-17 2016-02-09 Microsoft Technology Licensing, Llc Formula and function generation and use in electronic spreadsheets
USD780205S1 (en) * 2015-04-06 2017-02-28 Domo, Inc. Display screen or portion thereof with a graphical user interface for analytics
CA169865S (en) 2015-06-30 2019-07-17 Gamblit Gaming Llc Display screen with a graphical user interface
US10437922B2 (en) 2015-12-03 2019-10-08 Workday, Inc. Spreadsheet with unit based conversions
US10394947B2 (en) 2015-12-03 2019-08-27 Workday, Inc. Spreadsheet with unit based math
US11222170B2 (en) 2015-12-03 2022-01-11 Workday, Inc. Spreadsheet with unit parsing
US10235426B2 (en) * 2016-06-29 2019-03-19 International Business Machines Corporation Proposing a copy area in a document
US20180088750A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Devices, Methods, and Graphical User Interfaces for Creating and Displaying Application Windows
US11256710B2 (en) * 2016-10-20 2022-02-22 Microsoft Technology Licensing, Llc String transformation sub-program suggestion
US11620304B2 (en) 2016-10-20 2023-04-04 Microsoft Technology Licensing, Llc Example management for string transformation
US10846298B2 (en) 2016-10-28 2020-11-24 Microsoft Technology Licensing, Llc Record profiling for dataset sampling
CN106547434A (zh) * 2016-11-30 2017-03-29 努比亚技术有限公司 一种终端计算器的实现方法及终端
CN106980606A (zh) * 2017-03-30 2017-07-25 北京兴农丰华科技有限公司 一种移动端可定制表格数据的采集方法
US10791105B2 (en) 2017-04-07 2020-09-29 Microsoft Technology Licensing, Llc Credential-based proactive discovery of remote micro-services by spreadsheet applications
US10862979B2 (en) 2017-04-07 2020-12-08 Microsoft Technology Licensing, Llc Techniques for supporting remote micro-services as native functions in spreadsheet applications
CN109002427A (zh) 2017-06-06 2018-12-14 珠海金山办公软件有限公司 在电子表格中提示函数参数的方法、装置及电子设备
US11354494B2 (en) * 2017-07-10 2022-06-07 Adaptam Inc. Methods and systems for connecting a spreadsheet to external data sources with formulaic specification of data retrieval
USD853420S1 (en) * 2017-09-19 2019-07-09 Insight Services, Inc. Display screen or portion thereof with graphical user interface
US20190163734A1 (en) * 2017-11-27 2019-05-30 Microsoft Technology Licensing, Llc Dynamic pattern recognition in spreadsheets
US10789414B2 (en) * 2018-05-04 2020-09-29 Think-Cell Software Gmbh Pattern-based filling of a canvas with data and formula
US11227106B2 (en) 2019-03-19 2022-01-18 Microsoft Technology Licensing, Llc Suggested functions for formulas in spreadsheets
CN110262723B (zh) * 2019-06-24 2022-04-15 广州市托奥智能科技有限公司 一种办公辅助方法及辅助系统
CA3231830A1 (en) * 2019-08-05 2021-02-11 Ai21 Labs Systems and methods of controllable natural language generation
US11126791B2 (en) 2020-02-21 2021-09-21 Microsoft Technology Licensing, Llc In-application example library
CN111897470A (zh) * 2020-07-06 2020-11-06 上海泛微网络科技股份有限公司 一种动态设置表单计算逻辑的方法和装置
US20220229974A1 (en) * 2021-01-20 2022-07-21 Workday, Inc. Formula generation by example
US11977835B2 (en) * 2021-05-24 2024-05-07 Adaptam Inc. Method and system for spreadsheet error identification and avoidance
US11900133B2 (en) * 2021-12-01 2024-02-13 Microsoft Technology Licensing, Llc Discovery and suggestions for unstructured tables in spreadsheets
US11755829B1 (en) * 2022-07-06 2023-09-12 Microsoft Technology Licensing, Llc Enhanced spreadsheet presentation using spotlighting and enhanced spreadsheet collaboration using live typing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060067813A (ko) * 2004-12-15 2006-06-20 마이크로소프트 코포레이션 스프레드쉬트 공식들을 자동으로 완료하는 시스템 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256649B1 (en) * 1998-06-17 2001-07-03 Xerox Corporation Animated spreadsheet for dynamic display of constraint graphs
US20030033329A1 (en) 2001-06-22 2003-02-13 Bergman Eric D. Method and apparatus for entry and editing of spreadsheet formulas
US7590944B2 (en) * 2005-03-31 2009-09-15 Microsoft Corporation Scrollable and re-sizeable formula bar
US8234293B2 (en) * 2005-09-08 2012-07-31 Microsoft Corporation Autocompleting with queries to a database
US20090216911A1 (en) * 2008-02-21 2009-08-27 Larry Long Method and system for intuitive coding to enter text expansions
US8166385B2 (en) * 2008-08-27 2012-04-24 The Board Of Trustees Of The Leland Stanford Junior University Spreadsheet system and method for managing photos
US9229922B2 (en) * 2008-09-30 2016-01-05 Apple Inc. Token representation of references and function arguments
US8972930B2 (en) * 2010-06-04 2015-03-03 Microsoft Corporation Generating text manipulation programs using input-output examples
US20120166466A1 (en) * 2010-12-28 2012-06-28 General Electric Company Methods and apparatus for adaptive searching for healthcare information
US9280532B2 (en) 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
US9594735B2 (en) 2011-09-12 2017-03-14 Microsoft Technology Licensing, Llc Automatic highlighting of formula parameters for limited display devices
US9588953B2 (en) * 2011-10-25 2017-03-07 Microsoft Technology Licensing, Llc Drag and drop always sum formulas
CN102566901A (zh) 2011-11-18 2012-07-11 珠海金山办公软件有限公司 一种在手持触摸设备上控制电子表格的方法
US9805016B2 (en) * 2013-10-22 2017-10-31 Microsoft Technology Licensing, Llc Techniques to present a dynamic formula bar in a spreadsheet
US20150169532A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Interaction with Spreadsheet Application Function Tokens
US9256590B2 (en) 2013-12-17 2016-02-09 Microsoft Technology Licensing, Llc Formula and function generation and use in electronic spreadsheets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060067813A (ko) * 2004-12-15 2006-06-20 마이크로소프트 코포레이션 스프레드쉬트 공식들을 자동으로 완료하는 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190052271A (ko) * 2017-11-08 2019-05-16 주식회사 한글과컴퓨터 데이터 표시 및 입력 방법과 장치
KR101977104B1 (ko) * 2018-02-22 2019-06-19 주식회사 한글과컴퓨터 셀 영역 선택에 기초한 자동 함수 연산을 수행하는 스프레드시트 구동 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US9256590B2 (en) 2016-02-09
US20150169530A1 (en) 2015-06-18
CN105830057B (zh) 2019-07-09
EP3084635A1 (en) 2016-10-26
WO2015094826A1 (en) 2015-06-25
EP3084635B1 (en) 2019-06-19
US10229102B2 (en) 2019-03-12
US20160154780A1 (en) 2016-06-02
KR102326309B1 (ko) 2021-11-12
CN105830057A (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
KR102326309B1 (ko) 전자 스프레드시트에서의 수식 및 함수의 생성 방법 및 사용 방법
US10977436B2 (en) Method and system for providing autofill of data
EP3084582B1 (en) Touch/gesture-enabled interaction with electronic spreadsheets
EP3084634B1 (en) Interaction with spreadsheet application function tokens
US20140372932A1 (en) Filtering Data with Slicer-Style Filtering User Interface
KR102362659B1 (ko) 다중 장치 환경에서의 애플리케이션/문서 협업
US10209864B2 (en) UI differentiation between delete and clear
US20160371241A1 (en) Autocreate files using customizable list of storage locations
EP3011422B1 (en) Content attribute control interface including incremental, direct entry, and scrollable controls
EP3523715B1 (en) Select and move hint

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant