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



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

 


Владельцы патента RU 2406131:

МАЙКРОСОФТ КОРПОРЕЙШН (US)

Изобретение относится к области автоматического завершения формульных данных электронной таблицы, приложения-калькулятора, приложения бухгалтерского учета, бизнес-приложения, банковского приложения или т.п. Техническим результатом является облегчение ввода формульных данных. Одним аспектом настоящего изобретения является реализуемый на компьютере способ автоматического завершения данных формульной ячейки, который включает в себя этап подтверждения процесса автозавершения в ответ на пользовательский ввод данных формульной ячейки и группирования вариантов автозавершения, основываясь на пользовательском вводе. Другой аспект настоящего изобретения включает в себя отображение динамического списка вариантов автозавершения, когда пользовательским вводом является инициирующий признак. 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 указаны примерные описания ответного действия в интерфейсе. Таблица 9 представляет общие примеры взаимодействий с клавиатурой и подразумевается, что она не ограничивает настоящее изобретение.

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

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

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

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

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

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

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

4. Примеры окна подсказок

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

Таблица 13
Содержимое окна подсказок для зависимости по функции электронной таблицы Пример
Строка 1: Прототип функции (имя функции со всеми прописными буквами и жирным шрифтом) SECOND(serial_number)
Строка 2: Описание функции Возвращает секунды временного значения. Секунда представляется как целое число в диапазоне 0 (нуль) - 59.

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

Таблица 14
Содержимое окна подсказок для зависимости по определенной пользователем функции Пример
Строка 1: Прототип функции (имя функции всеми прописными буквами и жирным шрифтом) CircleArea(Radius)
Строка 2: Текст, сообщающий: «определенная пользователем функция». «Определенная пользователем функция»

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

Таблица 15
Содержимое окна подсказок для зависимости по перечислимому аргументу Пример
Строка 1: Описание перечислимой зависимости Использовать Count для вычисления промежуточной суммы числа позиций в списке

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

Таблица 16
Содержимое окна подсказок для зависимости по определенному имени Пример
Строка 1: “Defined Name -“ + значение
Если dependency = string, тогда окружить значение двойными кавычками.
Если зависимость представляет собой относительную зависимость, тогда изображается текст (относительная ссылка)
Defined name - Sheet1!$A$1:$G$55
Defined name - «некоторая строка текста»
Defined name - (относительная зависимость)
Строка 2: “Comment:” + текст комментария
Если нет комментариев, тогда вторая строка не изображается.
Комментарий: Это необходимо использовать только для вычислений в версии 2003

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

Таблица 17
Содержимое окна подсказок для зависимости по списку Пример
Строка 1: “List Name -“ + значение List name - Sheet1!$A$1:$G$55
List name - длинная строка текста, которая будет укорочена.
Строка 2: “Comment:” + текст комментария
Если нет комментария, тогда вторая строка не изображается.
Комментарий: Это необходимо использовать только для вычислений в версии 2003

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

Таблица 18
Содержимое окна подсказок для зависимости по списку - спецификатор - специальная позиция Пример
Строка 1: Описание специальной позиции Строки специальной позиции
[#All] - Возвращает все содержимое List (Table?) или определенные столбцы List, включающие в себя заголовки столбца, данные и строки суммы.
[#Data] - Возвращает ячейки данных List или определенные столбцы List.
[#Headers] - Возвращает заголовки столбцов для List или определенные столбцы List.
[#Total] - Возвращает строки суммы для List или определенные столбцы List.

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

Таблица 19
Содержимое окна подсказок для зависимости по списку - спецификатор - имя столбца Пример
Строка 1: “column from”<listname> “column from MyList”
Строка 2: “Range:”<диапазон> “Range: $A$1:$G$41”

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

Таблица 20
Содержимое окна подсказок для зависимости по ведущему элементу Пример
Строка 1: “Pivot Table -“ +activerange Pivot Table - Sheet1!$A$1:$G$55
Строка 2: “Comment:” - текст комментария
Если нет комментария, тогда вторая строка не изображается
Комментарий: Сводная таблица общефирменных продаж для 03

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

Таблица 21
Содержимое окна подсказок для зависимости по ведущему элементу - спецификатор - специальная позиция Пример
Строка 1: Описание специальной позиции Строки специальной позиции
[#All] - Возвращает все содержимое тела PivotTable, включая заголовки, данные и промежуточные суммы и итоговые суммы.
[#Data] - Возвращает ячейки данных PivotTable, не включающие промежуточные суммы или итоговые суммы.
[#Headers] - Возвращает заголовки для определенного поля или полей PivotTable.
[#Grand Total] - Возвращает итоговые суммы для всей PivotTable.
[#Row Grand Totals] - Возвращает итоговые суммы по строкам PivotTable.
[#Column Grand Totals] - Возвращает итоговые суммы по столбцам PivotTable.
[#Page Fields] - Возвращает поля страницы для PivotTables
[#Subtotals] - Возвращает промежуточные суммы для заданной позиции.

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

Таблица 22
Содержимое окна подсказок для зависимости по ведущему элементу - спецификатор - специальная позиция Пример
Строка 1: “Item of” <имя сводной таблицы> Позиция в MyPivot
Строка 2: Содержит: “{“<value1>, <value2>, <valueN>…”}”
Если нет дополнительных данных, «не содержит дополнительных данных»
Содержит: {велосипед, автомобиль, грузовик, санки или коньки}
Или
«Не содержит дополнительных данных»

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

Таблица 23
Содержимое окна подсказок для зависимости по ведущему элементу - поле Пример
Строка 1: “Field of” <имя сводной таблицы> Поле в MyPivot
Строка 2: Содержит “{“<value1>, <value2>, <valueN>…”}”
Если нет дополнительных данных, «не содержит дополнительных данных»
Содержит:{Albanaia, Afgana, Afrotesia, Am…}
Или
«Не содержит дополнительных данных»

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

Таблица 24
Содержимое окна подсказок для зависимости по данным листа - соединение Пример
Строка 1: <Описание соединения>
Это поле извлекается из списка внешних соединений, это поле, которое пользователь может заполнить, если он захочет.
Если нет описания, «Соединение с кубом».
Это соединение с нашим корпоративным кубом учета для 2003
Или
Соединение с кубом

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

Таблица 25
Содержимое окна подсказок для зависимости по данным листа - пространство имен Пример
Строка 1: <тип позиции>
Тип Item извлекается из куба вместе с позициями
Если позицией является элемент, изображается следующее
<тип позиции> “:”<уникальное имя элемента>
Уникальное имя элемента извлекается из куба вместе с позициями
Список типов позиции
Элемент:
Свойство:
Ключевой показатель эффективности:
Размер:
Иерархия:
Уровень:
Атрибут:
Набор:
Размер
Элемент: [регион].[штат].[город].[Сиэтл]

5. Примерный процесс

На фиг.11 изображена логическая диаграмма последовательности операций процесса автоматического завершения формульной ячейки. Процесс 1100 начинается начальным этапом 1102 и переходит к этапу 1104, где пользователь приглашается к процессу автозавершения. В одном варианте осуществления настоящего изобретения пользователь приглашается к процессу 1100 автозавершения посредством ввода символа «=» в формульную ячейку. В другом варианте осуществления пользователь приглашается к процессу автозавершения посредством активации процесса из ниспадающего меню инструментальной панели. Также предполагается, что любое число, буква, символ или пользовательский ввод могут использоваться для приглашения к процессу 1100 автозавершения без отступления от сущности или объема настоящего изобретения.

Процесс 1100 переходит к этапу 1106, где определяется, был ли введен знак. Если знак уже был введен, процесс 1100 переходит к этапу 1110, как изложено ниже. Если знак не был введен, процесс 1100 остается бездействующим до тех пор, пока не будет определено, что знак был введен. Снова, знак может включать в себя любое число, букву, пунктуацию, символ или пользовательский ввод.

Если знак был введен, процесс 1100 переходит к этапу 1108, где определяется, является ли знак триггером. Если знак не является триггером, процесс переходит к этапу 1110, где не меняется состояние ниспадающего окна автозавершения. Другими словами, если ниспадающее окно является бездействующим, оно остается бездействующим. В других ситуациях, если ниспадающее окно отображает набор компонентов, оно продолжает отображать этот же набор компонентов. В таблице 3 выше перечисляется нескольких примерных сценариев, когда знак ввода не активирует отображение окна. Эти сценарии предназначены только для примерных целей; также предполагается, что окно остается бездействующим в любой ситуации, где нежелательно отображать окно.

Процесс 1100 переходит к этапу 1114, где определяется, был ли введен другой знак. В ситуации, когда другой знак был введен, процесс 1100 возвращается к началу цикла на этап 1108, где определяется, является ли знак триггером. Если определяется, что другой знак не был введен, процесс 1100 переходит к этапу 1116, где определяется, завершен ли ввод в ячейку. Если ввод в ячейку завершен, процесс завершается на этапе 1132 завершения. Если ввод в ячейку не завершен, процесс возвращается к началу цикла на этап 1114.

Если в блоке 1108 определяется, что ввод является триггером, процесс 1100 переходит к этапу 1118, где определяется, заключается ли в нем конкретный компонент. В таблице 4 выше перечисляется несколько примерных сценариев, когда триггер не заключает в себе конкретного компонента. Другие примерные сценарии включают в себя ввод пробела, арифметического оператора, знакового оператора или полного элемента автозавершения. В такой ситуации элементы массива автозавершения не фильтруются, и ниспадающее окно автозавершения будет включать в себя полный список элементов автозавершения, как указано этапом 1120.

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

Процесс 1100 переходит к этапу 1124, где отфильтрованные элементы включаются в ниспадающее окно для выбора пользователем. Этап 1126 указывает решение в отношение того, выбирается ли или нет элемент автозавершения из ниспадающего окна. Если не выполняется выбор, процесс 1100 возвращается к началу цикла к этапу 1114. Если выполняется выбор, выбор вводится в формульную ячейку, как указано этапом 1128, и процесс 1100 переходит к этапу 1130, где определяется, завершен ли ввод в ячейку. Если ввод в ячейку завершен, процесс 1100 завершается на этапе 1132 завершения. Если ввод в ячейку не завершен, процесс 1100 возвращается к началу цикла к этапу 1114.

Иллюстративная операционная среда

Как показано на фиг.1, примерная система для реализации изобретения включает в себя вычислительное устройство, такое как вычислительное устройство 100. В базовой конфигурации вычислительное устройство 100 обычно включает в себя по меньшей мере один блок 102 обработки данных и системную память 104. В зависимости от точной конфигурации и типа вычислительного устройства системная память 104 может быть энергозависимой (такой как оперативное запоминающее устройство (ОЗУ)), энергонезависимой (такой как постоянное запоминающее устройство (ПЗУ), флэш-память и т.п.) или некоторой комбинацией этих двух. Системная память 104 обычно включает в себя операционную систему 105, одно или несколько приложений 106 и может включать в себя данные 107 программ. Эта базовая конфигурация изображена на фиг.1 посредством тех компонентов, которые расположены внутри пунктирной линии 108.

Вычислительное устройство 100 также может иметь дополнительные признаки или функциональные возможности. Например, вычислительное устройство 100 также может включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. Такое дополнительное запоминающее устройство изображено на фиг.1 посредством съемного запоминающего устройства 109 и несъемного запоминающего устройства 110. Носители данных компьютера могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные по любому методу или технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Системная память 104, съемное запоминающее устройство 109 и несъемное запоминающее устройство 110 все представляют собой примеры носителей данных компьютера. Носители данных компьютера включают в себя, но не в ограничительном смысле, ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ (ЭСППЗУ, EEPROM), флэш-память или память другой технологии, компакт-диск, цифровой многофункциональный диск (DVD) или другое запоминающее устройство на оптических дисках, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может обращаться вычислительное устройство 100. Любой такой носитель данных компьютера может быть частью устройства 100. Вычислительное устройство 100 также может иметь устройство(а) 112 ввода, такое как клавиатура, мышь, перо, устройство ввода речи, устройство сенсорного ввода и т.д. Также может быть включено устройство(а) 114 вывода, такое как дисплей, громкоговорители, принтер и т.д. Все эти устройства известны в технике и нет необходимости их подробно описывать в данном описании.

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

В одном варианте осуществления приложения 106 дополнительно включают в себя приложение 120 для автоматического завершения формульной ячейки в соответствии с настоящим изобретением.

На фиг.2 изображено мобильное вычислительное устройство, которое может использоваться в одном примерном варианте осуществления настоящего изобретения. С ссылкой на фиг.2, одна примерная система для реализации изобретения включает в себя мобильное вычислительное устройство, такое как мобильное вычислительное устройство 200. Мобильное вычислительное устройство 200 имеет процессор 260, память 262, дисплей 228 и клавишную панель 232. Память 262, в основном, включает в себя как энергозависимую память (например, ОЗУ), так и энергонезависимую память (например, ПЗУ, флэш-память или т.п.). Мобильное вычислительное устройство 200 включает в себя операционную систему 264, такую как операционная система Windows CE корпорации Microsoft, или другую операционную систему, которая постоянно находится в памяти 262 и исполняется процессором 260. Клавишной панелью 232 может быть цифровая панель с кнопочным набором номера (такая как на обычном телефоне), многоклавишная клавиатура (такая как обычная клавиатура). Дисплеем 228 может быть жидкокристаллический дисплей или любой другой тип дисплея, обычно используемый в мобильных вычислительных устройствах. Дисплей 228 может быть сенсорным и тогда также служит в качестве устройства ввода.

Одна или несколько программ 266 приложений загружаются в память 262 и выполняются в операционной системе 264. Примеры программ приложений включают в себя программы набора телефонного номера, программы электронной почты, программы планирования, программы организации личной информации (ОЛИ), программы подготовки текстов, программы электронных таблиц, программы браузера Интернет и т.п. Мобильное вычислительное устройство 200 также включает в себя энергонезависимое запоминающее устройство 268 в памяти 262. Энергонезависимое запоминающее устройство 268 может использоваться для хранения долговременной информации, которая не должна быть потеряна при выключении мобильного вычислительного устройства 200. Приложения 266 могут использовать и хранить информацию в запоминающем устройстве 268, такую как сообщения электронной почты или другие сообщения, используемые приложением электронной почты, контактная информация, используемая программами ОЛИ, информация о встречах, используемая программами планирования, документы, используемые приложением подготовки текстов, и т.п.

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

Мобильное вычислительное устройство 200 показано с двумя типами внешних механизмов уведомления: светоизлучающий диод (СИД) 240 и звуковой интерфейс 274. Эти устройства могут быть непосредственно подсоединены к источнику 270 питания, так что при приведении в действие они остаются включенными в течение периода времени, определяемого механизмом уведомления, даже если процессор 260 и другие компоненты могут быть отключены для сохранения энергии батарей. СИД 240 может быть запрограммирован на то, что он остается включенным на неограниченное время до тех пор, пока пользователь не предпримет действие на индикацию включенного состояния устройства. Звуковой интерфейс 274 используется для предоставления звуковых сигналов и приема звуковых сигналов от пользователя. Например, звуковой интерфейс 274 может быть подсоединен к громкоговорителю для предоставления звукового выходного сигнала и к микрофону для приема звукового входного сигнала, таким образом способствуя телефонному разговору.

Мобильное вычислительное устройство 200 также включает в себя уровень 272 радиоинтерфейса, который выполняет функцию передачи и приема сеансов связи, такой как радиочастотная связь. Уровень 272 радиоинтерфейса обеспечивает возможность беспроводного соединения между мобильным вычислительным устройством 200 и внешним миром посредством оператора связи или поставщика услуг. Передачи на уровень 272 радиоинтерфейса и с него выполняются под управлением операционной системы 264. Другими словами, связь, принимаемая уровнем 272 радиоинтерфейса, может передаваться программам 266 приложений при помощи операционной системы 264, и наоборот.

В одном варианте осуществления приложения 266 дополнительно включают в себя приложение 280 для автоматического завершения формульной ячейки в соответствии с настоящим изобретением.

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

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

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

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

4. Реализуемый на компьютере способ по п.1, в котором данные формульной ячейки включают в себя данные электронной таблицы.

5. Реализуемый на компьютере способ по п.1, в котором при отображении списка вариантов автозавершения, ассоциированного с компонентом, который инициирующий признак заключает в себе, группируют множество компонентов и отображают список вариантов автозавершения, ассоциированный со сгруппированными компонентами, которые инициирующий признак заключает в себе.

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

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

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

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

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

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

12. Реализуемый на компьютере способ по п.11, дополнительно содержащий этап, на котором сортируют отсортированный список вариантов автозавершения по второму разу, когда второй знак заключает в себе компонент.

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

14. Считываемый компьютером носитель по п.13, в котором формульная ячейка представляет собой ячейку электронной таблицы.

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

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

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



 

Похожие патенты:

Изобретение относится к способам и форматам файлов для представления презентаций в составленной из компонентов прикладной программе презентаций. .

Изобретение относится к средствам форматирования по условию отображаемых данных. .

Изобретение относится к способам и системам для преобразования иерархической структуры данных в плоскую структуру данных. .

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

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

Изобретение относится к обработке электронных документов, содержащих аннотации, выполненные электронными чернилами. .

Изобретение относится к вычислительной технике. .

Изобретение относится к редактированию записей. .

Изобретение относится к указанию, заданию и обнаружению параметров документов, таких как электронные таблицы или книги

Изобретение относится к способу, системе для гибкого редактирования гетерогенных документов

Изобретение относится к способам редактирования и представления файлов

Изобретение относится к области совместного редактирования документов

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

Изобретение относится к области программ редакторов документов. Техническим результатом является предоставление доступа к информации и состоянию документа и связанным функциям/функциональным возможностям через пользовательский интерфейс внешнего пространства для программы редактора документов. Активатор внешнего пространства выбирают, чтобы осуществлять доступ к пользовательскому интерфейсу (UI) внешнего пространства для программы редактора документов. Активатор внешнего пространства ассоциируется с UI внутреннего пространства, имеющим отображенный документ. Когда выбирают активатор внешнего пространства, UI внешнего пространства отображается, включая в себя расширенную поверхность для выбора функций. UI внешнего пространства может быть использован для отображения одной или более областей состояния для предоставления информации о состоянии документа, редактируемого в UI внутреннего пространства. Функции приложения для внесения изменений в состояние данного документа могут быть представлены во внешнем пространстве интерфейса рядом с ассоциированной информацией о состоянии. Компонент связи UI внешнего пространства может временно отображаться в UI внутреннего пространства, чтобы сообщать информацию о состоянии документа, которая в настоящий момент доступна в UI внешнего пространства. Строка сообщений может быть отображена в UI внутреннего пространства для сообщения информации из UI внешнего пространства. 3 н. и 17 з.п. ф-лы, 15 ил.

Изобретение относится к методикам для модификации, изменения или иного редактирования документа через сеть с удаленного устройства. Техническим результатом является обеспечение адекватно реагирующего пользовательского интерфейса и увеличение скорости выполнения удаленного редактирования документов пользователями без необходимости устанавливать традиционную автономную прикладную программу и без ограничения функциональных возможностей редактирования. Описаны способы и устройства для модификации документа с использованием скрытой поверхности переноса. Устройство может содержать подсистему редактирования документов, содержащую модуль создания поверхности переноса, действующий, чтобы встраивать скрытую поверхность переноса в документ. Модуль управления переносом может быть коммуникативно связан с модулем создания поверхности переноса. Модуль управления переносом может действовать, чтобы принимать запрос переноса на перенос медиа-контента для документа и переносить медиа-контент с использованием скрытой поверхности переноса в ответ на запрос переноса. 3 н. и 17 з.п. ф-лы, 6 ил.

Изобретение относится к средствам для коллективной работы над документами. Технический результат заключается в уменьшении вероятности возникновения конфликтов при совместном редактировании документа. Генерируют метаданные о создании блокировки, которые включают в себя информацию о новой блокировке, которая создается, когда пользователь начинает редактировать часть документа, метаданные об удалении блокировки, которые включают в себя информацию об удалении блокировки, и метаданные о стирании блокировки, которые включают в себя информацию о стирании блокировки. Записывают метаданные о создании блокировки как в канал данных, так и в отдельный канал метаданных. Записывают метаданные об удалении блокировки в канал данных и записывают метаданные о стирании блокировки в канал метаданных. 3 н. и 15 з.п. ф-лы, 6 ил.

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