KR100951132B1 - 표 계산 등의 처리를 실행하는 시스템 및 그 방법 - Google Patents

표 계산 등의 처리를 실행하는 시스템 및 그 방법 Download PDF

Info

Publication number
KR100951132B1
KR100951132B1 KR1020070021473A KR20070021473A KR100951132B1 KR 100951132 B1 KR100951132 B1 KR 100951132B1 KR 1020070021473 A KR1020070021473 A KR 1020070021473A KR 20070021473 A KR20070021473 A KR 20070021473A KR 100951132 B1 KR100951132 B1 KR 100951132B1
Authority
KR
South Korea
Prior art keywords
cell
calculation
input data
sheet
value
Prior art date
Application number
KR1020070021473A
Other languages
English (en)
Other versions
KR20070093816A (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 KR20070093816A publication Critical patent/KR20070093816A/ko
Application granted granted Critical
Publication of KR100951132B1 publication Critical patent/KR100951132B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은, 다수의 데이터에 대한 반복 처리를 프로그램을 작성하지 않고서 손쉽게 실현하는 것을 과제로 한다.
시트 내의 각 셀에 대하여, 그 셀의 값을 산출하는 계산식을 설정함으로써 계산 처리를 실행하는 시스템을 제공한다. 이 시스템은, 시트 내에 있어서의 복수의 입력 데이터를 기록한 하나 또는 복수의 셀이 제1 셀에 대응되어짐에 따라서, 복수의 입력 데이터의 각각을 제1 셀의 값으로서 순차 선택하는 입력 데이터 선택부와, 각각의 입력 데이터가 제1 셀의 값으로서 선택됨에 따라서, 제1 셀 이외의 셀에 설정된, 제1 셀을 참조하는 계산식의 계산을 실행하는 계산부와, 각각의 입력 데이터에 대하여 계산부가 계산식의 계산을 실행한 계산 결과를 하나 또는 복수의 제2 셀의 값으로서 출력하는 데이터 출력부를 구비한다.

Description

표 계산 등의 처리를 실행하는 시스템 및 그 방법{SYSTEM AND METHOD FOR PERFORMING PROCESSING, SUCH AS SPREADSHEET PROCESSING}
도 1은 표 계산 시스템(10)의 전체 구성을 도시하는 도면.
도 2는 데이터베이스(20)에 포함되는 제1 시트의 일례인 외부 스프레드시트(22)를 도시하는 도면.
도 3은 데이터베이스(20)에 포함되는 제2 시트의 일례인 내부 스프레드시트(24)를 도시하는 도면.
도 4는 데이터베이스(20)에 포함되는 대응 정보(26)의 일례를 도시하는 도면.
도 5는 표 계산 장치(30)의 기능 구성을 도시하는 도면.
도 6은 표시부(360)에 의한 외부 스프레드시트(22) 표시의 예를 도시하는 도면.
도 7은 표시부(360)에 의한 내부 스프레드시트(24) 표시의 예를 도시하는 도면.
도 8은 스프레드시트에 기록된 데이터에 기초한 계산의 처리 과정을 도시하는 도면.
도 9는 S810 및 S860 처리의 상세한 것을 도시하는 도면.
도 10은 S860에 있어서의 처리의 상세한 것을 도시하는 도면.
도 11은 스프레드시트의 다른 예를 도시하는 도면.
도 12는 그 다른 예의 스프레드시트에 기초한 처리의 개념도.
도 13은 ADIEU 시스템에 있어서의 종래의 예를 도시하는 도면.
도 14는 본 실시형태에 따른 표 계산 장치(30)를 ADIEU 시스템에 적용한 적용예를 도시하는 도면.
도 15는 표 계산 시스템(10)으로서 기능하는 정보 처리 장치(500)의 하드웨어 구성의 일례를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
10 : 표 계산 시스템 20 : 데이터베이스
22 : 외부 스프레드시트 24 : 내부 스프레드시트
26 : 대응 정보 30 : 표 계산 장치
200 : 외부 입력 셀 210 : 외부 출력 셀
220 : 내부 입력 셀 230 : 내부 출력 셀
300 : 취득부 310 : 기억부
320 : 판단부 330 : 입력 데이터 선택부
340 : 계산부 350 : 데이터 출력부
360 : 표시부 370 : 입력부
380 : 액세스 제어부 1200 : 스프레드시트
1210 : 스프레드시트 1220 : 스프레드시트
본 발명은, 표 계산 등의 처리를 하는 시스템 및 그 방법에 관한 것이다. 특히, 본 발명은, 시트에 포함되는 셀의 값에 기초하여 계산을 실행하는 시스템 및 그 방법에 관한 것이다.
표 계산 처리를 하는 시스템에 있어서, 이용자는 셀이라고 불리는 항목에 값을 입력함으로써 스프레드시트를 작성한다. 셀에는 다른 셀의 값을 참조한 수식을 기록할 수도 있다. 수식이 기록된 셀에는 그 수식의 계산 결과가 표시된다. 미리 준비된 함수를 수식에 포함시킴으로써, 비교적 고도의 계산을 손쉽게 실현할 수도 있다. 그러나, 수식에 포함시킬 수 있는 함수는 미리 정해져 있기 때문에, 다른 계산을 실현하고 싶은 경우에는 별도 프로그램을 작성해야만 하는 경우가 있다. 표 계산 처리를 하는 시스템으로서, 예컨대 엑셀(등록상표)이 이용되고 있다(비특허문헌 1을 참조).
<비특허문헌 1>
마이크로소프트 코포레이션, Excel 2003 제품 정보, 홈페이지 URL「http://wwv7.microsoft.com/japan/office/excel/prodinfo/default.mspx」
그러나, 프로그램의 작성은 수식의 기술과 비교하여 곤란한 작업이다. 이 때문에, 널리 일반 이용자가 손쉽게 프로그램을 작성할 수는 없으며, 생각대로 동 작하지 않는 프로그램의 오류를 정정하는 작업은 전문가에게 있어서도 곤란한 경우가 있다. 예컨대, 전술한 엑셀(등록상표)에 있어서, 미리 정해진 함수로 실현되지 않는 처리를 하기 위해서는, 이용자가 VisualBasic(등록상표) 등의 프로그램 언어로 프로그램을 작성해야만 한다.
한편으로, 최근 표 계산용의 시스템에는, 웹서버로부터 다량의 정보를 직접 취득하는 기능이 마련되게 되어 오고 있다. 예컨대, 표 계산용의 시스템은, 다수의 브랜드에 관한 주가를 웹서버로부터 취득하여 스프레드시트의 셀에 기록할 수 있다. 이러한 다량의 정보를 효율적으로 처리하기 위해서는 반복 처리가 유효하다. 그러나, 종래의 표 계산용의 시스템에서 반복 처리를 실현하려면, 표 계산용의 수식으로는 불충분하여, 프로그램의 작성이 필요하게 되는 경우가 많다.
그래서 본 발명은, 상기한 과제를 해결할 수 있는 시스템, 방법 및 프로그램을 제공하는 것을 목적으로 한다. 이 목적은 특허청구범위에 있어서의 독립항에 기재된 특징의 조합에 의하여 달성된다. 또한 종속항은 본 발명의 한층 더 유리한 구체적인 예를 규정한다.
상기 과제를 해결하기 위해서, 본 발명에 있어서는, 시트 내의 각 셀에 대하여, 그 셀의 값을 산출하는 계산식을 설정함으로써 계산 처리를 실행하는 시스템으로서, 시트 내에 있어서의 복수의 입력 데이터를 기록한 하나 또는 복수의 셀이 제1 셀에 대응되어짐에 따라서, 복수의 입력 데이터의 각각을 제1 셀의 값으로서 순차 선택하는 입력 데이터 선택부와, 각각의 입력 데이터가 제1 셀의 값으로서 선택 됨에 따라서, 제1 셀 이외의 셀에 설정된, 제1 셀을 참조하는 계산식의 계산을 실행하는 계산부와, 각각의 입력 데이터에 대하여 계산부가 계산식의 계산을 실행한 계산 결과를, 하나 또는 복수의 제2 셀의 값으로서 출력하는 데이터 출력부를 구비하는 시스템을 제공한다. 또한, 이 시스템에 의해서 계산 처리를 실행하는 방법 및 이 시스템으로서 정보 처리 기능을 기능시키는 프로그램을 제공한다.
한편, 상기한 발명의 개요는, 본 발명의 필요한 특징 모두를 열거한 것이 아니라, 이들 특징군의 서브컴비네이션도 또한 발명으로 될 수 있다.
이하, 발명의 실시형태를 통하여 본 발명을 설명하지만, 이하의 실시형태는 특허청구의 범위에 관한 발명을 한정하는 것이 아니며, 또한 실시형태 중에서 설명되고 있는 특징의 조합 전부가 발명의 해결 수단에 필수적이라고는 할 수 없다.
도 1은 표 계산 시스템(10)의 전체 구성을 도시한다. 표 계산 시스템(10)은 데이터베이스(20)와, 표 계산 장치(30)를 구비한다. 데이터베이스(20)는 표 계산에 이용하는 복수의 스프레드시트를 기록하고 있다. 이들 스프레드시트의 각각은 셀이라고 불리는 데이터 필드를 복수 갖는다. 각각의 셀에는 데이터가 기록되고, 또는 계산식이 설정되어 있다. 어떤 셀에 기록된 계산식은, 다른 셀에 기록된 데이터를 입력 파라메터로서 참조하더라도 좋다. 표 계산 장치(30)는, 입력 파라메터에 기초하여, 각각의 셀에 설정된 계산식의 계산을 실행하고, 계산 결과를 그 셀에 표시한다. 또한, 표 계산 장치(30)는 각각의 셀에 기록된 데이터를 변경하기 위한 입력을 접수하더라도 좋다. 입력 파라메터로서 참조되고 있는 데이터의 갱신에 따라서, 표 계산 장치(30)는 그 데이터를 참조하고 있는 계산식의 계산을 실행 한다. 이 결과, 데이터의 갱신에 따라서 그것을 참조하는 계산식의 계산 결과도 즉시 갱신되어 화면에 표시된다.
본 실시형태에 따른 표 계산 장치(30)는, 반복 처리 등의 비교적 고도의 계산을 별도 프로그램을 작성하지 않고서 손쉽게 실현할 수 있게 하는 것을 목적으로 한다. 이하, 표 계산 장치(30)의 구성을 설명하기 위해서, 보유하는 복수 브랜드의 주식에 관한 손익을 계산하는 계산 처리를 예로 그 상세한 것을 설명한다.
도 2는 데이터베이스(20)에 포함되는 제1 시트의 일례인 외부 스프레드시트(22)를 도시한다. 외부 스프레드시트(22)는 식별자를 S1로 하는 시트이며, 반복 처리의 외부의 처리를 나타낸다. 외부의 처리란, 즉 반복 처리의 시작 전 및 종료 후의 처리이다. 구체적으로는, 외부 스프레드시트(22)는 복수의 입력 데이터를 기록하는 외부 입력 셀(200)을 갖는다. 도 2의 예에서 외부 스프레드시트(22)는, 좌표 C2에서부터 C4에 복수의 외부 입력 셀(200)을 갖는다. 좌표 C2에 위치하는 외부 입력 셀(200)은 보유하는 복수 브랜드의 주식의 명칭을 복수의 입력 데이터로서 기록하고 있다.
한편, 「복수의 입력 데이터를 기록한다」란, 입력 데이터 그 자체를 직접 기록하고 있는 경우뿐만 아니라, 입력 데이터를 취득하기 위한 계산식을 기록하고 있는 경우도 포함한다. 도 2의 예에서, 외부 입력 셀(200)은 복수 브랜드의 주식의 명칭을 외부의 파일로부터 취득하기 위한 계산식을 기록하고 있다. 이 계산식에서, Query(파일명, 항목명)는 「파일명」의 파일로부터 「항목명」의 항목에 해당하는 복수의 데이터를 취득하는 계산식을 나타낸다. 이 계산식의 계산 결과, 좌 표 C2에 위치하는 셀(이하, 셀 C2 등이라 부름)에는 복수 브랜드의 주식의 명칭이 외부의 파일로부터 취득되어 기록된다.
또한, 좌표 C3에 위치하는 외부 입력 셀(200)은, 보유하는 복수 브랜드의 각각에 대하여 그 주식 지분을 복수의 입력 데이터로서 기록하고 있다. 또한, 좌표 C4에 위치하는 외부 입력 셀(200)은 보유하는 복수 주식의 매가를 복수의 입력 데이터로서 기록하고 있다. 주식의 브랜드명과 마찬가지로, 이들 입력 데이터도, Query 함수를 포함하는 계산식의 계산 결과 취득되는 것이라도 좋다.
외부 스프레드시트(22)는, 주식의 브랜드명을 나타내는 항목명을 셀 A6에 포함하고, 각각의 브랜드명을 셀 A7에서부터 셀 A9까지 포함한다. 또한, 외부 스프레드시트(22)는 각 브랜드의 손익을 나타내는 항목명을 셀 B6에 포함한다. 또한, 외부 스프레드시트(22)는 후술하는 내부 스프레드시트(24)에 설정된 계산식의 계산 결과를 기록하기 위한 외부 출력 셀(210)을 포함한다(셀 B7에서부터 셀 B9에 상당). 외부 출력 셀(210)은 본 발명에 따른 제2 셀의 일례이며, 도 2의 예와 같이 복수의 셀로 구성되어 있더라도 좋고, 단일의 셀로 구성되어 있더라도 좋다. 또한, 외부 스프레드시트(22)는 각각의 브랜드의 합계를 계산하기 위한 계산식을 셀 B11에 기록하고 있다.
도 3은 데이터베이스(20)에 포함되는 제2 시트의 일례인 내부 스프레드시트(24)를 도시한다. 내부 스프레드시트(24)는 식별자를 S2로 하는 시트이며, 반복 처리의 내부의 처리를 나타낸다. 내부의 처리란, 반복 처리가 시작되고 나서 종료할 때까지의 처리이다. 구체적으로는, 내부 스프레드시트(24)는 본 발명에 따른 제1 셀의 일례인 내부 입력 셀(220)을 복수 갖는다(셀 C3에서부터 셀 C5에 상당). 셀 C3은 보유하는 복수 브랜드의 주식 중의 어느 주식의 브랜드명을 기록하기 위해서 마련된다. 셀 C4는 그 주식을 보유하고 있는 주식 지분을 기록하기 위해서 마련된다. 셀 C5는 그 주식의 매가를 기록하기 위해서 마련된다.
또한, 셀 C6에는, 주가의 현재 가격을 취득하기 위한 계산식이 설정되어 있다. 이 계산식을 실행하면, 셀 C3에 기록된 브랜드명의 주식의 현재 가격이 외부로부터 취득되어 표시된다. 또한, 셀 C7에는 주식의 손익을 계산하기 위한 계산식이 설정되어 있다. 이 계산식은, 셀 C6에 기록된 현재 가격으로부터 셀 C5에 기록된 매가를 빼어, 셀 C4에 기록된 주식 지분을 곱하는 계산을 나타낸다. 더욱이, 내부 스프레드시트(24)는 셀 B2에 소정의 함수를 기록하더라도 좋다. 이 함수는, 셀 C3에 표시한 입력 데이터의, 도 2의 외부 입력 셀(200)에 기록된 복수의 입력 데이터 중의 배열 순서를 나타내는 식별자를 변경할 수 있게 표시한다. 이하, 이 식별자를 입력 데이터의 인덱스라고 부른다.
도 4는 데이터베이스(20)에 포함되는 대응 정보(26)의 일례를 도시한다. 데이터베이스(20)는 외부 스프레드시트(22) 및 내부 스프레드시트(24)에 더하여 대응 정보(26)를 기록하고 있다. 대응 정보(26)는 외부 스프레드시트(22) 중의 셀과 내부 스프레드시트(24) 중의 셀을 대응시키고, 또한 대응시키는 종별을 포함한다. 예컨대, 대응 정보(26)는, 외부 스프레드시트(22)의 셀 C2와, 내부 스프레드시트(24)의 셀 C3을 대응시키는 종별 「입력」에 대응시켜 기록하고 있다. 이것은, 외부 입력 셀(200)인 셀 C2에 복수의 입력 데이터가 기록된 경우에, 후술하는 입력 데이터 선택부(330)에 의해서 순차 각각의 입력 데이터가 셀 C3의 값으로서 선택되는 것을 나타낸다. 이에 따라, 내부 스프레드시트(24)에 설정된 계산식이, 외부 스프레드시트(22)에 기록된 각각의 입력 데이터를 입력 파라메터로 하여 반복 처리된다.
또한, 대응 정보(26)는, 외부 스프레드시트(22)의 셀 C3과 내부 스프레드시트(24)의 셀 C4를 대응시켜 기록하고 있다. 이것은, 외부 입력 셀(200)인 셀 C3에 복수의 입력 데이터가 기록된 경우에, 후술하는 입력 데이터 선택부(330)에 의해서 순차 각각의 입력 데이터가 셀 C4의 값으로서 선택되는 것을 나타낸다. 또한, 대응 정보(26)는, 외부 스프레드시트(22)의 셀 C4와 내부 스프레드시트(24)의 셀 C5를 대응시켜 기록하고 있다. 이것은, 외부 입력 셀(200)인 셀 C4에 복수의 입력 데이터가 기록된 경우에, 후술하는 입력 데이터 선택부(330)에 의해서 순차 각각의 입력 데이터가 셀 C4의 값으로서 선택되는 것을 나타낸다. 또한, 대응 정보(26)는, 외부 스프레드시트(22)의 셀 B7-B9와 내부 스프레드시트(24)의 셀 C7을 대응시키는 종별 「출력」에 대응시켜 기록하고 있다. 이것은, 내부 출력 셀(230)인 셀 C7에 계산 결과가 기록된 경우에, 그 계산 결과가 셀 B7-B9에 출력되는 것을 나타낸다.
도 5는 표 계산 장치(30)의 기능 구성을 도시한다. 표 계산 장치(30)는, 취득부(300)와, 기억부(310)와, 판단부(320)와, 입력 데이터 선택부(330)와, 계산부(340)와, 데이터 출력부(350)와, 표시부(360)와, 입력부(370)와, 액세스 제어부(380)를 갖는다. 취득부(300), 기억부(310), 판단부(320), 입력 데이터 선택 부(330), 계산부(340), 데이터 출력부(350), 표시부(360), 입력부(370) 및 액세스 제어부(380)는 전형적으로는 후술하는 CPU(1000)에 의해서 실현되고, 프로그램에 의해서 제어된다. 또한, 기억부(310)는 RAM 등의 휘발성 메모리에 의해서 실현된다.
취득부(300)는, 외부 스프레드시트(22), 내부 스프레드시트(24) 및 대응 정보(26)를 데이터베이스(20)로부터 취득하여 기억부(310)에 기억시킨다. 기억부(310)는 기억하고 있는 스프레드시트 등을 각 부에 공급한다. 또한, 기억부(310)는 기억하고 있는 스프레드시트를 액세스 제어부(380)의 제어에 따라서 변경한다. 판단부(320)는 기억부(310)에 기억된 스프레드시트가 변경되었는지를 판단한다. 예컨대, 판단부(320)는 외부 입력 셀(200)에 기록된 복수의 입력 데이터가 변경되었는지, 또는 내부 출력 셀(230)에 설정된 계산식이 변경되었는지를 판단한다.
입력 데이터 선택부(330)는, 외부 스프레드시트(22) 내에 있어서의 복수의 입력 데이터를 기록한 어느 외부 입력 셀(200)이, 내부 스프레드시트(24) 내의 내부 입력 셀(220)에 대응되었는지 여부를 대응 정보(26)에 기초하여 판단한다. 대응되어짐에 따라서, 입력 데이터 선택부(330)는 이들 복수의 입력 데이터의 각각을 내부 입력 셀(220)의 값으로서 순차 선택한다. 계산부(340)는, 각각의 입력 데이터가 내부 입력 셀(220)의 값으로서 선택됨에 따라서, 내부 스프레드시트(24) 내의 내부 입력 셀(220) 이외의 셀인 내부 출력 셀(230)에 설정된, 내부 입력 셀(220)을 참조하는 계산식의 계산을 실행한다. 데이터 출력부(350)는, 각각의 입력 데이터 에 대하여 계산부(340)가 계산식의 계산을 실행한 계산 결과를, 외부 스프레드시트(22) 내의 외부 출력 셀(210)의 값으로서 출력한다. 즉 표시부(360)는, 외부 스프레드시트(22) 전체를 표시하는 경우에, 이 계산 결과를 외부 출력 셀(210)의 값으로서 이용자에게 표시한다.
입력부(370)는 각 셀에 기록된 값이나 각 셀에 기록된 계산식을 변경하기 위한 입력을 이용자로부터 접수한다. 값을 변경하기 위한 입력을 접수하면, 액세스 제어부(380)는 미리 정해진 규칙에 따라서, 값의 변경이 허가되고 있는지를 판단한다. 예컨대, 외부 입력 셀(200)이 내부 입력 셀(220)에 대응되어지고 있는 것을 조건으로, 내부 입력 셀(220) 및 외부 출력 셀(210)에 대한 이용자에 의한 값의 변경을 금지한다. 이에 따라, 외부 스프레드시트(22)로부터 내부 스프레드시트(24)에 전파하는 입력 데이터의 값과 이용자에 의한 입력이 모순되는 것을 방지할 수 있다. 값의 변경이 허가되고 있는 경우에는, 액세스 제어부(380)는 이용자의 입력에 따라서, 기억부(310)에 기억된 스프레드시트를 변경한다.
또한, 입력부(370)는 내부 스프레드시트(24)의 셀 B1에 표시된 식별자를 변경하기 위한 입력을 접수하더라도 좋다. 이 입력에 기초하여 이 식별자가 변경됨에 따라서, 표시부(360)는 내부 입력 셀(220)에 표시하는 입력 데이터를 변경된 식별자에 의해서 식별되는 입력 데이터로 변경한다. 이에 따라, 이용자는, 여러 번 반복되는 계산 중 임의의 하나에 대해서, 그 계산 결과나 계산 과정을 참조할 수 있다.
도 6은 표시부(360)에 의한 외부 스프레드시트(22) 표시의 예를 도시한다. 표시부(360)는 외부 입력 셀(200)인 셀 C2에 보유하는 주식의 복수의 브랜드명을 표시한다. 이들 복수의 브랜드명이 복수의 입력 데이터이다. 또한, 표시부(360)는 외부 입력 셀(200)인 셀 C3에 보유하는 주식의 지분을 표시한다. 이들 복수의 지분 데이터도 복수의 입력 데이터이다. 또한, 표시부(360)는 외부 입력 셀(200)인 셀 C4에 보유하는 주식의 매가를 표시한다. 이들 복수의 매가 데이터도 복수의 입력 데이터이다.
표시부(360)는 또한, 외부 출력 셀(210)인 셀 B7에서부터 B9까지, 보유하는 주식의 브랜드마다 그 손익을 표시한다. 이들 손익 데이터의 각각은 내부 스프레드시트(24)의 셀 C7에 설정된 계산식에 의해서 계산된 것이다. 또한, 표시부(360)는 셀 B11에 설정된 계산식의 계산 결과, 즉, 셀 B7에서부터 B9까지 표시된 손익의 합계를 표시한다. 여기서, 계산 결과의 수가 4 이상인 경우에는 모든 결과를 셀 B7-B9에 표시할 수는 없다. 이러한 경우에는, 계산부(340)는, 모든 계산 결과를 표시할 수 있도록, 제2 셀의 수를 증가시키는 처리를 하더라도 좋다. 즉, 계산부(340)는 셀 B8과 B9와의 사이에 부족한 행을 삽입하더라도 좋다. 이에 따라 표시부(360)는 모든 계산 결과를 표시할 수 있다.
도 7은 표시부(360)에 의한 내부 스프레드시트(24) 표시의 예를 도시한다. 표시부(360)는 내부 출력 셀(230)인 셀 C3에 보유하는 주식의 복수의 브랜드의 어느 하나를 표시한다. 또한, 표시부(360)는 입력 데이터의 인덱스를 셀 B1에 표시한다. 도 7의 예에서 표시되는 인덱스는 2이다. 이에 따라, 내부 스프레드시트(24)의 셀 C3에 표시된 입력 데이터가, 외부 스프레드시트(22)의 셀 C2에 기록된 복수의 입력 데이터 중 2번째에 배열되어 있음을 알 수 있다. 마찬가지로, 내부 스프레드시트(24)의 셀 C4에 표시된 입력 데이터가, 외부 스프레드시트(22)의 셀 C3에 기록된 복수의 입력 데이터 중 2번째에 배열된 입력 데이터임을 알 수 있다. 마찬가지로, 내부 스프레드시트(24)의 셀 C5에 표시된 입력 데이터가, 외부 스프레드시트(22)의 셀 C4에 기록된 복수의 입력 데이터 중 2번째에 배열된 입력 데이터임을 알 수 있다.
또한, 표시부(360)는 셀 C6에 설정된 계산식 대신에, 이 계산식의 계산 결과를 셀 C6에 표시한다. 셀 C6에는 셀 C3의 값으로서 선택된 브랜드의 현재 가격을 취득하는 계산식이 설정되어 있기 때문에, 셀 C6에는 이 현재 가격이 표시된다. 또한, 표시부(360)는 셀 C7에 설정된 계산식 대신에, 이 계산식의 계산 결과를 셀 C7에 표시한다. 셀 C7에는 셀 C3의 값으로서 선택된 브랜드의 손익을 계산하는 계산식이 설정되어 있기 때문에, 셀 C7에는 이 손익의 계산 결과가 표시된다.
또한, 표시부(360)는, 내부 스프레드시트(24)를, 내부 스프레드시트(24) 중에 설정된 계산식이 복수의 입력 데이터에 대하여 적용되는 것을 나타내는 심볼에 대응시켜 표시한다. 도 7 좌측 아래 구석에는, 외부 스프레드시트(22) 또는 내부 스프레드시트(24)를 마우스 등의 조작으로 선택할 수 있게 하기 위해서 탭이 표시되어 있다. 예컨대, 표시부(360)는, 내부 스프레드시트(24)를 선택하기 위한 탭을, 탭이 다중으로 겹쳐 있는 모습을 나타낸 심볼에 의해서 표시하더라도 좋다. 이와 같이 표시함으로써, 이용자는 입력 데이터의 전파 방법이나 계산식의 적용 횟수를 직감적으로 이해할 수 있다.
도 8은 스프레드시트에 기록된 데이터에 기초한 계산의 처리 과정을 도시한다. 취득부(300)는, 외부 스프레드시트(22), 내부스프레드시트(24) 및 대응 정보(26)를 데이터베이스(20)로부터 취득하여 기억부(310)에 기억시킨다(S800). 스프레드시트의 취득에 따라, 입력 데이터 선택부(330), 계산부(340) 및 데이터 출력부(350)는, 각 셀에 설정된 계산식에 기초하여 계산을 실행하고, 표시부(360)는 그 계산 결과를 외부 스프레드시트(22) 및 내부 스프레드시트(24) 중의 셀에 표시한다(S810).
입력부(370)는, 셀에 기록된 입력 데이터나 셀에 설정된 계산식을 변경하기 위한 입력, 또는 입력 데이터의 인덱스를 변경하기 위한 입력을 이용자로부터 접수한다(S820). 이용자로부터의 입력에 따라 입력 데이터 또는 계산식이 변경됨에 따라서(S830 : 예), 계산부(340)는 변경된 입력 데이터에 기초하여, 그 입력 데이터를 직접적으로 또는 간접적으로 참조하는 계산식의 계산을 실행하고, 그 계산 결과의 표시를 갱신한다(S840). 계산식이 변경된 경우에는, 계산부(340)는 그 계산식의 계산을 재차 실행하고, 그 계산 결과의 표시를 갱신한다.
입력 데이터의 인덱스를 변경하기 위한 입력을 이용자로부터 접수함에 따라 (S850 : 예), 표시부(360)는 내부 입력 셀(220)에 표시하는 입력 데이터를 변경된 식별자에 의해서 식별되는 입력 데이터로 변경한다(S860).
도 9는 S810 및 S860 처리의 상세한 것을 도시한다. 표 계산 장치(30)는, S810에 있어서는 모든 입력 데이터에 관해서, S860에 있어서는 갱신된 입력 데이터를 직접적으로 또는 간접적으로 참조하는 입력 데이터에 대해 이하의 처리를 행한 다.
입력 데이터 선택부(330)는 내부 스프레드시트(24)와 동일한 구조를 갖는, 복수의 입력 데이터의 수에 따른 수의 템포러리ㆍ시트를 생성한다(S900). 한편, 이미 템포러리ㆍ시트가 생성되어 있는 경우에는, 복수의 입력 데이터의 수와 비교하여 부족한 수의 템포러리ㆍ시트를 생성하면 된다. 예컨대 입력 데이터의 수가 증가한 것을 조건으로, 입력 데이터 선택부(330)는 증가한 입력 데이터의 수에 따른 템포러리ㆍ시트를 새롭게 생성한다.
이어서, 데이터 출력부(350)는 내부 출력 셀(230)에 설정된 계산식의 계산 결과를 기록하기 위한 템포러리ㆍ필드를 생성한다(S910). 한편, 이미 템포러리ㆍ필드가 생성되어 있는 경우에는, 기록하여야 할 계산 결과의 수와 비교하여 부족한 사이즈의 영역만을 생성하면 된다. 즉, 데이터 출력부(350)는, 복수의 입력 데이터의 수가 증가한 것을 조건으로, 증가한 입력 데이터의 수에 따른 사이즈의 템포러리ㆍ필드를 생성한다.
이어서, 입력 데이터 선택부(330)는, 각각의 템포러리ㆍ시트에 있어서의 내부 입력 셀(220)에 대응하는 템포러리ㆍ셀의 각각의 값으로서, 외부 입력 셀(200)에 기록된 복수의 입력 데이터의 각각을 선택한다(S920). 이 처리는 예컨대, 다음과 같이 실장되더라도 좋다. 표 계산 장치(30)는, 갱신되어 재계산하여야 할 셀을 관리하는 큐 구조의 데이터(이하, 단순히 큐라고 부름)를 갖는다. 입력 데이터 선택부(330)는 S920에 있어서, 상기 각각의 템포러리ㆍ셀을 큐에 더한다.
계산부(340)는 각각의 템포러리ㆍ시트에 설정된 계산식에 의해서, 각각의 템 포러리ㆍ셀의 값에 대하여 계산을 실행한다(S930). 이 처리는 예컨대 다음과 같이 실장된다. 계산부(340)는, 이 큐의 선두로부터 셀을 1씩 빼내어, 그 셀의 값을 재계산한다. 셀에 값 자체가 기록되어 있는 경우에는 계산부(340)는 아무런 계산을 하지 않고, 그 셀을 참조하고 있는 다른 모든 셀을 찾아내어 큐에 더한다. 예컨대, 계산부(340)는, 템포러리ㆍ셀을 큐로부터 빼낸 경우에, 그 템포러리ㆍ셀의 값을 참조하는 계산식이 설정된 다른 셀을 큐에 가한다. 셀에 계산식이 설정되어 있는 경우에는, 계산부(340)는 그 셀의 계산식의 계산을 실행하고 나서, 그 계산 결과를 참조하는 다른 셀을 큐에 가한다. 예컨대 계산부(340)는, 템포러리ㆍ셀을 참조하는 다른 셀을 큐로부터 빼낸 경우에, 그 다른 셀에 설정된 계산식의 계산을 실행하여, 그 계산 결과를 참조하는 다른 셀을 큐에 가한다.
데이터 출력부(350)는 각각의 입력 데이터에 대하여 계산부(340)가 계산식의 계산을 실행한 계산 결과를 템포러리ㆍ필드에 기록한다(S940). 그리고, 데이터 출력부(350)는 템포러리ㆍ필드에 기록된 계산 결과를 외부 출력 셀(210) 중에 표시하여야 할 데이터로서 출력한다(S950). 이 데이터를 직접적으로 또는 간접적으로 참조하는 다른 계산식이 외부 스프레드시트(22) 중에 포함되어 있는 경우에는, 그 다른 계산식의 계산 결과가 더욱 갱신된다. 이 처리도 큐를 이용하여 통일적인 실장에 의해 실현된다. 예컨대 데이터 출력부(350)는, 계산 결과가 외부 출력 셀(210)에 출력됨에 따라, 외부 출력 셀(210)을 큐에 가한다. 계산부(340)는, 외부 출력 셀(210)을 큐로부터 빼내면, 그것을 참조하는 다른 복수의 셀의 계산을 실행한다.
이상, 도 9를 참조하여 설명한 처리에 따르면, 외부 스프레드시트(22)로부터 내부 스프레드시트(24)에의 입력 데이터의 주고받기만을 대응 정보(26)에 기초하여 행하고, 그 밖의 부분은 큐를 이용한 통일적인 실장으로 표 계산을 실현할 수 있다. 이에 따라, 반복 처리 등의 계산 처리를 새롭게 실현하면서도, 종래의 표 계산시스템이 손에 익은 이용자에게 있어서 직감적이고 이해하기 쉬운 기능을 제공할 수 있다.
도 10은 S860에 있어서의 처리의 상세한 것을 도시한다. 내부 스프레드시트(24)의 표시에 관해 표시부(360)는 이하의 처리를 행한다. 표시부(360)는, 내부 입력 셀(220)에 표시한 입력 데이터의, 외부 입력 셀(200)에 기록된 복수의 입력 데이터 중의 배열 순서를 나타내는 식별자(전술한 인덱스)를 내부 스프레드시트(24)에 대응시켜 표시한다(S1000). 인덱스의 표시 부위는 예컨대, 도 7에 예시한 셀 B1 등의 셀이다. 이 대신에, 인덱스는 내부 스프레드시트(24)를 다른 스프레드시트로부터 구별하여 선택하기 위한 태그(예컨대 도 7 좌측 아래 부분)에 표시되더라도 좋다.
표시부(360)는, 복수의 입력 데이터의 어느 것을 내부 입력 셀(220)에 표시한다(S1010). 예컨대, 도 7에 예시한 셀 C3에는, 복수의 브랜드명 중의 하나가 표시된다. 표시되는 입력 데이터는 외부 입력 셀(200)에 기록된 복수의 입력 데이터 중, 전술한 인덱스에 의해 지정된 순서로 배열된 입력 데이터이다. 이어서 표시부(360)는, 이 입력 데이터를 참조하는 계산식이 설정된 내부 출력 셀(230)에 외부 입력 셀(200)에 표시한 입력 데이터에 대한 계산 결과를 표시한다(S1020). 예컨대, 도 7에 예시한 셀 C7에는, 셀 C3에 표시된 브랜드의 주식에 관한 손익이 표시된다.
이상, 도 1에서부터 도 10을 참조하여 설명한 것과 같이, 본 실시형태에 따른 표 계산 장치(30)에 의하면, 복수의 입력 데이터에 대한 반복 처리를 간편한 조작에 의해서 실현시킬 수 있다. 이에 따라, 다량의 데이터에 대한 일괄 처리 등을 프로그램을 작성하지 않고서 손쉽게 실현할 수 있다. 본 실시형태에 따른 표 계산 장치(30)에 의해서 실현되는 반복 처리는, 다른 반복 처리를 더욱 포함하거나, 또는 다른 반복 처리에 포함되어 있더라도 좋다. 이러한 겹침 상자 구조의 반복 처리의 일례를 이하에 나타낸다.
도 11은 스프레드시트의 다른 예를 도시한다. 좌측 도면은 스프레드시트(1200)의 개념도이며, 우측 도면은 이 스프레드시트(1200)의 어느 셀에 기록된 데이터의 일례를 도시한다. 이 셀에는 XML(eXtenslble Markup Language)로 기술된 데이터가 기록되어 있다. 이 데이터는 계층 구조를 이루며, 최상위의 계층에 복수의 group 태그를 포함한다. group 태그의 시작 태그에서부터 종료 태그까지 기술된 데이터가 1개의 입력 데이터를 구성한다. 즉, 복수의 group 태그는 복수의 입력 데이터를 구성한다. 또한, 하나의 group 태그의 시작 태그에서부터 종료 태그까지의 사이에는 복수의 person 태그가 기술된다.
도 12는 그 다른 예의 스프레드시트에 기초한 처리의 개념도이다. 취득부(300)는, 제1 시트인 스프레드시트(1200)와, 제2 시트인 스프레드시트(1210)에 더하여, 제3 시트인 스프레드시트(1220)를 취득한다. 입력 데이터 선택부(330)는 전술한 예와 마찬가지로, 스프레드시트(1200) 내에 있어서의 복수의 입력 데이터(여기서는 XML 문서)를 기록한 셀이, 스프레드시트(1210) 내의 셀에 대응되어짐에 따라서, 그 복수의 입력 데이터의 각각을 스프레드시트(1210) 내의 해당 셀의 값으로서 선택한다. 예컨대, group 태그의 시작 태그에서부터 종료 태그까지의 사이에 기술된 데이터가 스프레드시트(1210) 내의 셀의 값으로서 선택된다.
더욱이, 입력 데이터 선택부(330)는, 스프레드시트(1210) 내에 있어서의 복수의 입력 데이터(여기서는 group 태그의 시작 태그에서부터 종료 태그까지의 사이의 데이터)를 기록한 셀이, 스프레드시트(1220) 내의 셀에 대응되어짐에 따라서, 그 복수의 입력 데이터의 각각을 스프레드시트(1220) 내의 그 셀의 값으로서 선택한다. 예컨대, person 태그의 시작 태그에서부터 종료 태그까지의 사이에 기술된 데이터가, 스프레드시트(1220) 내의 셀의 값으로서 선택된다. 스프레드시트(1220)에는 하나의 person 태그에 의해서 기술된 데이터에 대한 계산식이 기술된다. 계산부(340)는, 각각의 입력 데이터가 스프레드시트(1220) 중의 셀의 값으로서 선택됨에 따라서, 스프레드시트(1220) 내의 이 셀 이외의 셀에 설정된, 이 셀을 참조하는 계산식의 계산을 실행한다. 이에 따라, 예컨대, name 태그에 대응하는 값인 hanako나 age 태그에 대응하는 값인 24 등을 참조할 수 있게 할 수 있다.
이상, 도 11 및 도 12를 참조하여 설명한 것과 같이, 복수의 반복 처리를 겹침 상자 구조로 실행시킬 수도 있다. 이 경우, 각각의 계층의 스프레드시트에는, 1 계층분의 데이터에 대한 처리만을 기술하면 된다. 이에 따라, XML 문서 등의 다중 계층의 데이터에 관한 처리를 손쉽게 실현할 수 있게 할 수 있다.
이어서, 본 실시형태에 따른 표 계산 장치(30)를 스프레드시트 이외의 데이터에 적용한 예를 설명한다. 인터내셔널비즈니스머신즈코포레이션에 의해서, ADIEU(Ad Hoc Development and Integration tool for End Users)라는 시스템이 개발되고 있다. 이 시스템은, 복수의 웹페이지로 구성되는 웹 애플리케이션을 손쉽게 작성할 수 있게 한다. ADIEU에 있어서, 웹페이지나 프로그램 혹은 프로그램에 의해서 참조되는 일군의 데이터는 카드라고 불리는 윈도우로 나타내어진다. 이용자는, 각각의 카드 중의 셀에 데이터를 기록함으로써, 웹페이지의 표시 내용이나 프로그램의 동작 내용을 정할 수 있다. 또한, 이용자는 하나의 카드와 다른 카드와의 사이에 참조 관계를 작성할 수 있다. 이에 따라, 웹페이지 사이의 하이퍼링크나 데이터의 참조 관계를 정의할 수 있다.
도 13은 ADIEU 시스템에 있어서의 종래의 예를 도시한다. 이 예에 나타내는 웹 애플리케이션 프로그램은, 도 2에서부터 도 4에 나타내는 스프레드시트와 마찬가지로, 복수 브랜드의 주식의 손익을 계산한다. 이 프로그램은, 카드 A, 카드 B, 카드 C, 카드 D 및 카드 E에 의해서 나타낸다. 카드 B 및 카드 E는 변수의 정의를 나타낸다. 구체적으로는, 카드 B는, stockNames라는 배열 변수의 내용이 AAA, …임을 나타낸다. 또한, qtys라는 배열 변수의 내용이 200, …임 나타낸다. 또한, prices라는 배열 변수의 내용이 80, …임을 나타낸다. 카드 E는, total이라는 변수의 값이 0임을 나타낸다. total이라는 변수는 계산 결과를 저장하기 위한 변수이며, 계산이 완료되고 있지 않은 경우에는 초기값인 0을 저장하고 있다.
카드 A는 반복 처리의 제어를 나타낸다. 이 제어에 의해서, 카드 C 및 카드 D에 의해서 나타내어지는 처리가 배열 변수 stockNames의 요소수와 동일한 횟수만큼 반복된다. 또한, 카드 A는 이 반복 처리를 반복할 때마다 1 증가하는 변수 counter를 정의하고 있다. 카드 C는 배열 변수 sotckNames의 선두에서부터 세어 변수 counter의 값과 같은 순서의 요소를 빼내어, 그 브랜드명의 주식의 현재 가격을 취득하는 프로그램을 나타낸다. 카드 D는 카드 C의 프로그램으로 취득된 현재 가격으로부터, 그 주식의 매가를 빼고, 그 주식의 지분을 곱해, 카드 E에서 정의된 변수 total에 대입하는 프로그램을 나타낸다.
이와 같이, 종래의 ADIEU 시스템에서 반복 처리를 실현하기 위해서는, counter라는 유도 변수를 도입하여, 반복 처리의 각 회에 있어서의 처리의 상세한 것을 정의해야만 한다. 이러한 정의는, 프로그램의 작성에 숙련된 이용자가 아니면 곤란한 경우가 있다. 또한, 이 예에서, 이용자는 합계의 손익밖에 참조할 수 없으며, 그것이 계산되는 과정에서 계산된 각 브랜드의 손익 등을 참조할 수 없다. 이 때문에, 데이터나 계산에 오류가 있는 경우에는, 오류의 원인 부위를 특정하기가 어렵다.
도 14는 본 실시형태에 따른 표 계산 장치(30)를 ADIEU 시스템에 적용한 적용예를 나타낸다. 표 계산 장치(30)를 ADUIE 시스템에 적용함으로써, 이용자는, 각 카드의 셀에 필요한 값을 입력하는 것만으로, 명시적으로 반복하여 처리를 정의하지 않고서 반복 처리를 실현할 수 있다. 구체적으로는, 도 14에 있어서의 웹 애플리케이션 프로그램은 카드 B, 카드 C, 카드 E 및 카드 F에 의해서 나타내어진다. 카드 B는 도 13의 카드 B와 마찬가지로, 배열 변수 stockNames와, 배열 변수 qtys와, 배열 변수 prices의 내용의 정의를 나타낸다. 더욱이, 카드 B는 배열 변수 gainsAndLosses를 정의한다. 또한, 카드 E는 변수 total을 정의한다. 카드 B 및 카드 E는 스프레드시트의 예에 있어서의 제1 스프레드시트에 상당하고, 배열 변수 stockNames, 배열 변수 qtys 및 배열변수 prices는 각각 입력 데이터에 상당한다.
또한, 카드 C 및 카드 F는 스프레드시트의 예에 있어서의 제2 스프레드시트에 상당한다. 카드 F는 변수 stockName와, 변수 qty와, 변수 price를 나타낸다. 도면 중의 화살표는 대응시킴을 나타낸다. 변수 stockName는 배열 변수 stockNames에 대응되어져 있고, 변수 qty는 배열 변수 qtys에 대응되어져 있고, 변수 price는 배열 변수 prices에 대응되어져 있다. 이들과 같이 대응됨에 따라, 입력 데이터 선택부(330)는, 카드 B의 배열 변수의 복수의 요소의 각각을 카드 F의 변수의 요소로서 순차 선택한다. 예컨대, 입력 데이터 선택부(330)는 배열 변수 stockNames의 각각의 요소를 변수 stockName의 요소로서 순차 선택한다. 도 14에는 제1 요소가 선택된 경우의 상태를 도시한다.
카드 F는 또한, gainOrLoss라는 변수를 정의한다. 이 변수의 정의를 나타내는 셀에는 계산식이 설정되어 있다. 계산식은, 카드 C에서 계산된 주식의 현재 가격으로부터, 입력 데이터 선택부(330)에 의해서 선택된 주식의 매가를 빼고, 입력 데이터 선택부(330)에 의해서 선택된 주식의 지분을 곱하는 계산을 나타낸다. 또한, 변수 gainOrLoss는 카드 B의 배열 변수 gainsAndLosses에 대응되어져 있다. 데이터 출력부(350)는 이와 같이 대응시킴에 따라서, 변수 gainOrLoss의 값을 배열 변수 gainsAndLosses의 각 요소로서 출력한다.
이상, 도 14에 나타내는 예에 의해서도 스프레드시트의 예와 마찬가지로, 간 소한 입력 조작으로 반복 처리를 손쉽게 작성할 수 있다. 이와 같이, 본 실시형태에 따른 표 계산 장치(30)는, 셀과 그것을 참조하는 계산을 정의하는 형태의 시스템이라면, 표 계산 시스템뿐만 아니라 폭넓게 응용이 가능하다.
도 15는 표 계산 시스템(10)으로서 기능하는 정보 처리 장치(500)의 하드웨어 구성의 일례를 도시한다. 정보 처리 장치(500)는, 호스트 컨트롤러(1082)에 의해 서로 접속되는 CPU(1000), RAM(1020) 및 그래픽 컨트롤러(1075)를 갖는 CPU 주변부와, 입출력 컨트롤러(1084)에 의해 호스트 컨트롤러(1082)에 접속되는 통신 인터페이스(1030), 하드디스크 드라이브(1040) 및 CD-ROM 드라이브(1060)를 갖는 입출력부와, 입출력 컨트롤러(1084)에 접속되는 ROM(1010), 플렉시블 디스크 드라이브(1050) 및 입출력 칩(1070)을 갖는 레거시 입출력부를 구비한다.
호스트 컨트롤러(1082)는, RAM(1020)과, 높은 전송 레이트로 RAM(1020)을 액세스하는 CPU(1000) 및 그래픽 컨트롤러(1075)를 접속한다. CPU(1000)는, ROM(1010) 및 RAM(1020)에 저장된 프로그램에 기초하여 동작하여, 각 부의 제어를 한다. 그래픽 컨트롤러(1075)는, CPU(1000) 등이 RAM(1020) 내에 설치한 프레임 버퍼 상에 생성하는 화상 데이터를 취득하여, 표시 장치(1080) 상에 표시하게 한다. 이 대신에, 그래픽 컨트롤러(1075)는, CPU(1000) 등이 생성하는 화상 데이터를 저장하는 프레임 버퍼를 내부에 포함하더라도 좋다.
입출력 컨트롤러(1084)는, 호스트 컨트롤러(1082)와, 비교적 고속의 입출력 장치인 통신 인터페이스(1030), 하드디스크 드라이브(1040) 및 CD-ROM 드라이브(1060)를 접속한다. 통신 인터페이스(1030)는 네트워크를 통해 외부의 장치와 통신한다. 하드디스크 드라이브(1040)는 정보 처리 장치(500)가 사용하는 프로그램 및 데이터를 저장한다. CD-ROM 드라이브(1060)는 CD-ROM(1095)으로부터 프로그램 또는 데이터를 읽어내어, RAM(1020) 또는 하드디스크 드라이브(1040)에 제공한다.
또한, 입출력 컨트롤러(1084)에는 ROM(1010)과, 플렉시블 디스크 드라이브(1050)나 입출력 칩(1070) 등의 비교적 저속의 입출력 장치가 접속된다. ROM(1010)은 정보 처리 장치(500)의 기동시에 CPU(1000)가 실행하는 부팅 프로그램이나, 정보 처리 장치(500)의 하드웨어에 의존하는 프로그램 등을 저장한다. 플렉시블 디스크 드라이브(1050)는 플렉시블 디스크(1090)로부터 프로그램 또는 데이터를 읽어내어, 입출력 칩(1070)을 통해 RAM(1020) 또는 하드디스크 드라이브(1040)에 제공한다. 입출력 칩(1070)은 플렉시블 디스크(1090)나, 예컨대 병렬 포트, 직렬 포트, 키보드 포트, 마우스 포트 등을 통해 각종 입출력 장치를 접속한다.
정보 처리 장치(500)에 제공되는 프로그램은 플렉시블 디스크(1090), CD-ROM(1095) 또는 IC 카드 등의 기록 매체에 저장되어 이용자에 의해서 제공된다. 프로그램은, 입출력 칩(1070) 및/또는 입출력 컨트롤러(1084)를 통해, 기록 매체로부터 독출되어 정보 처리 장치(500)에 인스톨되어 실행된다. 프로그램이 정보 처리 장치(500) 등에 기능하여 행하게 하는 동작은, 도 1에서부터 도 14에 있어서 설명한 표 계산 시스템(10)에 있어서의 동작과 동일하므로 설명을 생략한다.
이상에 나타낸 프로그램은 외부의 기억 매체에 저장되더라도 좋다. 기억 매체로서는, 플렉시블 디스크(1090), CD-ROM(1095) 외에, DVD나 PD 등의 광학 기록 매체, MD 등의 광자기 기록 매체, 테이프 매체, IC 카드 등의 반도체 메모리 등을 이용할 수 있다. 또한, 전용 통신 네트워크나 인터넷에 접속된 서버 시스템에 설치한 하드디스크 또는 RAM 등의 기억 장치를 기록 매체로서 사용하여, 네트워크를 통해 프로그램을 정보 처리 장치(500)에 제공하더라도 좋다.
이상, 본 발명을 실시형태를 이용하여 설명했지만, 본 발명의 기술적 범위는 상기 실시형태에 기재된 범위에는 한정되지 않는다. 상기 실시형태에 다양한 변경 또는 개량을 가하는 것이 가능하다는 것은 당업자에게 있어서 분명하다. 예컨대, 입력 데이터 선택부(330)는, 미리 지정된 외부 입력 셀에 단일의 입력 데이터가 기록되어 있는 것을 조건으로, 그 입력 데이터를 복수의 템포러리ㆍ시트에 대응하는 내부 입력 셀의 값으로서 복수 회 선택하더라도 좋다. 이 경우, 이 단일의 입력 데이터에 대한 계산이 복수의 템포러리ㆍ시트에 있어서 복수 회 이루어진다. 이러한 구조는, 외부 스프레드시트로 정의한 상수를 내부 스프레드시트에서 참조할 수 있게 하는 경우에 유효하다. 한편, 외부 스프레드시트 중에서 복수의 입력 데이터를 갖는 셀이 복수 있어, 이들이 내부 스프레드시트 중의 셀에 대응되어져 있을 때, 이들 외부 스프레드시트 중의 셀 중의 데이터 요소의 수가 서로 다른 경우가 있다. 그 경우에는, 최대의 요소수에 따른 반복 계산을 하여, 데이터가 부족한 셀에 대해서는 특정한 설정치로 대용하거나, 혹은 최소의 요소수에 따른 반복 계산을 하여, 여분의 데이터 요소에 대해서는 무시한다고 한 설정을 선택할 수 있도록 하는 것도 가능하다. 또한, 또 다른 예로서, 내부 스프레드시트의 셀의 값은, 그 내부 스프레드시트 내에 설정된 계산식, 또는 그 내부 스프레드시트를 외부 스프레드 시트로 하는 다른 내부 스프레드시트 내에 설정된 계산식으로부터만 참조할 수 있게 하더라도 좋다. 이와 같이 함으로써, 복수의 템포러리ㆍ시트가 생성됨에 따라서 생기는 참조할 곳의 애매함을 배제하여, 표 계산 시스템(10)의 개발?보수 관리나 이용자의 조작을 용이하게 할 수 있다. 그와 같은 변경 또는 개량을 가한 형태도 본 발명의 기술적 범위에 포함될 수 있음이 특허청구범위의 기재로부터 분명하다.
본 발명에 따르면, 다수의 데이터에 대한 반복 처리를, 프로그램을 작성하지 않고 손쉽게 실현할 수 있다.

Claims (10)

  1. 시트 내의 각 셀에 대하여, 상기 셀의 값을 산출하는 계산식을 설정함으로써 계산 처리를 행하는 시스템으로서,
    제1 시트, 제2 시트 및 제1 시트 내의 셀과 제2 시트 내의 셀을 대응시키는 대응 정보를 기억하도록 구성된 기억부;
    상기 대응 정보에 의해 상기 제1 시트 내에서의 복수의 입력 데이터를 기록한 하나 또는 복수의 셀이, 상기 제2 시트 내의 제1 셀에 대응되고 있다고 판단함에 따라, 상기 복수의 입력 데이터의 각각을 상기 제1 셀의 값으로서 순차 선택하도록 구성된 입력 데이터 선택부;
    상기 입력 데이터 선택부에 의해 각각의 입력 데이터가 상기 제1 셀의 값으로서 선택됨에 따라, 상기 제2 시트 내의 상기 제1 셀 이외의 셀에 설정된, 상기 제1 셀을 참조하는 계산식의 계산을 행하도록 구성된 계산부;
    각각의 입력 데이터에 대하여 상기 계산부가 상기 계산식의 계산을 행한 계산 결과를, 상기 대응 정보에 의해 상기 제2 시트 내에서의 상기 계산식이 설정된 셀에 대응된, 상기 제1 시트 내의 하나 또는 복수의 제2 셀의 값으로서 출력하도록 구성된 데이터 출력부를 포함하는 계산 처리 시스템.
  2. 삭제
  3. 제1항에 있어서, 상기 복수의 입력 데이터를 기록한 하나 또는 복수의 셀이 제1 셀에 대응되어짐에 따라서, 상기 제2 시트를, 상기 계산식이 복수의 입력 데이터에 대하여 적용되는 것을 나타내는 심볼에 대응시켜 표시하도록 구성된 표시부를 더 구비하는 것인 계산 처리 시스템.
  4. 제3항에 있어서, 상기 표시부는,
    상기 제1 셀에 상기 복수의 입력 데이터 중 어느 하나를 표시하도록 구성되고,
    상기 계산식이 설정된 셀에, 상기 제1 셀에 표시된 상기 입력 데이터에 대한 계산 결과를 표시하도록 구성된 것인 계산 처리 시스템.
  5. 제1항에 있어서, 상기 복수의 입력 데이터를 기록한 하나 또는 복수의 셀이 상기 제1 셀에 대응되어짐에 따라, 상기 제1 셀 및 상기 제2 셀의 값에 대한 이용자에 의한 변경을 금지하도록 구성된 액세스 제어부를 더 구비하는 것인 계산 처리 시스템.
  6. 제1항에 있어서,
    상기 복수의 입력 데이터의 각각이 갱신되었는지를 판단하도록 구성된 판단부를 더 구비하고,
    상기 입력 데이터 선택부는, 상기 복수의 입력 데이터 중 어느 하나를 갱신하는 것에 응답하여, 상기 갱신된 입력 데이터를 상기 제1 셀의 값으로서 선택하도록 구성되고,
    상기 계산부는, 상기 갱신된 입력 데이터에 대하여, 상기 제1 셀을 참조하는 상기 계산식의 계산을 실행하도록 구성되고,
    상기 데이터 출력부는, 상기 갱신된 입력 데이터에 대하여 상기 계산부가 상기 계산식의 계산을 실행한 계산 결과를 출력하도록 구성된 것인 계산 처리 시스템.
  7. 제1항에 있어서, 상기 입력 데이터 선택부는, 상기 제2 시트와 동일한 구조를 가지며 상기 복수의 입력 데이터의 수와 동등한 수의 템포러리ㆍ시트를 생성하여, 각각의 상기 템포러리ㆍ시트에 있어서의 상기 제1 셀에 대응하는 템포러리ㆍ셀의 각각의 값으로서, 상기 복수의 입력 데이터의 각각을 선택하도록 구성되고,
    상기 계산부는, 각각의 상기 템포러리ㆍ시트에 설정된 계산식에 의해서, 각각의 상기 템포러리ㆍ셀의 값에 대하여 계산을 실행하도록 구성되고,
    상기 데이터 출력부는, 상기 계산 결과를 기록하기 위한 템포러리ㆍ필드를 생성하여, 각각의 입력 데이터에 대하여 상기 계산부가 상기 계산식의 계산을 실행한 계산 결과를, 상기 템포러리ㆍ필드에 기록하여, 상기 템포러리ㆍ필드에 기록된 계산 결과를 상기 제2 셀에 출력하도록 구성된 것인 계산 처리 시스템.
  8. 제1항에 있어서,
    상기 취득부는, 제3의 시트를 더 취득하도록 구성되고,
    상기 입력 데이터 선택부는, 상기 제2 시트내에 있어서의 복수의 입력 데이터를 기록한 하나 또는 복수의 셀들이 상기 제3의 시트내의 제3 셀에 대응되어짐에 따라, 상기 복수의 입력 데이터 각각을 상기 제3 셀의 값으로서 순차 선택하도록 구성되고,
    상기 계산부는, 각각의 입력 데이터가 상기 제3 셀의 값으로서 선택됨에 따라서, 상기 제3 시트 내의 상기 제3 셀 이외의 셀에 설정된 상기 제3 셀을 참조하는 계산식의 계산을 실행하도록 구성된 것인 계산 처리 시스템.
  9. 시트 내의 각 셀에 대하여, 상기 셀의 값을 산출하는 계산식을 설정함으로써 컴퓨터를 이용하여 계산 처리를 행하는 방법으로서,
    상기 컴퓨터가, 제1 시트, 제2 시트 및 제1 시트 내의 셀과 제2 시트 내의 셀을 대응시키는 대응 정보를, 상기 컴퓨터의 기억부에 기억하는 기억 단계;
    상기 컴퓨터가, 상기 대응 정보에 의해 상기 제1 시트 내에서의 복수의 입력 데이터를 기록한 하나 또는 복수의 셀이, 상기 제2 시트 내의 제1 셀에 대응되어 있다고 판단함에 따라, 상기 복수의 입력 데이터의 각각을 상기 제1 셀의 값으로서 순차 선택하는 입력 데이터 선택 단계;
    상기 입력 데이터 선택 단계에 의해 각각의 입력 데이터가 상기 제1 셀의 값으로서 선택됨에 따라, 상기 컴퓨터가, 상기 제2 시트 내의 상기 제1 셀 이외의 셀에 설정된, 상기 제1 셀을 참조하는 계산식의 계산을 행하는 계산 단계;
    상기 컴퓨터가, 각각의 입력 데이터에 대하여 상기 계산 단계에서 상기 계산식의 계산을 행한 계산 결과를, 상기 대응 정보에 의해 상기 제2 시트 내에서의 상기 계산식이 설정된 셀에 대응된, 상기 제1 시트 내의 하나 또는 복수의 제2 셀의 값으로서 출력하는 데이터 출력 단계를 포함하는 방법.
  10. 시트 내의 각 셀에 대하여, 그 셀의 값을 산출하는 계산식을 설정함으로써 계산 처리를 실행하는 시스템으로서 정보 처리 장치를 기능시키는 프로그램을 기록한 컴퓨터 판독가능 기록매체로서,
    상기 정보 처리 장치를,
    제1 시트, 제2 시트 및 제1 시트 내의 셀과 제2 시트 내의 셀을 대응시키는 대응 정보를 기억하는 기억부와,
    상기 대응 정보에 의해 상기 제1 시트 내에서의 복수의 입력 데이터를 기록한 1 또는 복수의 셀이, 상기 제2 시트 내의 제1 셀에 대응되어 있다고 판단함에 따라 상기 복수의 입력 데이터의 각각을 상기 제1 셀의 값으로서 순차 선택하는 입력 데이터 선택부와,
    상기 입력 데이터 선택부에 의해 각각의 입력 데이터가 상기 제1 셀의 값으로서 선택됨에 따라, 상기 제2 시트 내의 상기 제1 셀 이외의 셀에 설정된, 상기 제1 셀을 참조하는 계산식의 계산을 행하는 계산부와,
    각각의 입력 데이터에 대하여 상기 계산부가 상기 계산식의 계산을 행한 계산 결과를, 상기 대응 정보에 의해 상기 제2 시트 내에서의 상기 계산식이 설정된 셀에 대응된, 상기 제1 시트 내의 1 또는 복수의 제2 셀의 값으로서 출력하는 데이터 출력부로서 기능시키는 프로그램을 기록한 컴퓨터 판독가능 기록매체.
KR1020070021473A 2006-03-14 2007-03-05 표 계산 등의 처리를 실행하는 시스템 및 그 방법 KR100951132B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006068746A JP4140919B2 (ja) 2006-03-14 2006-03-14 表計算などの処理を行うシステムおよびその方法
JPJP-P-2006-00068746 2006-03-14

Publications (2)

Publication Number Publication Date
KR20070093816A KR20070093816A (ko) 2007-09-19
KR100951132B1 true KR100951132B1 (ko) 2010-04-07

Family

ID=38519437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070021473A KR100951132B1 (ko) 2006-03-14 2007-03-05 표 계산 등의 처리를 실행하는 시스템 및 그 방법

Country Status (4)

Country Link
US (1) US7783966B2 (ko)
JP (1) JP4140919B2 (ko)
KR (1) KR100951132B1 (ko)
CN (1) CN101038584A (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635125B2 (en) * 2007-07-03 2014-01-21 Microsoft Corporation Automatic calculation with multiple editable fields
US20090228776A1 (en) * 2008-03-05 2009-09-10 Microsoft Corporation Dynamic formulas for spreadsheet cells
JP5380874B2 (ja) * 2008-03-24 2014-01-08 富士通株式会社 情報検索方法、プログラム及び装置
US9389840B2 (en) * 2009-02-11 2016-07-12 Johnathan Mun Compiled and executable method
US9275031B2 (en) * 2009-10-09 2016-03-01 Microsoft Technology Licensing, Llc Data analysis expressions
US8959423B2 (en) 2011-06-28 2015-02-17 International Business Machines Corporation Drill-through lens for generating different types of reports
CN102222109B (zh) * 2011-06-28 2014-05-07 用友软件股份有限公司 数据处理装置和数据处理方法
US8959424B2 (en) * 2011-06-28 2015-02-17 International Business Machines Corporation Comparative and analytic lens for displaying a window with a first column for first data and a second column for comparison values of the first data and second data
AU2012362383B2 (en) * 2011-12-29 2018-05-10 Bibo Labs, Inc. Spreadsheet-based programming language adapted for report generation
US10140269B2 (en) * 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
US9760271B2 (en) * 2014-07-28 2017-09-12 International Business Machines Corporation Client-side dynamic control of visualization of frozen region in a data table
CN104239686B (zh) * 2014-08-12 2017-04-12 浪潮通用软件有限公司 一种基于内存计算在全面预算中实现公式计算的方法
US9990350B2 (en) 2015-11-02 2018-06-05 Microsoft Technology Licensing, Llc Videos associated with cells in spreadsheets
US10713428B2 (en) * 2015-11-02 2020-07-14 Microsoft Technology Licensing, Llc Images associated with cells in spreadsheets
WO2017136431A1 (en) * 2016-02-01 2017-08-10 Microsoft Technology Licensing, Llc Parameterizing and working with math equations in a spreadsheet application
US10540153B2 (en) 2016-12-03 2020-01-21 Thomas STACHURA Spreadsheet-based software application development
US11726753B2 (en) 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
US10216494B2 (en) 2016-12-03 2019-02-26 Thomas STACHURA Spreadsheet-based software application development
US11048695B2 (en) * 2017-09-12 2021-06-29 Sap Se Context-aware data commenting system
US11010143B2 (en) * 2018-09-28 2021-05-18 Salesforce.Com, Inc. Executing formulas written using formula language
CN109658215A (zh) * 2018-12-10 2019-04-19 平安科技(深圳)有限公司 交易台账计算方法、装置及计算机可读存储介质
CN111079395A (zh) * 2019-11-18 2020-04-28 北京明略软件系统有限公司 一种实现信息处理的方法、装置、计算机存储介质及终端
US11636254B2 (en) * 2021-02-05 2023-04-25 Microsoft Technology Licensing, Llc Provenance aware editing for spreadsheets
US11893343B2 (en) * 2021-11-08 2024-02-06 Microsoft Technology Licensing, Llc Multiple datapoint formats in spreadsheets

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196577A (ja) * 2001-12-26 2003-07-11 Casio Comput Co Ltd 表処理装置およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2074769C (en) * 1991-08-09 2001-03-20 International Business Machines Corporation Formula processor
JPH08305777A (ja) * 1995-05-10 1996-11-22 Casio Comput Co Ltd 表データ処理装置
WO2001059675A1 (en) * 2000-02-11 2001-08-16 Ryan Mark H Method and system for distributing and collecting spreadsheet information
US6912690B2 (en) * 2000-10-24 2005-06-28 International Business Machines Corporation Method and system in an electronic spreadsheet for persistently copy-pasting a source range of cells onto one or more destination ranges of cells
US6877021B2 (en) * 2001-03-28 2005-04-05 Classic Solutions Pty Limited Calculation method and apparatus
US7761403B2 (en) * 2001-06-20 2010-07-20 Oracle International Corporation Run-time optimizations of queries with SQL spreadsheet
US7251776B2 (en) * 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
JP2003067550A (ja) * 2001-08-27 2003-03-07 Toshiba Corp 経営シミュレーションシステム、経営シミュレーション方法及び経営シミュレーションプログラム
JP2003099702A (ja) 2001-09-26 2003-04-04 Nec Miyagi Ltd データ編集方法、装置及びプログラム
AU2003270828A1 (en) * 2002-09-18 2004-04-08 Netezza Corporation Asymmetric data streaming architecture having autonomous and asynchronous job processing unit
JP2004280705A (ja) * 2003-03-18 2004-10-07 Mitsubishi Electric Corp 帳票作成装置
US7143340B2 (en) * 2003-06-27 2006-11-28 Microsoft Corporation Row sharing techniques for grid controls
US8055995B2 (en) * 2005-03-11 2011-11-08 Orangescape Technologies Limited System and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US7747939B2 (en) * 2005-05-31 2010-06-29 Microsoft Corporation Generating free form reports within a data array
US8560953B2 (en) * 2005-09-23 2013-10-15 International Business Machines Corporation Provisioning a portlet viewer for viewing drag-and-drop content in a portal environment
US7505977B2 (en) * 2005-09-27 2009-03-17 International Business Machines Corporation Method for dynamically updating a websheet configuration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196577A (ja) * 2001-12-26 2003-07-11 Casio Comput Co Ltd 表処理装置およびプログラム

Also Published As

Publication number Publication date
CN101038584A (zh) 2007-09-19
KR20070093816A (ko) 2007-09-19
JP2007249328A (ja) 2007-09-27
US7783966B2 (en) 2010-08-24
JP4140919B2 (ja) 2008-08-27
US20070220416A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
KR100951132B1 (ko) 표 계산 등의 처리를 실행하는 시스템 및 그 방법
US7027052B1 (en) Treemap display with minimum cell size
KR101255506B1 (ko) 네트워크 양식들에 대한 데이터 구동 액션
US9696967B2 (en) Generation of an application from data
US7275216B2 (en) System and method for designing electronic forms and hierarchical schemas
US7788584B2 (en) Computer-implemented method, system, and program product for hiding columns in an electronic table
US8584009B2 (en) Automatically propagating changes in document access rights for subordinate document components to superordinate document components
EP2706494A1 (en) Energy efficient display of control events of an industrial automation system
CN103970527A (zh) 为报表生成提供辅助覆盖的方法和系统
US20020147725A1 (en) Method and apparatus for database table definition
WO2008103725A1 (en) Methods and apparatus for building and executing natural language policies
CN104423982B (zh) 请求的处理方法和处理设备
US20170132195A1 (en) Method and Apparatus Providing Contextual Suggestion in Planning Spreadsheet
US8433729B2 (en) Method and system for automatically generating a communication interface
JP2009093389A (ja) 情報処理装置、情報処理方法、およびプログラム
JP5706306B2 (ja) リンクされたテキストボックスを有する電子文書のレンダリングの方法、レンダリングする指示を含むコンピューターが読み取り可能な記憶媒体及びシステム
KR102150536B1 (ko) 서버 설정에 따라 동적으로 웹 ui 컴포넌트를 생성하기 위한 시스템 및 방법
WO2016190444A1 (ja) 情報管理装置並びにファイル管理方法
US11461544B2 (en) Spreadsheet with reuse functionality
JP4828318B2 (ja) 複数様式帳票統合印刷方法、システム及びプログラム
JP4053920B2 (ja) 文書管理システム、文書生成方法、登録方法およびプログラム
JP3967230B2 (ja) 画像情報表示システム
JP3910048B2 (ja) データベースパブリッシング方法及びその装置
JP3001549B1 (ja) 電子回路接続情報の階層型格納方法及びシステム
JP6393137B2 (ja) 帳票管理システム、管理簿サービスサーバ、管理簿データ更新方法、およびプログラム

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
LAPS Lapse due to unpaid annual fee