Система и способ автоматического завершения формул электронной таблицы

Иллюстрации

Показать все

Изобретение относится к области автоматического завершения формульных данных электронной таблицы, приложения-калькулятора, приложения бухгалтерского учета, бизнес-приложения, банковского приложения или т.п. Техническим результатом является облегчение ввода формульных данных. Одним аспектом настоящего изобретения является реализуемый на компьютере способ автоматического завершения данных формульной ячейки, который включает в себя этап подтверждения процесса автозавершения в ответ на пользовательский ввод данных формульной ячейки и группирования вариантов автозавершения, основываясь на пользовательском вводе. Другой аспект настоящего изобретения включает в себя отображение динамического списка вариантов автозавершения, когда пользовательским вводом является инициирующий признак. 3 н. и 14 з.п. ф-лы, 11 ил., 25 табл.

Реферат

Предшествующий уровень техники

Ячейки электронной таблицы, приложения-калькулятора, приложения бухгалтерского учета, бизнес-приложения или банковского приложения дают возможность пользователю составлять формулы. Эти формулы могут включать в себя ссылки на другие ячейки, формулы, списки, определенные пользователем функции и т.д. Использование функций и ссылок в электронных таблицах делает электронные таблицы мощным инструментальным средством, так как пользователь может составлять сложные формулы и анализировать данные в широком диапазоне.

В современных программах электронных таблиц составление формулы ячейки не является простой задачей, так как существует большой разрыв между получением справки для составления формулы и составлением самой формулы. Обычно пользователю необходимо запоминать название формулы, запоминать, как пишется по буквам формула, и запоминать соответствующие значения для использования в аргументах. Такое требование замедляет процесс составления формулы и часто препятствует успешному завершению пользователем своей задачи.

Пользователю может быть необходимо запомнить формулы и ссылки для составления формулы в электронной таблице. Такое запоминание может включать в себя запоминание названия формулы, запоминание аргументов или запоминание объектов, которые должны быть включены в формулу. Если пользователь не запомнил эти элементы, то пользователь должен выйти из ячейки и перейти в какое-то другое место для получения справки в отношении составления формулы. Вкратце, пользователь должен помнить и понимать все аспекты формулы, которую он пытается составить.

Формульные выражения часто включают в себя сложный синтаксис формул, многочисленные аргументы и многочисленные параметры. Формульные выражения также могут включать в себя вложенные функции в одной формуле, причем каждая вложенная функция требует многочисленных параметров. Такие формульные выражения увеличивают трудности запоминания и повышают возможность опечаток.

Мастера функций дополнительно мешают процессу составления формульного выражения. Мастер функций выводит пользователя из контекста электронной таблицы. В результате вывода пользователя из формульного выражения, может прерываться мысленный процесс, и снижается общая скорость составления формул.

Сущность изобретения

Настоящее изобретение, в основном, относится к системе и способу автоматического завершения формульных данных электронной таблицы, приложения-калькулятора, приложения бухгалтерского учета, бизнес-приложения, банковского приложения или т.п. Одним аспектом настоящего изобретения является реализуемый на компьютере способ автоматического завершения формул электронной таблицы. Реализуемый на компьютере способ включает в себя этап подтверждения процесса автозавершения в ответ на пользовательский ввод данных формульной ячейки. Также включены этапы для группирования вариантов автозавершения, основываясь на пользовательском вводе, и отображения динамического списка вариантов автозавершения, если пользовательский ввод представляет собой инициирующий признак (триггер) функциональной возможности автозавершения.

Другой аспект настоящего изобретения представляет собой машиночитаемый носитель, имеющий машиноисполняемые инструкции. Машиноисполняемые инструкции включают в себя этапы осуществления доступа к хранилищу сгруппированных вариантов автозавершения и сравнения пользовательского ввода с хранилищем. Инструкции также могут включать в себя этапы отображения динамического списка вариантов автозавершения, которые ассоциированы с пользовательским вводом, и фильтрации динамического списка вариантов автозавершения для согласования с последующим пользовательским вводом.

Еще один аспект настоящего изобретения включает в себя машиночитаемый компьютером носитель, имеющий хранимую на нем структуру данных. Структура данных включает в себя первое поле данных, предназначенное для пользовательского ввода, и второе поле данных, которое включает в себя группирование вариантов автозавершения для автоматического завершения первого поля данных. Структура данных также включает в себя третье поле данных, которое включает в себя неотфильтрованный список второго поля данных, если пользовательский ввод не содержит никаких совпадающих вариантов автозавершения. Структура данных дополнительно включает в себя отфильтрованный список второго поля данных, если пользовательский ввод содержит совпадающие варианты автозавершения.

Еще аспект настоящего изобретения включает в себя компьютерную систему, имеющую графический пользовательский интерфейс, включающий в себя дисплей и устройство выбора пользовательского интерфейса, способ предоставления и выбора из динамического списка на дисплее. Способ предоставления и выбора включает в себя подтверждение процесса автозавершения в ответ на пользовательский ввод в ячейку и группирование вариантов автозавершения, основываясь на пользовательском вводе. Способ предоставления и выбора также может включать в себя отображение отфильтрованного динамического списка вариантов автозавершения, когда пользовательский ввод подразумевает построение формулы, и пользовательский ввод ассоциирован с вариантами автозавершения. Кроме того, способ предоставления и выбора может включать в себя отображение неотфильтрованного динамического списка вариантов автозавершения, если пользовательский ввод ассоциирован с вариантами автозавершения, и скрытие процесса автозавершения, так что список не отображается, если пользовательский ввод не ассоциирован с вариантами автозавершения.

Перечень чертежей

Фиг.1 - примерное вычислительное устройство, которое может использоваться в одном примерном варианте осуществления настоящего изобретения.

Фиг.2 - примерное мобильное устройство, которое может использоваться в одном примерном варианте осуществления настоящего изобретения.

Фиг.3 - примерный пользовательский интерфейс, который может включать в себя варианты осуществления настоящего изобретения.

Фиг.4 - один примерный аспект автоматического завершения формульной ячейки.

Фиг.5 - один примерный аспект автоматического завершения формульной ячейки, ассоциированной с компонентом, который представляет собой перечислимую зависимость.

Фиг.6 - один примерный аспект автоматического завершения формульной ячейки, ассоциированной с компонентом, который представляет собой зависимость по списку.

Фиг.7 - один примерный аспект автоматического завершения формульной ячейки, ассоциированной с компонентом, который представляет собой зависимость по ведущему элементу.

Фиг.8 - один примерный аспект автоматического завершения формульной ячейки, ассоциированной с компонентом, который представляет собой зависимость по соединению.

Фиг.9 - один примерный аспект автоматического завершения формульной ячейки, ассоциированной с компонентом, который представляет собой зависимость по дате.

Фиг.10 - примерное хранилище элементов автозавершения одного аспекта настоящего изобретения.

Фиг.11 - логическая диаграмма последовательности операций одного аспекта настоящего изобретения.

Подробное описание

Ниже более подробно описываются варианты осуществления настоящего изобретения с ссылкой на прилагаемые чертежи, которые составляют его часть, и на которых показаны при помощи иллюстраций конкретные примерные варианты осуществления для реализации изобретения на практике. Настоящее изобретение, однако, может быть осуществлено во многих различных формах и не должно рассматриваться как ограниченное вариантами осуществления, изложенными в нем; скорее, эти варианты осуществления предусмотрены для того, чтобы это раскрытие было полным и завершенным и полностью передавало объем изобретения для специалиста в данной области техники. Между прочим, настоящее изобретение может осуществляться в виде способов или устройств. Следовательно, настоящее изобретение может принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления или варианта осуществления, объединяющего программные и аппаратные аспекты. Нижеследующее подробное описание, поэтому, не должно рассматриваться в ограничивающем смысле.

Иллюстративные варианты осуществления способа и системы автоматического завершения формульной ячейки

1. Примерный пользовательский интерфейс

На фиг.3 изображен примерный пользовательский интерфейс электронной таблицы, который может использоваться в одном примерном варианте осуществления настоящего изобретения. Электронная таблица 300 может быть электронной таблицей любого типа, используемой для вычисления и отслеживания данных. Электронная таблица 300 может включать в себя одну или несколько формульных ячеек 302. Формульные ячейки 302 могут конфигурироваться для приема формул, уравнений, чисел, букв, символов, слов, зависимостей формульных ячеек или любых других форм данных, которые подходят для электронной таблицы. Формульная ячейка 302 может быть определена как ячейка, которая сконфигурирована для допущения одного или нескольких компонентов. Компонент может быть определен как формульные данные любого типа. Такие компоненты могут включать в себя зависимость по формуле, зависимость по функции электронной таблицы, зависимость по определенному имени, зависимость по списку, зависимость по ведущему элементу, зависимость по определенной пользователем функции, зависимость по перечислимому аргументу, зависимость по данным листа, зависимость по объекту даты или другие зависимости. В одном варианте осуществления компоненты хранятся в одном или нескольких массивах, что более подробно изложено ниже. Электронная таблица 300 также может включать в себя окно 304 просмотра формульной ячейки, предоставляющее возможность легкого доступа пользователем к данным в формульной ячейке 302.

Даже если настоящее изобретение предлагается вместе с электронной таблицей 300, предполагается, что настоящее изобретение может быть реализовано с любым приложением или программой, имеющей формульную ячейку 302. Электронная таблица 300 предлагается в данном описании просто для примерных и описательных целей и не должна рассматриваться ограничивающей. Например, настоящее изобретение может использоваться совместно с приложением-калькулятором, где калькулятор имеет одну формульную ячейку. Также могут предполагаться приложения бухгалтерского учета, бизнес-приложения и банковские приложения, которые имеют формульные ячейки.

На фиг.4 изображен один примерный аспект автоматического завершения формульной ячейки. Позиция 400 представляет собой примерный пользовательский интерфейс, который может включать в себя формульную ячейку 402, ниспадающее окно 404 и окно 406 подсказок. Формульная ячейка 402, ниспадающее окно 404 и окно 406 подсказок могут устанавливаться с формой и размером по умолчанию, или форма и размер могут регулироваться пользователем. Также, окно 406 подсказок и ниспадающее окно 404 могут располагаться любым образом относительно формульной ячейки 402. В одном варианте осуществления окно 406 подсказок и ниспадающее окно 404 всегда остаются справа от любого пользовательского ввода.

Ниспадающее окно 404 может дополнительно включать в себя линейку 408 прокрутки, предоставляющую пользователю легкий доступ к элементам автозавершения (например, 410). Как дополнительно изложено ниже, элементы автозавершения сопоставляются с триггером 412 ввода. Триггер ввода может включать в себя ввод, который является приглашением к отображению компонентов в ниспадающем окне 404. По мере того, как пользователь продвигается с осуществлением ввода триггера 412 ввода, элементы автозавершения фильтруются, чтобы отображать только наиболее релевантные элементы. В одном варианте осуществления настоящего изобретения элементы автозавершения являются динамическими и включают в себя группирование всех доступных вариантов для формульной ячейки 402.

Ниспадающее окно 404 также может включать в себя пиктограммы 414 автозавершения. Как дополнительно изложено ниже, пиктограммы 414 автозавершения могут указывать, что элемент 410 автозавершения принадлежит к конкретному типу категории компонентов. Например, пиктограммы 414 автозавершения могут указывать, что элемент 410 автозавершения представляет собой зависимость по функции электронной таблицы, зависимость по определенным именам, зависимость по списку, зависимость по ведущим элементам, зависимость по определенной пользователем функции, зависимость по перечислимому аргументу, зависимость по данным листа, зависимость по объекту даты или т.п. Тип компонента может быть важным, так как триггер может заключать в себе только конкретный тип компонента. Ниспадающее окно 404 дополнительно может включать в себя индикатор 416 выбора для идентификации конкретного элемента 410 автозавершения.

В одном аспекте настоящего изобретения интерфейс 400 включает в себя окно 406 подсказок. Окно 406 подсказок включает в себя информацию, относящуюся к выбранному элементу 410 автозавершения. Окно 406 подсказок повышает удобство применения интерфейса 400 в том, что пользователь может не запоминать (или не понимать) полную функциональную возможность элемента 410 автозавершения. Также, окно 406 подсказок позволяет выполнять обращение к информации без необходимости для пользователя запускать отдельную функцию справки.

Позиция 418 представляет собой исполнительное средство автозавершения. Исполнительное средство 418 является приглашением для формульной ячейки 402 в процесс автозавершения. Процесс автозавершения и интерфейс 400 остаются бездействующими до активирования исполнительным средством 418 автозавершения. Таким образом интерфейс 400 не становится навязчивым для пользователя, когда пользователь не вводит компонента. В одном варианте осуществления исполнительное средство 418 автозавершения является просто приглашением к процессу автозавершения, тогда как ввод 412 является приглашением к отображению ниспадающего окна 404, когда ввод 412 представляет собой триггер. Например, одно число, буква или зависимость ячейки не может быть триггером пользовательского ввода; поэтому, ниспадающее окно не отображается. Этот процесс снижает любую навязчивость интерфейса 400, когда он не нужен. В одном аспекте настоящего изобретения процесс автозавершения может быть активирован вручную пользователем. В другом аспекте настоящего изобретения исполнительным средством 418 является символ «=»; однако может использоваться любое число, буква или символ без отступления от сущности и объема настоящего изобретения.

В таблице 1 ниже указано множество примерных способов, как пользователь может взаимодействовать с интерфейсом, чтобы вставить выбранный элемент автозавершения. Столбец 1 указывает примерные действия пользователя, и столбец 2 представляет собой описание примерных ответных действий в интерфейсе. Таблица 1 представляет общие примеры взаимодействия с клавиатурой и мышью и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 1
Действие Описание
Двойной щелчок на элементе автозавершения Когда пользователь выполняет двойной щелчок на элементе автозавершения, он вставляется в формульную ячейку (она не должна быть выбрана). Курсор перемещается непосредственно после элемента.
Нажатие клавиши ENTER Вставляет выбранный элемент автозавершения и располагает курсор непосредственно после вставленного элемента автозавершения.
Нажатие клавиши TAB Вставляет выбранный элемент автозавершения и располагает курсор непосредственно после вставленного элемента автозавершения.
Комбинация клавиш ALT+ENTER Вставляет выбранный элемент автозавершения и располагает курсор непосредственно после вставленного элемента автозавершения.
Комбинация клавиш SHIFT+ENTER Вставляет выбранный элемент автозавершения и располагает курсор непосредственно после вставленного элемента автозавершения.
Комбинация клавиш CTRL+ENTER Вставляет выбранный элемент автозавершения и располагает курсор непосредственно после вставленного элемента автозавершения.

В таблице 2 ниже указаны примерные навигационные инструментальные средства для ниспадающего окна. В столбце 1 идентифицируются примерные действия. В столбце 2 идентифицируются примерные ответные действия в интерфейсе, когда не выбирается элемент автозавершения, и в столбце 3 указываются примерные ответные действия в интерфейсе, когда выбирается элемент автозавершения. Таблица 2 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 2
Действие Поведение, когда не выбирается элемент массива автозавершения Поведение, когда выбирается элемент массива автозавершения
Нажатие клавиши ← (стрелка влево) Перемещает курсор на один знак влево, и ниспадающее окно остается открытым. Перемещает курсор на один знак влево, и ниспадающее окно остается открытым.
Нажатие клавиши → (стрелка вправо) Перемещает курсор на один знак вправо, и ниспадающее окно остается открытым. Перемещает курсор на один знак вправо, и ниспадающее окно остается открытым.
Нажатие клавиши ↑ (стрелка вверх) Идентифицирует наилучшее совпадение для элемента массива автозавершения в ниспадающем окне. Перемещает индикатор выбора на одну позицию вверх в ниспадающем окне.
Нажатие клавиши ↓ (стрелка вниз) Идентифицирует наилучшее совпадение для элемента массива автозавершения в ниспадающем окне. Перемещает индикатор выбора на одну позицию вниз в ниспадающем окне.
Нажатие клавиши END Выход из процесса. Индикатор выбора перемещается на последний элемент в массиве автозавершения.
Нажатие клавиши HOME Выход из процесса. Индикатор выбора перемещается на первый элемент в массиве автозавершения.
Нажатие клавиши PAGEDOWN Выход из процесса. Перемещает индикатор выбора на последнюю видимую позицию в ниспадающем окне (если индикатор выбора находится на последней позиции, индикатор выбора перемещается вниз на другой набор позиций и выбирает последнюю видимую позицию в ниспадающем окне).
Нажатие клавиши PAGEUP Выход из процесса. Перемещает индикатор выбора на первую видимую позицию в ниспадающем окне (если индикатор выбора находится на первой позиции, индикатор выбора перемещается вверх на другой набор позиций и выбирает первую видимую позицию в ниспадающем окне).
Смена фокуса приложения. Выход из процесса. Закрывает автозавершение.

В таблице 3 ниже указаны несколько примерных сценариев, когда ниспадающее окно не имеет совпадений для пользовательского ввода. В столбце 1 идентифицируется примерные сценарии пользовательского ввода, и столбец 2 представляет собой примерное описание ответного действия в интерфейсе. Таблица 3 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 3
Сценарий пользовательского ввода Описание ответного действия
Пользовательский ввод распознается как текстEx.=Sz Если «Sz» не распознается, показать элементы массива автозавершения для «S».
Пользовательский ввод распознается как ссылка на ячейкуEx.=a13 Скрыть ниспадающее окно
Пользовательский ввод распознается как ссылка на ячейку (обозначение R1C1)Ex. R[1]C[3] Скрыть ниспадающее окно
Пользовательский ввод распознается как числоEx.=345 Скрыть ниспадающее окно

Может быть предусмотрено несколько правил, когда пользователь вызывает процесс автозавершения при составлении компонента. Некоторые примеры таких правил включают в себя то, что могут игнорироваться знаки справа от курсора. Эти знаки «сдвигаются назад» (не записываются поверх существующих), когда вставляются элементы массива автозавершения. Знаки слева от курсора анализируются для процесса автозавершения на предмет того, является ли текст слева от курсора триггером ввода, и заключает ли в себе триггер ввода компонент (например, зависимость по формуле, зависимость по функции электронной таблицы, зависимость по определенному имени, зависимость по списку, зависимость по ведущему элементу, зависимость по определенной пользователем функции, зависимость по перечислимому аргументу, зависимость по данным листа или зависимость по объекту даты). В такой ситуации элементы автозавершения могут фильтроваться, так что процесс возвращает элементы массива автозавершения, как если бы триггер ввода был только что введен. Если текстом слева от курсора является «пробел», арифметический оператор (+, -, /, * и т.д.) или знаковый оператор (&) (например, не заключает в себе компонента), тогда элементы автозавершения включают в себя все возможные элементы автозавершения (т.е. не фильтруются). Если пользователь находится в конце полного слова автозавершения (vlookup, myList и др.), тогда элементы автозавершения включают в себя все возможные элементы (т.е. не фильтруются, так как не заключают в себе компонента). Если знак удаляется из слова автозавершения, тогда элементы массива автозавершения включают в себя элементы, основываясь на оставшейся части слова. В свете раскрытия в данном описании также могут быть предусмотрены другие правила, когда пользователь вызывает процесс автозавершения, отличные от описанных.

В таблице 4 ниже указаны несколько примерных сценариев, которые приводят в качестве примера правила, которым можно придерживаться, когда пользователь вызывает процесс автозавершения при составлении компонента. В столбце 1 идентифицируются примерные сценарии пользовательского ввода, и в столбце 2 указываются примерные описания ответных действий в интерфейсе. Таблица 4 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 4
Сценарий пользовательского ввода (I=курсор) Описание ответного действия
=CounIt(A1:G4) Показывает элементы автозавершения для текста «coun».
=SUM(I Показывает все возможные элементы автозавершения (без фильтрации).
=IF(ISEIRROR(VLOOKUP(“poo”,F12:F32,1,FALSE)), ”this didn't work”, B8 Показывает элементы массива автозавершения для текста «ISE».
=myValue+I42 Показывает все возможные элементы массива автозавершения.

На фиг.5 изображен другой примерный аспект автоматического завершения формульной ячейки. Примерный пользовательский интерфейс 500 подобен примерному пользовательскому интерфейсу 400 за исключением того, что пользовательский интерфейс 500 включает в себя ниспадающее окно 502 перечислимой зависимости. Ниспадающее окно 502 перечислимой зависимости вызывается тогда, когда триггер 504 ввода указывает, что пользователь вводит перечислимую зависимость в формульную ячейку 506. Пользовательский интерфейс также может включать в себя идентификатор 508 перечислимой зависимости. Идентификатор 508 перечислимой зависимости может отображаться в верхней части ниспадающего окна 502 перечислимой зависимости и идентифицировать категорию перечислимой зависимости (например, 510).

На фиг.6 изображен еще один примерный аспект автоматического завершения формульной ячейки. Примерный пользовательский интерфейс 600 подобен пользовательскому интерфейсу 400 за исключением того, что пользовательский интерфейс 600 включает в себя ниспадающее окно 602 зависимости по списку. Ниспадающее окно 602 зависимости по списку вызывается тогда, когда триггер 604 ввода указывает, что пользователь вводит зависимость по списку в формульную ячейку 606. Когда пользователь вводит зависимость по списку, пользовательский интерфейс 600 будет включать в себя названия 608 столбцов для списка, которые могут быть характерными для списка. Пользовательский интерфейс 600 также может включать в себя специальные позиции 610, которые могут принадлежать списку. Такие специальные позиции могут включать в себя #All, #Data, #Header, #Total или другие.

На фиг.7 изображен еще один примерный аспект автоматического завершения формульной ячейки. Примерный пользовательский интерфейс 700 подобен пользовательскому интерфейсу 400 за исключением того, что пользовательский интерфейс 700 включает в себя ниспадающее окно 702 зависимости по ведущему элементу. Ниспадающее окно 702 зависимости по ведущему элементу вызывается тогда, когда триггер 704 ввода указывает, что пользователь вводит зависимость по ведущему элементу в формульную ячейку 706. Когда пользователь вводит зависимость по ведущему элементу, пользовательский интерфейс 700 будет включать в себя имена 708 элементов для ведущего элемента, которые могут основываться на текущем расположении в иерархии ведущего элемента. Пользовательский интерфейс 700 также может включать в себя специальные позиции 710, которые могут принадлежать ведущему элементу. Такие специальные позиции могут включать в себя #All, #Data, #Header или #Totals.

На фиг.8 изображен еще один примерный аспект автоматического завершения формульной ячейки. Примерный пользовательский интерфейс 800 подобен пользовательскому интерфейсу 400 за исключением того, что пользовательский интерфейс 800 включает в себя ниспадающее окно 802 зависимости по соединению. Ниспадающее окно 802 зависимости по соединению вызывается тогда, когда триггер 804 ввода указывает, что пользователь вводит зависимость по соединению в формульную ячейку 806. Пользовательский интерфейс также может включать в себя идентификатор 808 соединения. Идентификатор 808 зависимости по соединению может отображаться в верхней части ниспадающего окна 802 зависимости по соединению и идентифицировать категории зависимости по соединению.

На фиг.9 изображен еще один примерный аспект автоматического завершения формульной ячейки. Примерный пользовательский интерфейс 900 подобен пользовательскому интерфейсу 400 за исключением того, что пользовательский интерфейс 900 включает в себя ниспадающее окно 902 зависимости по дате. Ниспадающее окно 902 зависимости по дате вызывается тогда, когда триггер 904 ввода указывает, что пользователь вводит зависимость по дате в формульную ячейку 906. Пользовательский интерфейс также может включать в себя объект 908 календаря. Объект 908 календаря может отображаться в нижней части ниспадающего окна 902 зависимости по дате и предоставлять пользователю дружественный интерфейс для ввода даты.

2. Примерное хранилище данных

На фиг.10 изображен один примерный вариант осуществления для автозавершения данных формульной ячейки. Система 1000 включает в себя компьютерное устройство 1002, которое может быть аналогично вычислительному устройству 100, описанному выше в связи с фиг.1, или мобильному устройству 200, описанному выше в связи с фиг.2. Вычислительное устройство 1002 может иметь приложение автозавершения, и приложение автозавершения может включать в себя ниспадающее окно 1004 автозавершения для отображения элементов автозавершения, как изложено выше.

Позиция 1006 указывает один вариант осуществления хранилища данных. Хранилище 1006 данных может состоять из множества хранилищ данных (хранилищ компонентов). Хранилище 1006 данных может включать хранилище для функций 1008 электронной таблицы, определенных имен 1010, списков 1012, ведущих элементов 1014, определенных пользователем функций 1016, перечислимых аргументов 1018, данных 1020 листа и объектов 1022 даты. Хранилище 1006 данных также может включать в себя хранилище 1024 элементов автозавершения, которое может включать в себя фильтр 1026. Даже если хранилище 1006 данных представлено на фиг.10 в виде множества хранилищ 1008-1024 данных, хранилище 1006 данных может представлять собой единственное хранилище данных. Дополнительно предполагается, что хранилище 1006 данных может включать в себя пул всех компонентов, которые могут использоваться для автозавершения формульной ячейки 1002. Также предполагается, что хранилище 1006 данных может представлять собой отфильтрованное хранилище, которое включает в себя только часть всех возможных компонентов, которые могли бы использоваться для автозавершения формульной ячейки.

В одном варианте осуществления триггер ввода вводится в формульную ячейку. Затем выполняется обращение к памяти 1006, и хранилища 1008-1022 сравниваются с триггером ввода с целью определения компонентов, которые релевантны триггеру. В другом варианте осуществления выполняется обращение только к одному или нескольким конкретным хранилищам 1008-1022 в качестве реакции на триггер, если триггер подразумевает конкретное хранилище. Релевантные элементы автозавершения затем могут быть сохранены в виде массива в хранилище 1024 элементов автозавершения. Ниспадающее окно 1004 автозавершения может отображать наиболее релевантные элементы автозавершения хранилища 1024. По мере того как пользователь продвигается с введением ввода, элементы массива автозавершения непрерывно фильтруются, так что ниспадающее окно 1004 автозавершения отображает наиболее релевантные элементы массива автозавершения в любой один конкретный момент времени.

В качестве примера, относящегося к фиг.4, пользователь может вводить триггер 412 ввода, которым может быть буква «S». В такой ситуации процесс автозавершения не может идентифицировать, что буква «S» относится к какому-то конкретному типу компонента. Затем выполняется обращение к хранилищу 1006, и блоки 1008-1022 хранилища будут сравниваться с триггером 412 ввода. Все релевантные компоненты, которые начинаются на букву «S», будут запоминаться в хранилище 1024 элементов массива автозавершения, и ниспадающее окно 404 автозавершения будет отображать наиболее релевантные компоненты. Если, например, пользователь затем вводит букву «а» после буквы «S», компоненты дополнительно фильтруются для исключения компонентов, которые не имеют буквенную комбинацию «Sa». Таким образом, ниспадающее окно 404 автозавершения всегда отображает наиболее релевантные элементы 410 массива автозавершения. В другом примере, пользователь может вводить триггер ввода, которым может быть открывающая скобка. Триггер в виде открывающей скобки может заключать в себе только зависимости по списку. Следовательно, ниспадающее окно автозавершения может отображать только зависимости по списку. В качестве другого примера, триггером ввода может быть символ «+». Символ «+» не может заключать в себе конкретный тип компонента и, поэтому, все компоненты будут отображаться в ниспадающем окне.

3. Примерные триггеры ввода

Как указано выше, процесс автозавершения может организовывать пул из множества типов компонентов, чтобы определить наиболее релевантные компоненты для конкретного триггера ввода. Триггер ввода также может заключать в себе определенный набор компонентов. В такой ситуации процессу автозавершения может потребоваться только обращение к определенному хранилищу компонентов. В таблице 5 ниже указаны несколько примерных зависимых от контекста триггеров ввода для зависимостей по функции электронной таблицы и зависимостей по определенной пользователем функции. Столбец 1 идентифицирует примерные сценарии пользовательского ввода, и в столбце 2 указываются примерные описания ответных действий в интерфейсе. Таблица 5 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 5
Триггеры пользовательского ввода для зависимостей по функции электронной таблицы и по определенному пользователем вводу Описание ответного действия
( (Открывающая круглая скобка) Когда выбирается элемент автозавершения, ввод на клавиатуре левой круглой скобки вставляет эту функцию с левой круглой скобкой после нее.
SPACE (Пробел) Когда выбирается элемент автозавершения, нажатие на клавишу пробела вставляет элемент автозавершения с пробелом после него.

В таблице 6 ниже указаны несколько примерных зависимых от контекста триггеров ввода для определенных имен. Столбец 1 идентифицирует примерные сценарии пользовательского ввода, и в столбце 2 указываются примерные описания ответных действий в интерфейсе. Таблица 6 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 6
Триггеры пользовательского ввода для зависимостей по определенным именам Описание ответного действия
) (закрывающая круглая скобка) Когда выбирается определенное имя автозавершения, ввод на клавиатуре правой круглой скобки вставляет это определенное имя с правой круглой скобкой после него.
, (запятая) Когда выбирается определенное имя автозавершения, ввод на клавиатуре запятой вставляет это имя с запятой после него.
С ссылкой на любой из следующих вводов: Арифметический оператор + (знак плюса)- (знак минуса)* (звездочка)/ (левая косая черта)% (знак процента)∧ (знак вставки) Оператор сравнения = (знак равенства)> (знак больше, чем)< (знак меньше, чем)>= (знак больше, чем или равно)<= (знак меньше, чем или равно)<> (знак не равно) Текстовый оператор & (амперсанд) Оператор ссылки : (двоеточие), (запятая) Когда выбирается определенное имя автозавершения, ввод на клавиатуре оператора вставляет это имя с оператором после него.
SPACE Когда выбирается определенное имя автозавершения, нажатие клавиши пробела вставляет это имя с пробелом после него.

В таблице 7 ниже указаны несколько примерных зависимых от контекста триггеров ввода для имени списка. Столбец 1 идентифицирует примерные сценарии пользовательского ввода, и в столбце 2 указаны примерные описания ответного действия в интерфейсе. Таблица 7 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 7
Триггеры пользовательского ввода для зависимостей по имени списка Описание ответного действия
[ (Открывающая квадратная скобка) Когда выбирается имя списка автозавершения, ввод на клавиатуре левой скобки вставляет этот список с левой скобкой после него.
Все триггеры пользовательского ввода для зависимостей по определенным именам [таблица 6] Триггеры ввода для зависимостей по определенным именам работают аналогично зависимостям по имени списка.

В таблице 8 ниже указаны несколько примерных зависимых от контекста триггеров ввода для поля списка. Столбец 1 идентифицирует примерные сценарии пользовательского ввода, и в столбце 2 указаны примерные описания ответного действия в интерфейсе. Таблица 8 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

Таблица 8
Триггеры пользовательского ввода для зависимостей по полю списка Описание ответного действия
] (Закрывающая квадратная скобка) Когда выбирается поле списка автозавершения, ввод на клавиатуре правой скобки вставляет это поле с правой скобкой после него.
, (Запятая) Когда выбирается поле списка автозавершения, ввод на клавиатуре запятой вставляет это поле с запятой после него.
Вышеприведенное представляет собой триггеры вставки, если только им не предшествует одинарная кавычка ('). Одинарная кавычка является знаком перехода.

В таблице 9 ниже указаны несколько примерных зависимых от контекста триггеров ввода для имени сводной таблицы. Столбец 1 идентифицирует примерные сценарии пользовательского ввода, и в столбце 2 указаны примерные описания ответного действия в интерфейсе. Таблица