KR102466710B1 - 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법 - Google Patents

스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102466710B1
KR102466710B1 KR1020200075630A KR20200075630A KR102466710B1 KR 102466710 B1 KR102466710 B1 KR 102466710B1 KR 1020200075630 A KR1020200075630 A KR 1020200075630A KR 20200075630 A KR20200075630 A KR 20200075630A KR 102466710 B1 KR102466710 B1 KR 102466710B1
Authority
KR
South Korea
Prior art keywords
cells
fields
data
field
empty
Prior art date
Application number
KR1020200075630A
Other languages
English (en)
Other versions
KR20210157617A (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 주식회사 한글과컴퓨터
Priority to KR1020200075630A priority Critical patent/KR102466710B1/ko
Publication of KR20210157617A publication Critical patent/KR20210157617A/ko
Application granted granted Critical
Publication of KR102466710B1 publication Critical patent/KR102466710B1/ko

Links

Images

Classifications

    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/174Form filling; Merging
    • 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/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/189Automatic justification
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법이 개시된다. 본 발명은 사용자로부터 스프레드시트 상에 미완성 상태로 존재하는 테이블에 대한 자동 완성 명령이 수신되면, 상기 테이블을 구성하는 복수의 필드들 각각의 빈셀에 상단 셀의 데이터를 삽입하고, 미리 정해진 레코드 정렬 기준에 따라 상기 테이블을 구성하는 복수의 레코드들을 정렬하여 완성된 테이블을 제공하는 전자 장치 및 그 동작 방법에 대한 것이다.

Description

스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법{ELECTRONIC DEVICE THAT PROVIDES AUTO-COMPLETE FOR UNFINISHED TABLE IN SPREADSHEETS AND OPERATING METHOD THEREOF}
본 발명은 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법에 대한 것이다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등이 널리 보급됨에 따라, 이러한 단말기기를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
사용자는 이러한 전자 문서 관련 프로그램들 중 스프레드시트를 이용하여 가로 행과 세로 열이 만나는 셀이라는 공간에 데이터를 삽입할 수 있고, 삽입된 데이터들에 대해 스프레드시트에서 제공하는 다양한 연산을 수행할 수 있으며, 이를 통해, 데이터들을 효율적으로 관리하고 비교, 분석할 수 있다.
관련해서, 사용자는 스프레드시트에서 테이블을 구성하는 복수의 열들 각각을 특정 카테고리에 대응되는 필드로 하나씩 지정하고, 레코드를 구성하는 데이터들을 각 데이터의 카테고리에 대응되는 필드에 삽입함으로써, 레코드를 구성하는 데이터들이 카테고리에 따라 분류되도록 할 수 있다.
다만, 사용자는 스프레드시트에서 테이블을 생성하는 경우에, 테이블을 구성하는 특정 셀들을 빈셀로 남겨두는 경우가 많은데, 테이블에 삽입되어 있는 데이터들 중 특정 데이터를 빈셀에 삽입함으로써, 미완성된 테이블에 대한 자동 완성 기능을 제공할 수 있다면, 사용자는 손쉽게 테이블을 생성할 수 있어 보다 편리한 문서 작성이 가능할 것이다.
또한, 테이블에 많은 양의 데이터들이 삽입되는 경우, 사용자는 테이블에 삽입된 데이터들을 한눈에 파악하는 것이 쉽지 않을 것인데, 필드별로 유사한 데이터들끼리 모아지도록 레코드들을 정렬할 수 있다면, 테이블의 가독성을 높일 수 있어 사용자에게 유용할 것이다.
따라서, 스프레드시트에 존재하는 테이블의 빈셀을 확인하고, 빈셀에 데이터가 채워지도록 처리한 후 레코드들에 대한 정렬을 수행함으로써, 미완성 테이블에 대한 자동 완성 기능을 제공할 수 있는 기술에 대한 연구가 필요하다.
본 발명에 따른 전자 장치 및 그 동작 방법은 사용자로부터 스프레드시트 상에 미완성 상태로 존재하는 테이블에 대한 자동 완성 명령이 수신되면, 상기 테이블을 구성하는 복수의 필드들 각각의 빈셀에 상단 셀의 데이터를 삽입하고, 미리 정해진 레코드 정렬 기준에 따라 상기 테이블을 구성하는 복수의 레코드들을 정렬하여 완성된 테이블을 제공함으로써, 사용자가 보다 손쉽게 테이블을 만들 수 있도록 지원하고자 한다.
본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치는 사용자로부터 스프레드시트 상에 미완성된 상태로 존재하는 제1 테이블 - 상기 제1 테이블은 n(n은 2 이상의 자연수임)개의 열들과 m(m은 2 이상의 자연수임)개의 행들로 구성되어 있음 - 에 대한 자동 완성 명령이 수신되면, 상기 n개의 열들을 상기 제1 테이블을 구성하는 n개의 필드들로 확인하고, 상기 m개의 행들을 상기 제1 테이블을 구성하는 m개의 레코드들로 확인하는 테이블 확인부, 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀을 확인하는 빈셀 확인부, 상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각의 빈셀에 대해 상단 셀의 데이터를 삽입함으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하는 빈셀 처리부 및 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 미리 정해진 레코드 정렬 기준에 따라 상기 제1 테이블에서 상기 m개의 레코드들을 정렬하는 레코드 정렬부를 포함한다.
또한, 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법은 사용자로부터 스프레드시트 상에 미완성된 상태로 존재하는 제1 테이블 - 상기 제1 테이블은 n개의 열들과 m개의 행들로 구성되어 있음 - 에 대한 자동 완성 명령이 수신되면, 상기 n개의 열들을 상기 제1 테이블을 구성하는 n개의 필드들로 확인하고, 상기 m개의 행들을 상기 제1 테이블을 구성하는 m개의 레코드들로 확인하는 단계, 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀을 확인하는 단계, 상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각의 빈셀에 대해 상단 셀의 데이터를 삽입함으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하는 단계 및 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 미리 정해진 레코드 정렬 기준에 따라 상기 제1 테이블에서 상기 m개의 레코드들을 정렬하는 단계를 포함한다.
본 발명에 따른 전자 장치 및 그 동작 방법은 사용자로부터 스프레드시트 상에 미완성 상태로 존재하는 테이블에 대한 자동 완성 명령이 수신되면, 상기 테이블을 구성하는 복수의 필드들 각각의 빈셀에 상단 셀의 데이터를 삽입하고, 미리 정해진 레코드 정렬 기준에 따라 상기 테이블을 구성하는 복수의 레코드들을 정렬하여 완성된 테이블을 제공함으로써, 사용자가 보다 손쉽게 테이블을 만들 수 있도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 구조를 도시한 도면이다.
도 2 내지 도 4는 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치를 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치(110)는 테이블 확인부(111), 빈셀 확인부(112), 빈셀 처리부(113) 및 레코드 정렬부(114)를 포함한다.
테이블 확인부(111)는 사용자로부터 스프레드시트 상에 미완성된 상태로 존재하는 n(n은 2 이상의 자연수임)개의 열들과 m(m은 2 이상의 자연수임)개의 행들로 구성되어 있는 제1 테이블에 대한 자동 완성 명령이 수신되면, 상기 n개의 열들을 상기 제1 테이블을 구성하는 n개의 필드들로 확인하고, 상기 m개의 행들을 상기 제1 테이블을 구성하는 m개의 레코드들로 확인한다.
빈셀 확인부(112)는 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀을 확인한다.
빈셀 처리부(113)는 상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각의 빈셀에 대해 상단 셀의 데이터를 삽입함으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리한다.
이때, 본 발명의 일실시예에 따르면, 빈셀 처리부(113)는 상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각에 대해, 각 필드에 대한 빈셀 중 최상단에 위치하는 빈셀을 시작으로 하여, 하단 방향으로 하나씩 빈셀에 상단 셀의 데이터를 삽입해 나감으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하되, 상기 n개의 필드들 중 어느 하나인 제1 필드에서 첫 번째 셀이 빈셀인 것으로 확인되는 경우, 상기 제1 필드를 구성하는 m개의 셀들에서 가장 많이 중복해서 존재하는 데이터를 추출하고, 상기 추출된 데이터를 상기 제1 필드의 상기 첫 번째 셀에 삽입한 후 상기 제1 필드에 존재하는 각 빈셀에 대해 상단 셀의 데이터를 하나씩 삽입 처리할 수 있다.
레코드 정렬부(114)는 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 미리 정해진 레코드 정렬 기준에 따라 상기 제1 테이블에서 상기 m개의 레코드들을 정렬한다.
이때, 본 발명의 일실시예에 따르면, 레코드 정렬부(114)는 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 상기 n개의 필드들 중 최좌측 필드에서부터 우측 방향으로 순차적으로 하나씩 각 필드에 대해 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 연쇄적으로 수행하되, 각 필드별로 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행할 때, 이전 필드에 적용된 오름차순 정렬에 따른 레코드의 정렬 상태를 유지하는 조건 하에서, 현재 필드에 대해 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행할 수 있다.
이하에서는, 도 2를 참조하여 전자 장치(110)의 동작을 예를 들어 상세히 설명하기로 한다.
우선, 스프레드시트 상에 도 2의 도면부호 210과 같이, 미완성된 상태로 존재하는 '4'개의 열들과 '10'개의 행들로 구성되어 있는 제1 테이블(210)이 존재한다고 가정하자.
테이블 확인부(111)는 사용자로부터 제1 테이블(210)에 대한 자동 완성 명령이 수신되면, 상기 '4'개의 열들을 제1 테이블(210)을 구성하는 '4'개의 필드들(211, 212, 213, 214)로 확인할 수 있고, 상기 '10'개의 행들을 제1 테이블(210)을 구성하는 '10'개의 레코드들(215)로 확인할 수 있다.
빈셀 확인부(112)는 '4'개의 필드들(211, 212, 213, 214) 각각에 대해, 각 필드를 구성하는 '10'개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀을 확인할 수 있다.
구체적으로, 빈셀 확인부(112)는 첫 번째 필드(211)를 구성하는 '10'개의 셀들 중 빨간색으로 채워진 '5'개의 빈셀들(216, 217, 218, 219, 220)을 확인할 수 있고, 두 번째 필드(212)를 구성하는 '10'개의 셀들 중 빨간색으로 채워진 '3'개의 빈셀들(221)을 확인할 수 있으며, 세 번째 필드(213)를 구성하는 '10'개의 셀들 중 빨간색으로 채워진 '1'개의 빈셀(222)을 확인할 수 있다.
이렇게, 첫 번째 필드(211)에 대한 '5'개의 빈셀들(216, 217, 218, 219, 220), 두 번째 필드(212)에 대한 '3'개의 빈셀들(221) 및 세 번째 필드(213)에 대한 '1'개의 빈셀(222)이 확인되면, 빈셀 처리부(113)는 첫 번째 필드(211), 두 번째 필드(212) 및 세 번째 필드(213)에 대한 '9'개의 빈셀들(216, 217, 218, 219, 220, 221, 222) 각각에 대해 상단 셀의 데이터를 삽입함으로써, 도면부호 230과 같이 '4'개의 필드들(211, 212, 213, 214) 각각의 빈셀에 데이터가 모두 채워지도록 처리할 수 있다.
구체적으로, 빈셀 처리부(113)는 '4'개의 필드들(211, 212, 213, 214) 중 첫 번째 필드(211)에 대해, '5'개의 빈셀들 중 최상단에 위치하는 빈셀(216)에 상단 셀의 데이터인 'A고등학교'를 삽입할 수 있고, 빈셀(216)에 'A고등학교'가 삽입되면, 빈셀(216)의 하단에 위치하는 빈셀(217)에 상단 셀(216)의 데이터인 'A고등학교'를 삽입할 수 있으며, 빈셀(217)에 'A고등학교'가 삽입되면, 빈셀(217)의 하단에 위치하는 빈셀(218)에 상단 셀(217)의 데이터인 'A고등학교'를 삽입할 수 있다. 마찬가지로, 빈셀 처리부(113)는 빈셀(218)에 'A고등학교'가 삽입되면, 빈셀(218)의 하단에 위치하는 빈셀(219)에 상단 셀(218)의 데이터인 'A고등학교'를 삽입할 수 있고, 빈셀(219)에 'A고등학교'가 삽입되면, 빈셀(219)의 하단에 위치하는 빈셀(220)에 상단 셀의 데이터인 'B고등학교'를 삽입할 수 있다. 이렇게, 빈셀 처리부(113)는 '4'개의 필드들(211, 212, 213, 214) 각각에 대해, 각 필드에 대한 빈셀 중 최상단에 위치하는 빈셀을 시작으로 하여, 하단 방향으로 하나씩 빈셀에 상단 셀의 데이터를 삽입해 나감으로써, 도면부호 230과 같이 '4'개의 필드들(211, 212, 213, 214) 각각의 빈셀에 데이터가 모두 채워지도록 처리할 수 있다.
만약, '4'개의 필드들(211, 212, 213, 214) 중 어느 하나인 제1 필드에서 첫 번째 셀이 빈셀인 것으로 확인되는 경우, 상기 제1 필드를 구성하는 '10'개의 셀들에서 가장 많이 중복해서 존재하는 데이터를 추출하고, 상기 추출된 데이터를 상기 제1 필드의 상기 첫 번째 셀에 삽입한 후 상기 제1 필드에 존재하는 각 빈셀에 대해 상단 셀의 데이터를 하나씩 삽입 처리할 수 있을 것이다.
즉, 첫 번째 필드(211)에서 첫 번째 셀이 'B고등학교'가 삽입되어 있는 대신 빈셀인 것으로 확인되었다면, 첫 번째 필드(211)를 구성하는 '10'개의 셀들에서 가장 많이 중복해서 존재하는 데이터인 'C고등학교'를 추출하고, 추출된 'C고등학교'를 첫 번째 필드(211)의 상기 첫 번째 셀에 삽입한 후에 첫 번째 필드(211)에 존재하는 각 빈셀에 대해 상단 셀의 데이터를 하나씩 삽입 처리할 수 있을 것이다.
이렇게, 도면부호 230과 같이 '4'개의 필드들(211, 212, 213, 214) 각각의 빈셀에 데이터가 모두 채워지면, 레코드 정렬부(114)는 미리 정해진 레코드 정렬 기준에 따라 제1 테이블(230)에서 '10'개의 레코드들(215)을 정렬할 수 있다.
이때, 본 발명의 일실시예에 따르면, 레코드 정렬부(114)는 '4'개의 필드들(211, 212, 213, 214) 중 최좌측 필드인 첫 번째 필드(211)에서부터 우측 방향으로 순차적으로 하나씩 각 필드에 대해 오름차순 정렬을 적용하여 '10'개의 레코드들(215)에 대한 정렬을 연쇄적으로 수행하되, 각 필드별로 상기 오름차순 정렬을 적용하여 '10'개의 레코드들(215)에 대한 정렬을 수행할 때, 이전 필드에 적용된 오름차순 정렬에 따른 레코드의 정렬 상태를 유지하는 조건 하에서, 현재 필드에 대해 상기 오름차순 정렬을 적용하여 '10'개의 레코드들(215)에 대한 정렬을 수행할 수 있다.
즉, 레코드 정렬부(114)는 제1 테이블(230)의 최좌측 필드인 첫 번째 필드(211)에 대해 오름차순 정렬을 적용하여 도면부호 240과 같이 '10'개의 레코드들(215)에 대한 정렬을 수행할 수 있고, 도면부호 240과 같이 첫 번째 필드(211)에 대한 정렬 상태를 유지하는 조건 하에서, 제1 테이블(240)의 두 번째 필드(211)에 대해 오름차순 정렬을 적용하여 도면부호 250과 같이 '10'개의 레코드들(215)에 대한 정렬을 수행할 수 있으며, 도면부호 250과 같이 첫 번째 필드(211)와 두 번째 필드(212)에 대한 정렬 상태를 유지하는 조건 하에서, 제1 테이블(250)의 세 번째 필드(213)에 대해 오름차순 정렬을 적용하여 도면부호 260과 같이 '10'개의 레코드들(215)에 대한 정렬을 수행할 수 있고, 도면부호 260과 같이 첫 번째 필드(211), 두 번째 필드(212) 및 세 번째 필드(213)에 대한 정렬 상태를 유지하는 조건 하에서, 제1 테이블(260)의 네 번째 필드(214)에 대해 오름차순 정렬을 적용하여 도면부호 270과 같이 '10'개의 레코드들(215)에 대한 정렬을 수행할 수 있다.
이때, 본 발명의 일실시예에 따르면, 전자 장치(110)는 테이블의 가독성을 높이기 위한 구성으로 셀 병합부(115)를 더 포함할 수 있다.
셀 병합부(115)는 상기 제1 테이블에서 상기 m개의 레코드들에 대한 정렬이 완료된 후 상기 사용자로부터 셀 병합 명령이 인가되면, 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 셀들을 하나의 셀로 병합하되, 상기 n개의 필드들 중 최좌측 지점에서 k(k는 2이상의 자연수임)번째의 지점에 위치하는 k번째 필드에서 셀 병합을 수행할 때, 상기 k번째 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 t(t는 2이상의 자연수임)개의 셀들이 존재하는 경우, 상기 t개의 셀들에 대응되는 t개의 레코드들 중 k-1번째 필드에서 동일한 데이터를 갖는 레코드들만 선별한 후 상기 t개의 셀들에서 상기 선별된 레코드들에 대응되는 셀들끼리만 병합 처리한다.
예컨대, 전술한 예에 따르면, 셀 병합부(115)는 도 3의 도면부호 270과 같이 제1 테이블(270)에서 '10'개의 레코드들(215)에 대한 정렬이 완료된 이후 상기 사용자로부터 셀 병합 명령이 인가되는 경우, '4'개의 필드들(211, 212, 213, 214) 각각에 대해, 각 필드를 구성하는 '10'개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 셀들을 하나의 셀로 병합하되, '4'개의 필드들(211, 212, 213, 214) 중 최좌측 지점에서 k번째의 지점에 위치하는 k번째 필드에서 셀 병합을 수행할 때, 상기 k번째 필드를 구성하는 '10'개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 t개의 셀들이 존재하는 경우, 상기 t개의 셀들에 대응되는 t개의 레코드들 중 k-1번째 필드에서 동일한 데이터를 갖는 레코드들만 선별한 후 상기 t개의 셀들에서 상기 선별된 레코드들에 대응되는 셀들끼리만 병합 처리할 수 있다.
구체적으로, 셀 병합부(115)는 첫 번째 필드(211)에 대해, 첫 번째 필드(211)를 구성하는 '10'개의 셀들 중 서로 인접하여 위치하면서 'A고등학교'가 동일하게 삽입되어 있는 셀들(311), 서로 인접하여 위치하면서 'B고등학교'가 동일하게 삽입되어 있는 셀들(312) 및 서로 인접하여 위치하면서 'C고등학교'가 동일하게 삽입되어 있는 셀들(313) 각각을 하나의 셀로 병합할 수 있고, 두 번째 필드(212)에 대해, 첫 번째 필드(212)를 구성하는 '10'개의 셀들 중 서로 인접하여 위치하면서 '3학년'이 동일하게 삽입되어 있는 셀들(314), 서로 인접하여 위치하면서 '1학년'이 동일하게 삽입되어 있는 셀들(315)을 하나의 셀로 병합할 수 있다. 그리고, 셀 병합부(115)는 세 번째 필드(213)에 대해, 세 번째 필드(213)를 구성하는 '10'개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 '2'개의 셀들(316), '2'개의 셀들(317) 및 '2'개의 셀들(318) 각각을 하나의 셀로 병합하기에 앞서, '2'개의 셀들(316), '2'개의 셀들(317) 및 '2'개의 셀들(318) 중에서, 셀들 각각에 대응되는 '2'개의 레코드들이 두 번째 필드(212)에서 서로 동일한 데이터를 갖는 셀들인 '2'개의 셀들(317)을 선별한 후 '2'개의 셀들(317)에 대해서만 병합 처리를 할 수 있다.
즉, 셀 병합부(115)는 도면부호 310과 같이 '2'개의 셀들(316)에 대해서는 '2'개의 셀들(316)에 대응되는 '2'개의 레코드들이 두 번째 필드(212)에서 '2학년'과 '3학년'으로 서로 다른 데이터를 가지므로 병합 처리를 하지 않을 수 있고, '2'개의 셀들(317)에 대해서는 '2'개의 셀들(317)에 대응되는 '2'개의 레코드들이 두 번째 필드(212)에서 '3학년'으로 동일한 데이터를 가지므로 병합 처리를 할 수 있으며, '2'개의 셀들(318)에 대해서는 '2'개의 셀들(318)에 대응되는 '2'개의 레코드들이 두 번째 필드(212)에서 '2학년'과 '1학년'으로 서로 다른 데이터를 가지므로 병합 처리를 하지 않을 수 있다.
이렇게, 셀 병합부(115)는 레코드 정렬부(114)가 '4'개의 필드들(211, 212, 213, 214) 중 최좌측 필드인 첫 번째 필드(211)에서부터 우측 방향으로 순차적으로 하나씩 각 필드에 대해 오름차순 정렬을 적용하는 것에 대응하여 도면부호 310과 같이 제1 테이블(270)에 대한 셀 병합을 처리함으로써, 제1 테이블(270)의 가독성을 높일 수 있다.
본 발명의 일실시예에 따르면, 전자 장치(110)는 행렬 생성부(116), 유클리드 노름 연산부(117), 평균 연산부(118), 표준 편차 연산부(119), 열벡터 생성부(120) 및 메시지 표시부(121)를 더 포함할 수 있다.
행렬 생성부(116)는 빈셀 확인부(112)를 통해 상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 제1 테이블을 구성하는 m x n개의 셀들 중 데이터가 삽입되어 있는 것으로 확인된 셀에 대해 1의 코드를 할당하고, 빈셀로 확인된 셀에 대해 0의 코드를 할당함으로써, m x n의 행렬을 생성한다.
유클리드 노름 연산부(117)는 상기 m x n의 행렬을 구성하는 n개의 m차원의 열벡터들을 확인한 후, 상기 n개의 열벡터들 각각에 대한 유클리드 노름(Euclidean norm)을 연산한다.
여기서, 유클리드 노름이란 n차원의 유클리드 공간 상에 어느 하나의 벡터가 존재할 때, 상기 벡터의 크기를 의미하는 것으로 하기의 수학식 1에 따라 연산될 수 있다.
Figure 112020063836372-pat00001
상기 수학식 1에서
Figure 112020063836372-pat00002
는 유클리드 노름,
Figure 112020063836372-pat00003
는 n차원의 특성 벡터에 포함되어 있는 i번째 성분을 의미한다.
평균 연산부(118)는 상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 평균 값을 연산한다.
표준 편차 연산부(119)는 상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 표준 편차 값을 연산한다.
열벡터 생성부(120)는 상기 n개의 열벡터들 중 상기 평균 값보다 작은 유클리드 노름을 갖는 적어도 하나의 제1 열벡터를 선택한 후, 상기 평균 값을 기초로 상기 적어도 하나의 제1 열벡터에 대한 유클리드 노름의 절대 편차 값을 연산하고, 상기 적어도 하나의 제1 열벡터 중 상기 표준 편차 값보다 큰 유클리드 노름의 절대 편차 값을 갖는 적어도 하나의 제2 열벡터를 선택한다.
메시지 표시부(121)는 상기 적어도 하나의 제2 열벡터가 선택되면, 상기 n개의 필드들 중 상기 적어도 하나의 제2 열벡터에 대응되는 적어도 하나의 제2 필드를 확인하고, 상기 적어도 하나의 제2 필드에 존재하는 빈셀 상에 데이터를 추가로 입력할 것을 지시하는 안내 메시지를 생성한 후 상기 안내 메시지를 화면 상에 표시한다.
이하에서는, 전술한 예에 따라 도 4를 참조하여 행렬 생성부(116), 유클리드 노름 연산부(117), 평균 연산부(118), 표준 편차 연산부(119), 열벡터 생성부(120) 및 메시지 표시부(121)의 동작을 예를 들어 상세히 설명하기로 한다.
행렬 생성부(116)는 빈셀 확인부(112)를 통해, 전술한 바와 같이 첫 번째 필드(211), 두 번째 필드(212) 및 세 번째 필드(213)에 대한 '9'개의 빈셀들(216, 217, 218, 219, 220, 221, 222)이 확인되면, 제1 테이블(210)을 구성하는 '10' x '4'개의 셀들 중 데이터가 삽입되어 있는 것으로 확인된 셀에 대해 1의 코드를 할당하고, 빈셀로 확인된 셀에 대해 0의 코드를 할당함으로써, 도면부호 410과 같은 '10' x '4'의 행렬(410)을 생성할 수 있다.
유클리드 노름 연산부(117)는 '10' x '4'의 행렬(410)을 구성하는 '4'개의 '10'차원의 열벡터들인 '[1 1 1 0 0 0 0 1 0 1]', '[1 1 1 1 0 0 0 1 1 1]', '[1 1 1 1 0 1 1 1 1 1]' 및 '[1 1 1 1 1 1 1 1 1 1]'을 확인한 후, 상기 '4'개의 열벡터들 각각에 대한 유클리드 노름을 하기의 표 1과 같이, 상기의 수학식 1에 따라 연산할 수 있다.
열벡터 유클리드 노름
[1 1 1 0 0 0 0 1 0 1] 2.236067977
[1 1 1 1 0 0 0 1 1 1] 2.645751311
[1 1 1 1 0 1 1 1 1 1] 3
[1 1 1 1 1 1 1 1 1 1] 3.16227766
이렇게, 상기의 표 1과 같이 상기 '4'개의 열벡터들 각각에 대한 유클리드 노름이 연산되면, 평균 연산부(118)는 상기 '4'개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 '4'개의 열벡터들에 대한 유클리드 노름의 평균 값을 '2.761024237'로 연산할 수 있고, 표준 편차 연산부(119)는 상기 '4'개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 '4'개의 열벡터들에 대한 유클리드 노름의 표준 편차 값을 '0.356012867'로 연산할 수 있다.
열벡터 생성부(120)는 상기 '4'개의 열벡터들 중 상기 평균 값인 '2.761024237'보다 작은 유클리드 노름을 갖는 적어도 하나의 제1 열벡터로 '[1 1 1 0 0 0 0 1 0 1]'(2.236067977)와 '[1 1 1 1 0 0 0 1 1 1]'(2.645751311)를 선택한 후, 상기 평균 값인 '2.761024237'을 기초로 '[1 1 1 0 0 0 0 1 0 1]'에 대한 유클리드 노름의 절대 편차 값인 '0.52495626'을 연산할 수 있고, '[1 1 1 1 0 0 0 1 1 1]'에 대한 유클리드 노름의 절대 편차 값인 '0.115272926'을 연산할 수 있다. 그리고, 열벡터 생성부(120)는 상기 적어도 하나의 제1 열벡터인 '[1 1 1 0 0 0 0 1 0 1]'와 '[1 1 1 1 0 0 0 1 1 1]' 중 상기 표준 편차 값인 '0.356012867'보다 큰 유클리드 노름의 절대 편차 값을 갖는 적어도 하나의 제2 열벡터로 '[1 1 1 0 0 0 0 1 0 1]'을 선택할 수 있다.
이렇게, 상기 적어도 하나의 제2 열벡터로 '[1 1 1 0 0 0 0 1 0 1]'가 선택되면, 메시지 표시부(121)는 '4'개의 필드들(211, 212, 213, 214) 중 '[1 1 1 0 0 0 0 1 0 1]'에 대응되는 필드로 첫 번째 필드(211)를 확인하고, 첫 번째 필드(211)에 존재하는 빈셀 상에 데이터를 추가로 입력할 것을 지시하는 안내 메시지를 생성한 후 상기 안내 메시지를 화면 상에 표시할 수 있다.
즉, 본 발명에 따른 전자 장치(110)는 상기 사용자로 하여금 상기 제1 테이블을 구성하는 상기 n개의 필드들 중 상대적으로 데이터가 적게 삽입되어 있는 필드에 대해 데이터를 추가로 삽입하도록 유도함으로써, 보다 완성도 높은 테이블이 생성되도록 지원할 수 있다.
또한, 본 발명의 일실시예에 따르면, 전자 장치(110)는 템플릿 저장부(122), 벡터 저장부(123), 데이터 속성 매칭부(124), 합산 벡터 생성부(125), 코사인 유사도 연산부(126) 및 템플릿 적용부(127)를 더 포함할 수 있다.
템플릿 저장부(122)에는 테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 k(k는 2 이상의 자연수임)차원의 기준 벡터가 저장되어 있다.
예컨대, k가 '4'라고 가정하면, 템플릿 저장부(122)에는 하기의 표 2와 같이 정보가 저장되어 있을 수 있다.
복수의 템플릿들 '4'차원의 기준 벡터
템플릿 1 [0 1 2 3]
템플릿 2 [1 2 3 4]
템플릿 3 [2 3 4 5]
벡터 저장부(123)에는 미리 정해진 서로 다른 k개의 데이터 속성들 각각에 대한 k차원의 원-핫(one-hot) 벡터가 저장되어 있다.
예컨대, 전술한 예와 같이 k가 '4'라고 가정하면, 벡터 저장부(123)에는 하기의 표 3과 같이 정보가 저장되어 있을 수 있다.
데이터 속성 '4'차원의 원-핫 벡터
데이터 속성 1 [1 0 0 0]
데이터 속성 2 [0 1 0 0]
데이터 속성 3 [0 0 1 0]
데이터 속성 4 [0 0 0 1]
데이터 속성 매칭부(124)는 상기 n개의 필드들 각각을 구성하는 m개의 셀들에 삽입된 데이터의 데이터 속성을 확인하여, 상기 n개의 필드들 각각에 대해 상기 k개의 데이터 속성들 중 대응되는 데이터 속성을 매칭시킨다.
여기서, 상기 데이터 속성은 '숫자', '텍스트', '날짜', '시간', '백분율' 및 '통화' 등으로 분류될 수 있는 데이터 각각의 성질을 의미할 수 있다.
합산 벡터 생성부(125)는 벡터 저장부(123)를 참조하여, 상기 n개의 필드들 각각에 매칭된 데이터 속성을 기초로 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 확인한 후 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 모두 합산함으로써, k차원의 합산 벡터를 생성한다.
코사인 유사도 연산부(126)는 상기 k차원의 합산 벡터가 생성되면, 템플릿 저장부(122)를 참조하여 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 합산 벡터 간의 코사인 유사도를 연산한다.
이때, 코사인 유사도는 하기의 수학식 2에 기초하여 연산될 수 있다.
Figure 112020063836372-pat00004
여기서, S는 특성 벡터 A와 B 사이의 코사인 유사도로 -1에서 1사이의 값을 가지며, 그 값이 클수록 두 특성 벡터는 유사한 벡터임을 의미하고, Ai는 특성 벡터 A의 i번째 성분, Bi는 특성 벡터 B의 i번째 성분을 의미한다.
템플릿 적용부(127)는 상기 복수의 템플릿들 중 상기 k차원의 합산 벡터와의 코사인 유사도가 최대로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용한다.
이하에서는, 전술한 예에 따라 데이터 속성 매칭부(124), 합산 벡터 생성부(125), 코사인 유사도 연산부(126) 및 템플릿 적용부(127)의 동작을 예를 들어 상세히 설명하기로 한다.
데이터 속성 매칭부(124)는 '4'개의 필드들(211, 212, 213, 214) 각각을 구성하는 '10'개의 셀들에 삽입된 데이터의 데이터 속성을 확인하여, '4'개의 필드들(211, 212, 213, 214) 각각에 대해 상기 '4'개의 데이터 속성들 중 대응되는 데이터 속성을 매칭시킬 수 있다.
첫 번째 필드(211)에 '데이터 속성 1'이 매칭되고, 두 번째 필드(212)에 '데이터 속성 2'가 매칭되고, 세 번째 필드(213)와 네 번째 필드(214) 각각에 '데이터 속성 3'이 매칭되었다고 하면, 합산 벡터 생성부(125)는 상기 표 3과 같은 벡터 저장부(123)를 참조하여, 첫 번째 필드(211)에 대응되는 '4'차원의 원-핫 벡터로 '[1 0 0 0]'을 확인하고, 두 번째 필드(212)에 대응되는 '4'차원의 원-핫 벡터로 '[0 1 0 0]'을 확인하며, 세 번째 필드(213)와 네 번째 필드(214) 각각에 대응되는 '4'차원의 원-핫 벡터로 '[0 0 1 0]'을 확인할 수 있다.
이후, 합산 벡터 생성부(125)는 '4'개의 필드들(211, 212, 213, 214) 각각에 대응되는 '4'차원의 원-핫 벡터를 모두 합산함으로써, '4'차원의 합산 벡터로 '[1 1 2 0]'을 생성할 수 있다.
코사인 유사도 연산부(126)는 상기 '4'차원의 합산 벡터가 생성되면, 상기의 표 2와 같은 템플릿 저장부(122)를 참조하여 상기 복수의 템플릿들 각각에 대응되는 '4'차원의 기준 벡터와 상기 '4'차원의 합산 벡터인 '[1 1 2 0]' 간의 코사인 유사도를 상기의 수학식 2에 따라 연산할 수 있다.
이때, 상기 복수의 템플릿들 중 상기 '4'차원의 합산 벡터인 '[1 1 2 0]'과의 코사인 유사도가 최대로 연산된 '4'차원의 기준 벡터를 갖는 제1 템플릿이 '템플릿 1'이라고 가정하면, 템플릿 적용부(127)는 상기 복수의 템플릿들 중 상기 '4'차원의 합산 벡터인 '[1 1 2 0]'과의 코사인 유사도가 최대로 연산된 '4'차원의 기준 벡터를 갖는 '템플릿 1'을 추출한 후 '템플릿 1'을 제1 테이블(270)에 적용할 수 있다.
도 5는 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법을 도시한 순서도이다.
단계(S510)에서는 사용자로부터 스프레드시트 상에 미완성된 상태로 존재하는 제1 테이블(상기 제1 테이블은 n개의 열들과 m개의 행들로 구성되어 있음)에 대한 자동 완성 명령이 수신되면, 상기 n개의 열들을 상기 제1 테이블을 구성하는 n개의 필드들로 확인하고, 상기 m개의 행들을 상기 제1 테이블을 구성하는 m개의 레코드들로 확인한다.
단계(S520)에서는 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀을 확인한다.
단계(S530)에서는 상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각의 빈셀에 대해 상단 셀의 데이터를 삽입함으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리한다.
단계(S540)에서는 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 미리 정해진 레코드 정렬 기준에 따라 상기 제1 테이블에서 상기 m개의 레코드들을 정렬한다.
이때, 본 발명의 일실시예에 따르면, 단계(S530)에서는 상기 n개의 필드들 각각에 대한 빈셀이 확인되는 경우, 상기 n개의 필드들 각각에 대해, 각 필드에 대한 빈셀 중 최상단에 위치하는 빈셀을 시작으로 하여, 하단 방향으로 하나씩 빈셀에 상단 셀의 데이터를 삽입해 나감으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하되, 상기 n개의 필드들 중 어느 하나인 제1 필드에서 첫 번째 셀이 빈셀인 것으로 확인되는 경우, 상기 제1 필드를 구성하는 m개의 셀들에서 가장 많이 중복해서 존재하는 데이터를 추출하고, 상기 추출된 데이터를 상기 제1 필드의 상기 첫 번째 셀에 삽입한 후 상기 제1 필드에 존재하는 각 빈셀에 대해 상단 셀의 데이터를 하나씩 삽입 처리할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S540)에서는 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지는 경우, 상기 n개의 필드들 중 최좌측 필드에서부터 우측 방향으로 순차적으로 하나씩 각 필드에 대해 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 연쇄적으로 수행하되, 각 필드별로 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행할 때, 이전 필드에 적용된 오름차순 정렬에 따른 레코드의 정렬 상태를 유지하는 조건 하에서, 현재 필드에 대해 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 제1 테이블에서 상기 m개의 레코드들에 대한 정렬이 완료된 후 상기 사용자로부터 셀 병합 명령이 인가되는 경우, 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 셀들을 하나의 셀로 병합하되, 상기 n개의 필드들 중 최좌측 지점에서 k(k는 2이상의 자연수임)번째의 지점에 위치하는 k번째 필드에서 셀 병합을 수행할 때, 상기 k번째 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 t(t는 2이상의 자연수임)개의 셀들이 존재하는 경우, 상기 t개의 셀들에 대응되는 t개의 레코드들 중 k-1번째 필드에서 동일한 데이터를 갖는 레코드들만 선별한 후 상기 t개의 셀들에서 상기 선별된 레코드들에 대응되는 셀들끼리만 병합 처리하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 n개의 필드들 각각에 대한 빈셀이 확인되는 경우, 상기 제1 테이블을 구성하는 m x n개의 셀들 중 데이터가 삽입되어 있는 것으로 확인된 셀에 대해 1의 코드를 할당하고, 빈셀로 확인된 셀에 대해 0의 코드를 할당함으로써, m x n의 행렬을 생성하는 단계, 상기 m x n의 행렬을 구성하는 n개의 m차원의 열벡터들을 확인한 후, 상기 n개의 열벡터들 각각에 대한 유클리드 노름을 연산하는 단계, 상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 평균 값을 연산하는 단계, 상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 표준 편차 값을 연산하는 단계, 상기 n개의 열벡터들 중 상기 평균 값보다 작은 유클리드 노름을 갖는 적어도 하나의 제1 열벡터를 선택한 후, 상기 평균 값을 기초로 상기 적어도 하나의 제1 열벡터에 대한 유클리드 노름의 절대 편차 값을 연산하고, 상기 적어도 하나의 제1 열벡터 중 상기 표준 편차 값보다 큰 유클리드 노름의 절대 편차 값을 갖는 적어도 하나의 제2 열벡터를 선택하는 단계 및 상기 적어도 하나의 제2 열벡터가 선택되면, 상기 n개의 필드들 중 상기 적어도 하나의 제2 열벡터에 대응되는 적어도 하나의 제2 필드를 확인하고, 상기 적어도 하나의 제2 필드에 존재하는 빈셀 상에 데이터를 추가로 입력할 것을 지시하는 안내 메시지를 생성한 후 상기 안내 메시지를 화면 상에 표시하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 k차원의 기준 벡터가 저장되어 있는 템플릿 저장부를 유지하는 단계, 미리 정해진 서로 다른 k개의 데이터 속성들 각각에 대한 k차원의 원-핫 벡터가 저장되어 있는 벡터 저장부를 유지하는 단계, 상기 n개의 필드들 각각을 구성하는 m개의 셀들에 삽입된 데이터의 데이터 속성을 확인하여, 상기 n개의 필드들 각각에 대해 상기 k개의 데이터 속성들 중 대응되는 데이터 속성을 매칭시키는 단계, 상기 벡터 저장부를 참조하여, 상기 n개의 필드들 각각에 매칭된 데이터 속성을 기초로 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 확인한 후 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 모두 합산함으로써, k차원의 합산 벡터를 생성하는 단계, 상기 k차원의 합산 벡터가 생성되면, 상기 템플릿 저장부를 참조하여 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 합산 벡터 간의 코사인 유사도를 연산하는 단계 및 상기 복수의 템플릿들 중 상기 k차원의 합산 벡터와의 코사인 유사도가 최대로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용하는 단계를 더 포함할 수 있다.
이상, 도 5를 참조하여 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법은 도 1 내지 도 4를 이용하여 설명한 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치
111: 테이블 확인부 112: 빈셀 확인부
113: 빈셀 처리부 114: 레코드 정렬부
115: 셀 병합부 116: 행렬 생성부
117: 유클리드 노름 연산부 118: 평균 연산부
119: 표준 편차 연산부 120: 열벡터 선택부
121: 메시지 표시부 122: 템플릿 저장부
123: 벡터 저장부 124: 데이터 속성 매칭부
125: 합산 벡터 생성부 126: 코사인 유사도 연산부
127: 템플릿 적용부

Claims (14)

  1. 테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 k(k는 2 이상의 자연수임)차원의 기준 벡터가 저장되어 있는 템플릿 저장부;
    미리 정해진 서로 다른 k개의 데이터 속성들 각각에 대한 k차원의 원-핫(one-hot) 벡터가 저장되어 있는 벡터 저장부;
    사용자로부터 스프레드시트 상에 미완성된 상태로 존재하는 제1 테이블 - 상기 제1 테이블은 n(n은 2 이상의 자연수임)개의 열들과 m(m은 2 이상의 자연수임)개의 행들로 구성되어 있음 - 에 대한 자동 완성 명령이 수신되면, 상기 n개의 열들을 상기 제1 테이블을 구성하는 n개의 필드들로 확인하고, 상기 m개의 행들을 상기 제1 테이블을 구성하는 m개의 레코드들로 확인하는 테이블 확인부;
    상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀을 확인하는 빈셀 확인부;
    상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각의 빈셀에 대해 상단 셀의 데이터를 삽입함으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하는 빈셀 처리부;
    상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 미리 정해진 레코드 정렬 기준에 따라 상기 제1 테이블에서 상기 m개의 레코드들을 정렬하는 레코드 정렬부;
    상기 n개의 필드들 각각을 구성하는 m개의 셀들에 삽입된 데이터의 데이터 속성을 확인하여, 상기 n개의 필드들 각각에 대해 상기 k개의 데이터 속성들 중 대응되는 데이터 속성을 매칭시키는 데이터 속성 매칭부;
    상기 벡터 저장부를 참조하여, 상기 n개의 필드들 각각에 매칭된 데이터 속성을 기초로 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 확인한 후 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 모두 합산함으로써, k차원의 합산 벡터를 생성하는 합산 벡터 생성부;
    상기 k차원의 합산 벡터가 생성되면, 상기 템플릿 저장부를 참조하여 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 합산 벡터 간의 코사인 유사도를 연산하는 코사인 유사도 연산부; 및
    상기 복수의 템플릿들 중 상기 k차원의 합산 벡터와의 코사인 유사도가 최대로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용하는 템플릿 적용부
    를 포함하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치.
  2. 제1항에 있어서,
    상기 빈셀 처리부는
    상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각에 대해, 각 필드에 대한 빈셀 중 최상단에 위치하는 빈셀을 시작으로 하여, 하단 방향으로 하나씩 빈셀에 상단 셀의 데이터를 삽입해 나감으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하되, 상기 n개의 필드들 중 어느 하나인 제1 필드에서 첫 번째 셀이 빈셀인 것으로 확인되는 경우, 상기 제1 필드를 구성하는 m개의 셀들에서 가장 많이 중복해서 존재하는 데이터를 추출하고, 상기 추출된 데이터를 상기 제1 필드의 상기 첫 번째 셀에 삽입한 후 상기 제1 필드에 존재하는 각 빈셀에 대해 상단 셀의 데이터를 하나씩 삽입 처리하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치.
  3. 제1항에 있어서,
    상기 레코드 정렬부는
    상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 상기 n개의 필드들 중 최좌측 필드에서부터 우측 방향으로 순차적으로 하나씩 각 필드에 대해 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 연쇄적으로 수행하되, 각 필드별로 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행할 때, 이전 필드에 적용된 오름차순 정렬에 따른 레코드의 정렬 상태를 유지하는 조건 하에서, 현재 필드에 대해 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치.
  4. 제3항에 있어서,
    상기 제1 테이블에서 상기 m개의 레코드들에 대한 정렬이 완료된 후 상기 사용자로부터 셀 병합 명령이 인가되면, 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 셀들을 하나의 셀로 병합하되, 상기 n개의 필드들 중 최좌측 지점에서 k(k는 2이상의 자연수임)번째의 지점에 위치하는 k번째 필드에서 셀 병합을 수행할 때, 상기 k번째 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 t(t는 2이상의 자연수임)개의 셀들이 존재하는 경우, 상기 t개의 셀들에 대응되는 t개의 레코드들 중 k-1번째 필드에서 동일한 데이터를 갖는 레코드들만 선별한 후 상기 t개의 셀들에서 상기 선별된 레코드들에 대응되는 셀들끼리만 병합 처리하는 셀 병합부
    를 더 포함하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치.
  5. 제1항에 있어서,
    상기 빈셀 확인부를 통해 상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 제1 테이블을 구성하는 m x n개의 셀들 중 데이터가 삽입되어 있는 것으로 확인된 셀에 대해 1의 코드를 할당하고, 빈셀로 확인된 셀에 대해 0의 코드를 할당함으로써, m x n의 행렬을 생성하는 행렬 생성부;
    상기 m x n의 행렬을 구성하는 n개의 m차원의 열벡터들을 확인한 후, 상기 n개의 열벡터들 각각에 대한 유클리드 노름(Euclidean norm)을 연산하는 유클리드 노름 연산부;
    상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 평균 값을 연산하는 평균 연산부;
    상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 표준 편차 값을 연산하는 표준 편차 연산부;
    상기 n개의 열벡터들 중 상기 평균 값보다 작은 유클리드 노름을 갖는 적어도 하나의 제1 열벡터를 선택한 후, 상기 평균 값을 기초로 상기 적어도 하나의 제1 열벡터에 대한 유클리드 노름의 절대 편차 값을 연산하고, 상기 적어도 하나의 제1 열벡터 중 상기 표준 편차 값보다 큰 유클리드 노름의 절대 편차 값을 갖는 적어도 하나의 제2 열벡터를 선택하는 열벡터 선택부; 및
    상기 적어도 하나의 제2 열벡터가 선택되면, 상기 n개의 필드들 중 상기 적어도 하나의 제2 열벡터에 대응되는 적어도 하나의 제2 필드를 확인하고, 상기 적어도 하나의 제2 필드에 존재하는 빈셀 상에 데이터를 추가로 입력할 것을 지시하는 안내 메시지를 생성한 후 상기 안내 메시지를 화면 상에 표시하는 메시지 표시부
    를 더 포함하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치.
  6. 삭제
  7. 테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 k(k는 2 이상의 자연수임)차원의 기준 벡터가 저장되어 있는 템플릿 저장부를 유지하는 단계;
    미리 정해진 서로 다른 k개의 데이터 속성들 각각에 대한 k차원의 원-핫(one-hot) 벡터가 저장되어 있는 벡터 저장부를 유지하는 단계;
    사용자로부터 스프레드시트 상에 미완성된 상태로 존재하는 제1 테이블 - 상기 제1 테이블은 n(n은 2 이상의 자연수임)개의 열들과 m(m은 2 이상의 자연수임)개의 행들로 구성되어 있음 - 에 대한 자동 완성 명령이 수신되면, 상기 n개의 열들을 상기 제1 테이블을 구성하는 n개의 필드들로 확인하고, 상기 m개의 행들을 상기 제1 테이블을 구성하는 m개의 레코드들로 확인하는 단계;
    상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀을 확인하는 단계;
    상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각의 빈셀에 대해 상단 셀의 데이터를 삽입함으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하는 단계;
    상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 미리 정해진 레코드 정렬 기준에 따라 상기 제1 테이블에서 상기 m개의 레코드들을 정렬하는 단계;
    상기 n개의 필드들 각각을 구성하는 m개의 셀들에 삽입된 데이터의 데이터 속성을 확인하여, 상기 n개의 필드들 각각에 대해 상기 k개의 데이터 속성들 중 대응되는 데이터 속성을 매칭시키는 단계;
    상기 벡터 저장부를 참조하여, 상기 n개의 필드들 각각에 매칭된 데이터 속성을 기초로 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 확인한 후 상기 n개의 필드들 각각에 대응되는 k차원의 원-핫 벡터를 모두 합산함으로써, k차원의 합산 벡터를 생성하는 단계;
    상기 k차원의 합산 벡터가 생성되면, 상기 템플릿 저장부를 참조하여 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 합산 벡터 간의 코사인 유사도를 연산하는 단계; 및
    상기 복수의 템플릿들 중 상기 k차원의 합산 벡터와의 코사인 유사도가 최대로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용하는 단계
    를 포함하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법.
  8. 제7항에 있어서,
    상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하는 단계는
    상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 n개의 필드들 각각에 대해, 각 필드에 대한 빈셀 중 최상단에 위치하는 빈셀을 시작으로 하여, 하단 방향으로 하나씩 빈셀에 상단 셀의 데이터를 삽입해 나감으로써, 상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지도록 처리하되, 상기 n개의 필드들 중 어느 하나인 제1 필드에서 첫 번째 셀이 빈셀인 것으로 확인되는 경우, 상기 제1 필드를 구성하는 m개의 셀들에서 가장 많이 중복해서 존재하는 데이터를 추출하고, 상기 추출된 데이터를 상기 제1 필드의 상기 첫 번째 셀에 삽입한 후 상기 제1 필드에 존재하는 각 빈셀에 대해 상단 셀의 데이터를 하나씩 삽입 처리하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법.
  9. 제7항에 있어서,
    상기 m개의 레코드들을 정렬하는 단계는
    상기 n개의 필드들 각각의 빈셀에 데이터가 모두 채워지면, 상기 n개의 필드들 중 최좌측 필드에서부터 우측 방향으로 순차적으로 하나씩 각 필드에 대해 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 연쇄적으로 수행하되, 각 필드별로 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행할 때, 이전 필드에 적용된 오름차순 정렬에 따른 레코드의 정렬 상태를 유지하는 조건 하에서, 현재 필드에 대해 상기 오름차순 정렬을 적용하여 상기 m개의 레코드들에 대한 정렬을 수행하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 제1 테이블에서 상기 m개의 레코드들에 대한 정렬이 완료된 후 상기 사용자로부터 셀 병합 명령이 인가되면, 상기 n개의 필드들 각각에 대해, 각 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 셀들을 하나의 셀로 병합하되, 상기 n개의 필드들 중 최좌측 지점에서 k(k는 2이상의 자연수임)번째의 지점에 위치하는 k번째 필드에서 셀 병합을 수행할 때, 상기 k번째 필드를 구성하는 m개의 셀들 중 서로 인접하여 위치하면서 동일한 데이터가 삽입되어 있는 t(t는 2이상의 자연수임)개의 셀들이 존재하는 경우, 상기 t개의 셀들에 대응되는 t개의 레코드들 중 k-1번째 필드에서 동일한 데이터를 갖는 레코드들만 선별한 후 상기 t개의 셀들에서 상기 선별된 레코드들에 대응되는 셀들끼리만 병합 처리하는 단계
    를 더 포함하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법.
  11. 제7항에 있어서,
    상기 n개의 필드들 각각에 대한 빈셀이 확인되면, 상기 제1 테이블을 구성하는 m x n개의 셀들 중 데이터가 삽입되어 있는 것으로 확인된 셀에 대해 1의 코드를 할당하고, 빈셀로 확인된 셀에 대해 0의 코드를 할당함으로써, m x n의 행렬을 생성하는 단계;
    상기 m x n의 행렬을 구성하는 n개의 m차원의 열벡터들을 확인한 후, 상기 n개의 열벡터들 각각에 대한 유클리드 노름(Euclidean norm)을 연산하는 단계;
    상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 평균 값을 연산하는 단계;
    상기 n개의 열벡터들 각각에 대한 유클리드 노름을 기초로, 상기 n개의 열벡터들에 대한 유클리드 노름의 표준 편차 값을 연산하는 단계;
    상기 n개의 열벡터들 중 상기 평균 값보다 작은 유클리드 노름을 갖는 적어도 하나의 제1 열벡터를 선택한 후, 상기 평균 값을 기초로 상기 적어도 하나의 제1 열벡터에 대한 유클리드 노름의 절대 편차 값을 연산하고, 상기 적어도 하나의 제1 열벡터 중 상기 표준 편차 값보다 큰 유클리드 노름의 절대 편차 값을 갖는 적어도 하나의 제2 열벡터를 선택하는 단계; 및
    상기 적어도 하나의 제2 열벡터가 선택되면, 상기 n개의 필드들 중 상기 적어도 하나의 제2 열벡터에 대응되는 적어도 하나의 제2 필드를 확인하고, 상기 적어도 하나의 제2 필드에 존재하는 빈셀 상에 데이터를 추가로 입력할 것을 지시하는 안내 메시지를 생성한 후 상기 안내 메시지를 화면 상에 표시하는 단계
    를 더 포함하는 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치의 동작 방법.
  12. 삭제
  13. 제7항 내지 제11항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  14. 제7항 내지 제11항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020200075630A 2020-06-22 2020-06-22 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법 KR102466710B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200075630A KR102466710B1 (ko) 2020-06-22 2020-06-22 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200075630A KR102466710B1 (ko) 2020-06-22 2020-06-22 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20210157617A KR20210157617A (ko) 2021-12-29
KR102466710B1 true KR102466710B1 (ko) 2022-11-15

Family

ID=79176638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200075630A KR102466710B1 (ko) 2020-06-22 2020-06-22 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102466710B1 (ko)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
2010 문화예술교육 아카데미 CETA, 기관·단체 실무자 역량 강화 연수과정. "문화예술교육분야 실무자들의 효율적인 업무를 위한 EXCEL 교육." 한국문화예술교육진흥원, 2010.*
JB FACTORY 3, "엑셀 함수|최빈값 구하기 - MODE, MODE.SNGL, MODE.MULT." [Online], [URL: https://jb-skin-149.tistory.com/25]*
Mentha, "[엑셀 이동 옵션] 빈 셀들 한번에 자동으로 채우는 방법." [Online], [URL: https://mentha2.tistory.com/142]*
박미정, 박은진. "엑셀 & 파워포인트 & 워드 2019 무작정 따라하기." 길벗. 2019.
의미하나, "엑셀 자동채우기, 총정리!" [Online], [URL: https://meaningone.tistory.com/441]
최준선. "엑셀 매크로&VBA 바이블." 한빛미디어. 2012.

Also Published As

Publication number Publication date
KR20210157617A (ko) 2021-12-29

Similar Documents

Publication Publication Date Title
US11003862B2 (en) Classifying structural features of a digital document by feature type using machine learning
US9092417B2 (en) Systems and methods for extracting data from a document in an electronic format
US7620247B2 (en) Image processing apparatus, image processing method, program, and storage medium
US9256798B2 (en) Document alteration based on native text analysis and OCR
US11934774B2 (en) Systems and methods for generating social assets from electronic publications
KR102004981B1 (ko) 선택된 단어에 대한 자동 설명 삽입이 가능한 전자 문서 편집 장치 및 그 동작 방법
KR102287149B1 (ko) Pdf 문서에서 텍스트 라인 정보를 기초로 단락의 구분선을 표시하는 전자 장치 및 그 동작 방법
KR102466710B1 (ko) 스프레드시트에 존재하는 미완성 테이블에 대한 자동 완성 기능을 제공하는 전자 장치 및 그 동작 방법
KR102466705B1 (ko) 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치 및 그 동작 방법
KR102466701B1 (ko) 스프레드시트 상에서 문장 단위로 줄바꿈이 가능한 전자 장치 및 그 동작 방법
KR102375507B1 (ko) 문서에 삽입된 개체와 관련 키워드들의 매칭을 통해 문서로부터의 개체 검색을 지원하는 전자 장치 및 그 동작 방법
KR102300491B1 (ko) 전자 문서에서 수식 편집창을 통해 입력되는 행렬에 대한 간편한 레이아웃의 변경을 지원하는 전자 단말 장치 및 그 동작 방법
KR102300444B1 (ko) 문서에 적용되어 있는 글꼴이 지원되는 글꼴인지 확인이 가능한 문서 편집 장치 및 그 동작 방법
KR102442503B1 (ko) 스프레드시트에 존재하는 테이블에 대한 자동 셀 병합 기능을 제공하는 전자 장치 및 그 동작 방법
KR102300437B1 (ko) 입력된 문자를 기초로 전자 문서 상의 특정 위치에 특수문자의 삽입을 가능하게 하는 전자 문서 편집 장치 및 그 동작 방법
KR102466706B1 (ko) 문서 작성 프로그램에서 종속 관계에 있는 편집 액션의 손쉬운 선택을 가능하게 하는 전자 장치 및 그 동작 방법
KR102215580B1 (ko) 스타일 속성에 기반하여 문서에 대한 중요 키워드를 선정하는 전자 장치 및 그 동작 방법
KR102442506B1 (ko) 문서 작성 프로그램의 편집 액션에 대한 단축키를 추천하는 전자 장치 및 그 동작 방법
KR102545262B1 (ko) 동시 사용 기준을 기초로 특정 문서와 연관된 다른 연관 문서들의 정보를 제공할 수 있는 전자 단말 장치 및 그 동작 방법
KR102545260B1 (ko) 지원하지 않는 폰트가 적용되어 있는 전자 문서의 로드 시 자연스러운 대체 폰트의 적용을 지원하는 전자 단말 장치 및 그 동작 방법
KR102466697B1 (ko) 회귀 분석에 기초하여 전자 문서에 존재하는 차트에 대한 추세선 삽입을 가능하게 하는 전자 단말 장치 및 그 동작 방법
US11960864B2 (en) Creating applications and templates based on different types of input content
KR102300423B1 (ko) 스프레드시트 상에 삽입된 복수의 도형들을 참조하여 수식 연산을 가능하게 하는 전자 장치 및 그 동작 방법
KR102507482B1 (ko) Pdf 문서에 삽입되어 있는 주석을, 응용 편집 툴에서 편집 가능한 포맷으로 빠르게 변환하여 로드할 수 있는 전자 장치 및 그 동작 방법
KR102266073B1 (ko) 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치 및 그 동작 방법

Legal Events

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