Spreadsheet Data Manipulation Using Examples
Abstract
Millions of computer end users need to perform tasks over
large spreadsheet data, yet lack the programming knowledge
to do such tasks automatically. We present a programming
by example methodology that allows end users to
automate such repetitive tasks. Our methodology involves
designing a domain-specific language and developing a
synthesis algorithm that can learn programs in that language
from user-provided examples. We present instantiations
of this methodology for particular domains of tasks:
(a) syntactic transformations of strings using restricted
forms of regular expressions, conditionals, and loops, (b)
semantic transformations of strings involving lookup in
relational tables, and (c) layout transformations on spreadsheet
tables. We have implemented this technology as an
add-in for the Microsoft Excel Spreadsheet system and have
evaluated it successfully over several benchmarks picked
from various Excel help forums.