CN107257968A - 发现电子表格中的独特公式集 - Google Patents

发现电子表格中的独特公式集 Download PDF

Info

Publication number
CN107257968A
CN107257968A CN201680012150.1A CN201680012150A CN107257968A CN 107257968 A CN107257968 A CN 107257968A CN 201680012150 A CN201680012150 A CN 201680012150A CN 107257968 A CN107257968 A CN 107257968A
Authority
CN
China
Prior art keywords
formula
unique
cell
group
functionally
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680012150.1A
Other languages
English (en)
Other versions
CN107257968B (zh
Inventor
S·P·克瑞纳克
M·A·马林斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107257968A publication Critical patent/CN107257968A/zh
Application granted granted Critical
Publication of CN107257968B publication Critical patent/CN107257968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

电子表格包括以行和列布置的单元格以及在单元格中的一个或多个单元格内所包含的公式。提供了用于识别和使用电子表格中功能上独特的公式以及对应的独特公式组的系统和方法。通过确定包含功能上独特的公式的一个或多个布置的矩形范围的相邻单元格来识别独特公式组。独特公式组可以被标记以供随后引用并且可以被突出显示以供视觉检查。

Description

发现电子表格中的独特公式集
背景技术
存在许多类型的计算机应用来帮助用户访问和操纵数据,包括电子表格应用。这些应用也可以简单地被称为电子表格。电子表格的非限制性示例包括Excel和Lotus 1-2-3。
电子表格被配置为在行和列的布置中呈现表格。每个单元格可以包含与在其他单元格中包含的一个或多个其他值具有预先定义的关系的值。电子表格让用户定义什么值和什么类型的数据在每个单元格中以及不同的单元格如何彼此依赖。这些关系被称为公式。在电子表格中所呈现的公式可以是非常简单或非常复杂的。
在一些实例中,单个电子表格可以包含许多不同类型的公式,所述公式可以应用于单个单元格和/或整个范围的单元格。电子表格也可以扩展到被组合到单个工作簿中的多个工作表,其中,一个工作表中的公式可以引用在相同工作簿的一个或多个其他工作表中所包含的值。
为了形成公式,人们简单地用单元格引用来替代数学关系中的数字。例如,被定义为“=10*B20*C15”的电子表格公式将产生由十(10)、在单元格B20(位于B列,行20)中包含的值、以及在单元格C15(位于C列、行15)中包含的值的乘积得出的值。由此,如果B20保存五(5)的值并且C15保存二十(20)的值,则所得出的值将是一千(1000)(即10*5*20=1000)。
应当理解的是,关于前述示例,单元格B20和C15也可以保存引用了其他单元格的它们自己的公式,以使得一串的公式可能被链接到一起。将公式链接到一起的该能力是给予电子表格其力量的能力。
一旦创建了特定的公式,则其常常在其他单元格中被复制以使得用户能够探索由该公式所定义的关系对其他数据集的影响。为了便于将公式部署至不同的单元格,电子表格被配置有使得用户能够利用诸如选择和拖拽手势之类的简单的手势将公式从一个单元格复制到另一单元格的功能。然而,该类型的功能仅仅适用于公式从一个单元格被复制到一个或多个紧邻的单元格的情况。在其他情况下,用户必须执行多个手势和/或导航多个菜单来将公式复制并粘贴到其他单元格。
一旦将公式输入到单元格中,从该公式所得出的值就在该单元格内向用户呈现。由此,公式在某种程度上对用户是隐藏的,直到用户实际上选择该单元格或者将焦点引导至该单元格为止。一旦被选择,在分别的字段中呈现该公式,例如在利用电子表格的菜单功能区所呈现的公式字段内。
对公式的检查是重要的以确保公式被正确输入并且促进在一段时间后可能需要的任何编辑。然而,即使检查了字段,记录并检查输入到电子表格中的分别的公式中的每个公式在某种程度上仍然可能是麻烦的,特别是当工作簿包括每个可以跨数百、数千、或甚至更多列和行的一个或多个工作表时。
有时,专用审核软件用于检查电子表格以确定在该电子表格内呈现了哪些个体的公式。该审核软件对于确定电子表格多么复杂和难处理以及可能需要多少时间和多少资源来完全地审核该电子表格内的公式特别有帮助。例如,如果确定电子表格具有五十(50)个独特的公式,则该电子表格有可能被认为比仅仅包含三(3)个独特的公式的电子表格更加难审核。
在本文中所要求保护的主题不限于解决任何缺点或者仅仅在诸如上文中所描述的环境中操作的实施例。相反,仅仅提供了本背景技术以示出在本文中所描述的一些实施例可以在其中实践的一个示例性技术领域。
发明内容
提供了本发明内容以用简化的形式引入在下文的具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
如在本文中所描述的,提供了各种方法、系统、和存储设备,它们用于识别电子表格或其他文档中的公式和独特的公式的数量,以及电子表格或其他文档内存在的独特公式组的数量。
在一个实施例中,计算系统使用解析工具来解析电子表格中经填充的单元格,以识别被确定为包含一个或多个对应的公式的一个或多个单元格。公式评估工具还用于评估一个或多个对应的公式中的每个公式,以确定对应的公式中的哪个公式在功能上是独特的。接着,针对被确定为在功能上是独特的每个公式,该系统检测包含功能上独特的公式的一个或多个矩形范围的相邻单元格。最终,使用独特公式组工具来识别在一个或多个矩形范围的相邻单元格内包含的一个或多个独特公式组的数量。还可以使用标记工具来针对每个独特公式组而生成一个或多个标识符以使得独特公式组能够被发现和/或明显可见。
额外的特征和优点将在随后的描述中被阐述,并且从描述中将部分地显而易见,或者可以通过实践本文中的教导来了解。通过在所附权利要求中特别指出的设备和组合的方式可以实现并获得本发明的特征和优点。本发明的特征将从随后的描述和所附权利要求中变得更完全地显而易见,或可以通过实践如下在文中所阐述的本发明来了解。
附图说明
为了描述可以获得上述的和其他优点和特征的方式,将通过对在附图中所示出的具体实施例进行参考来呈现对在上文中简要描述的主题的更加特定的描述。应当理解的是,这些附图仅仅描绘了典型的实施例,并且因此不被认为在范围上进行限制,通过使用附图而利用额外的特殊性和细节来描述和解释实施例,其中:
图1示出了一种计算系统的实施例,所述计算系统能够用于实现所公开的实施例的方面;
图2A示出了对电子表格中的公式进行A1引用方式检查的示例;
图2B示出了用与在图2A和图3中所示出的公式相对应的值填充的电子表格;
图3示出了对电子表格中的公式进行R1C1引用方式检查的示例;
图4示出了用于识别电子表格中独特公式组的至少一种方法的流程图;
图5示出了一种电子表格界面,其具有以列和行布置的单元格的表格和多个不同的独特公式组以及具有菜单功能区的公式检查字段;
图6示出了一种电子表格界面,其具有以列和行布置的单元格的表格和独特公式组的两个不同的配置;
图7示出了一种电子表格界面,其具有以列和行布置的单元格的表格以及多个不同的独特公式组;
图8示出了用于利用电子表格中的独特公式组的至少一种方法的流程图;以及
图9示出了用于利用电子表格中的独特公式组的至少一种方法的流程图。
具体实施方式
所公开的实施例的一些方面用于解决与电子表格以及对所述电子表格内的公式和独特公式组的利用关联的技术问题。
尽管现有的系统能够识别电子表格中的独特的公式(例如,利用A1和R1C1引用方案),但是目前没有现有的系统被配置为识别与独特的公式相对应的独特公式组。由于该原因,现有的技术在某种程度上是受限的,这使其难以完整和准确地评估和利用电子表格或其他文档内的独特的公式。
在所公开的实施例的一些实施例中,功能上独特的公式是根据R1C1引用方案来识别的。接着,在识别了独特的公式之后,确定与独特的公式对应的独特公式组。接着,独特公式组可以被标记以供随后的引用和/或可以被突出显示以供可视检查和使用。
存在与所公开的实施例相关联的各种技术效果。作为示例,所公开的实施例可以用于提供关于电子表格的复杂性的更加准确的评估,这对于克服与审核电子表格相关联的技术问题中的一些技术问题可以是有帮助的。
所公开的实施例还可以用于在与电子表格接合时提供增强的用户方便性,由此有助于克服与检查和复制电子表格内的公式相关联的技术问题中的一些技术问题。
与所公开的实施例有关的技术效果还可以包括:通过降低将期望的功能应用(手动地或自动地)于电子表格中的一组公式所需的计算机交互和/或处理的数量而改进的用户方便性和效率增益。
现在将参考所公开的实施例来描述用于检测和利用电子表格内的独特的公式和对应的公式组的各种方法、计算系统、和存储设备。
在该说明书和权利要求中,术语“计算系统”被宽泛地定义为包括任何设备或系统(或其组合),其包括至少一个物理的和有形的处理器、以及其上具有能够由处理器执行的计算机可执行指令的物理的和有形的存储器。
如在图1中所示出的,在其最基本的配置中,计算系统100包括至少一个处理单元102和存储器104。存储器104可以是物理的系统存储器,其可以是易失性的、非易失性的、或这两者的某一组合。在本文中还可以使用术语“存储器”来指代诸如物理存储介质之类的非易性大容量存储。如果计算系统是分布式的,则处理、存储器、和/或存储能力也可以是分布式的。
如在本文中所使用的,术语“可执行模块”或“可执行组件”可以指代能够在计算系统上执行的软件对象、例程、或方法。在本文中所描述的不同的组件、模块、引擎、和服务可以被实现为在计算系统上执行的对象或过程(例如,作为分别的线程)。
在随后的描述中,参考由一个或多个计算系统所执行的动作来描述实施例。如果这样的动作是以软件来实现的,则执行所述动作的相关联的计算系统的一个或多个处理器响应于已经执行了计算机可执行指令而引导所述计算系统的操作。例如,这样的计算机可执行指令可以在形成计算机程序产品的一个或多个计算机可读介质上实施。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及所操纵的数据)可以被存储在计算系统100的存储器104中。
计算机可执行指令可以用于实现和/或实例化在本文中所描述的模块和功能,包括参考图4所描述的解析工具、公式评估工具、独特公式组工具、和标记工具,以及参考图4、8、和9所公开的方法所描述的其他功能。
计算系统100还可以包含允许计算系统100通过例如网络110来与其他消息处理器进行通信的通信信道108。
在本文中所描述的实施例可以包括或利用专用的或通用的计算机系统组件,所述计算机系统组件包括诸如一个或多个处理器和系统存储器之类的计算机硬件。所述系统存储器可以在全部的存储器104内被包括。所述系统存储器还可以被称为“主存储器”,并且包括能够由至少一个处理单元格102通过存储器总线来寻址的存储器单元,在该情况下,地址单元被断言在存储器总线本身上。系统存储器在传统上是易失性的,但是在本文中所描述的原理也适用于系统存储器是部分地、甚至完全地非易失的环境中。
在该公开的范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理的和其他计算机可读介质。这样的计算机可读介质可以是能够由通用或专用计算机系统访问的任何可用的介质。存储计算机可执行指令和/或数据结构的计算机可读介质是计算机存储介质。承载计算机可执行指令和/或数据结构的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例可以包括至少两个明显不同类型的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质是存储计算机可执行指令和/或数据结构的物理硬件存储设备。物理硬件存储设备包括计算机硬件,例如RAM、ROM、EEPROM、固态驱动器(“SSD”)、闪速存储器、相变存储器(“PCM”)、光盘存储、磁盘存储或其他的磁存储设备、或者能够用于存储以计算机可执行指令或数据结构为形式的程序代码的任何其他硬件存储设备,所述程序代码能够由通用或专用计算机系统访问和执行以实现本发明的所公开的功能。
传输介质可以包括能够用于承载以计算机可执行指令或数据结构为形式并且能够由通用或专用计算机系统访问的程序代码的网络和/或数据链路。“网络”被定义为能够在计算机系统和/或模块和/或其他电子设备之间实现电子数据的传输的一个或多个数据链路。当通过网络或另一通信连接(硬线、无线、或者硬线或无线的组合)向计算机系统传输或提供信息时,计算机系统可以将该连接视为传输介质。以上的组合也应该被包括在计算机可读介质的范围之内。
以计算机可执行指令或数据结构为形式的程序代码可以从传输介质自动地传输至计算机存储介质(或反之亦然)。例如,通过网络或数据链路所接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,“NIC”)内的RAM中,并且接着最终被传输至计算机系统RAM和/或传输至在计算机系统处的较不易失的计算机存储介质。因此,应当理解的是,计算机存储介质可以被包括在同样(甚至主要地)使用传输介质的计算机系统组件中。
计算机可执行指令包括例如当在一个或多个处理器处执行时,使得通用计算机系统、专用计算机系统、或专用处理设备执行某一功能或一组功能的指令和数据。计算机可执行指令可以是例如二进制的、中间格式指令,例如汇编语言或者甚至源代码。
本领域技术人员应当理解的是,可以在具有许多类型的计算机系统配置的网络计算环境中实践在本文中所描述的原理,所述许多类型的计算机系统配置包括:个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费性电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。
还可以在分布式系统环境中实践本发明,在分布式系统环境中,通过网络(通过硬线数据链路、无线数据链路、或者通过硬线和无线数据链路的组合)链接的本地的和远程的计算机系统两者都执行任务。由此,在分布式系统环境中,计算机系统可以包括多个组成计算机系统。在分布式系统环境中,程序模块可以位于本地的存储器存储设备和远程的存储器存储设备两者中。
本领域技术人员应当理解的是,可以在云计算环境中实践本发明。云计算环境可以是分布式的,而这不是必须的。当是分布式的时,云计算环境可以是在组织内国际性地分布的和/或具有跨多个组织拥有的组件。在该描述和以下权利要求中,“云计算”被定义为用于启用对可配置计算资源(例如,网络、服务器、存储、应用、和服务)的共享池的按需的网络访问。对“云计算”的定义不限于当适当地部署时可以从这样的模型获得的其他多个优点中的任何一个优点。
可替代地或另外地,在本文中所描述的功能可以由或至少部分地由一个或多个硬件逻辑组件执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括:现场可编程门阵列(FPGA)、程序专用集成电路(ASIC)、程序专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
当以软件来实现所公开的方法的所引用的动作时,计算系统100的一个或多个处理器102响应于已经执行了由软件所定义的经存储的计算机可执行指令而执行动作并且引导计算机系统100的操作。没有示出的各种输入和输出设备可以由计算系统使用以根据计算机可执行指令来接收用户输入并且显示输出。
现在将描述用于利用像计算系统100一样的计算系统来实现所公开的实施例的各种方法。
首先关于图2A的示图提供对A1引用方案的描述。如图所示的,用多个不同的固定值来填充电子表格(即,将值五(5)填充在单元格A1中、将值十二(12)填充在单元格B1中、将值八(8)填充在单元格D1中、以及将值三十二(32)填充在单元格F1中)。
也已经用公式填充了电子表格200中的各种其他单元格。总共有36个不同的公式单元格。尽管目前在图2A中示出了公式,但应当理解的是,用户通常将看到从这些公式所得出的值,与在图2B中所示出的类似。
电子表格200中的公式中的许多或全部公式可以是个体地输入的公式。可替代地,所述公式中的许多公式也可以响应于将第一公式拖到相邻的单元格的手势而被自动地输入。作为示例,公式210(=A1+1)可以以单个选择和拖动手势被选择并且一直被向下拖到单元格A10。这将使得单元格A3到A10被填充有现在所示出的公式。类似地,通过将公式220从单元格B2向下拖动到单元格B10,单元格B3至B10可以被自动地填充有所示出的公式。公式230也可以被选择并向下拖动到D10以填充单元格D3至D10。另一方面,单元格F4至F10可以通过共同地选择/突出显示单元格F1和F3的分组并且将该分组向下拖动到单元格F10而被自动地填充。
在前述示例中,所述公式全都通过涉及贯穿列竖直拖动动作的手势而被复制。然而,单元格公式还可以通过水平地沿着行拖动公式的手势而被复制。例如,可以响应于将公式250从单元格A11拖动到单元格B11中来创建公式260。
然而,需要多个分别的输入来将公式250复制到单元格D11和F11中,因为这些单元格不是紧邻着具有相同公式的其他单元格的。这是与现有的电子表格中的公式的使用相关联的一个缺点,特别是当用户不清楚何时可以或不可以将公式跨几个单元格拖动以用新的或经更新的公式来填充单元格时。
作为示例,如果当前在单元格C11中存在值,则用户将不需要知道在该单元格中的值是否是具有与在单元格B11中发现的公式类似的公式的单元格的结果。同样地,对用户而言,在不对每个单元格执行分别的检查的情况下,可能难以知道单元格B11中的公式是否与单元格A11中的公式相同。当存在许多不同的公式要检查时,这可能是非常麻烦的。
现在,回到A1引用方式,应当注意的是,单元格A2至A10、B2至B10、以及D2至D10中的所有公式在功能上是相同的。特别地,它们全都需要将数字一(1)加到其列中先前的单元格的值上,以使得在单元格A2中所呈现的值将被显示为数字六(6),在单元格A3中所呈现的值将被显示为数字七(7),以此类推(如在图2B中所示出的)。
在单元格F6、F8、和F10中所呈现的公式在功能上也是相同的。特别地,它们需要将数字一(1)加到在该列中往上两行所发现的单元格的值上。作为进一步的示例,公式250、260、270、和280在功能上也是相同的。特别地,它们全都需要对在与其相同列的行1-10对应的单元格中所发现的所有值的总和进行求和。
然而,尽管公式间的功能相同,但当每个公式与电子表格中的任何其他公式被不同地陈述时,A1引用需要将每个公式视为是独特的。因此,根据A1引用,图2的电子表格200将被认为具有三十六(36)个独特的公式。
图3描绘了用于识别电子表格中的独特的公式的另一方法。根据被称为R1C1引用方式的该方法,仅仅当公式在功能上相对于电子表格中的任何其他公式是独特的情况下,公式才是独特的。为了示出该方法,将图2A中的公式在图3中重写以反映它们的相关功能。
例如,在单元格A2到A10、B2到B10、D2到D10、以及F2中所发现的所有公式都被写为“=R[-1]C+1”。这意味着这些单元格中的每个单元格中的值与在同一列中往上一行所发现的单元格的值相同,加上值一(1)。同样地,单元格F4、F6、F8、和F10中的公式全都被重写为“=R[-2]C+1”,由此需要在这些单元格中的值与同一列中往上两行所发现的值相同,加上值一(1)。在行十一(11)中所发现的最后一组公式也在功能上全都是相同的。由此,它们被重写为“=SUM(R[-10]C:R[-1]C)”以反映它们的相关功能(例如,对它们的组成列的先前10行中的所有单元格求和)。根据该R1C1方法,仅仅存在三个独特的公式,即,=R[-1]C+1、=R[-2]C+1、以及=SUM(R[-10]C:R[-1]C)。
在一些实例中,相比于A1引用方式(其针对相同的数据发现了30个独特的公式),从R1C1引用方式中识别三个独特的公式对于审核而言更加准确。对此的原因是实际上仅仅需要检查三个独特的公式的准确性来确保它们在某些环境下被准确地应用。然而,即使利用R1C1,也存在导致某一等级的不准确的技术问题。特别地,由于一些电子表格的复杂性所导致的,当单个公式在不同的上下文(例如,不同的工作表、针对不同组的数据等)中出现时,不清楚所述单个公式是否应该以相同的方式而被应用。例如,如果在与另一组单元格完全间隔开某一距离的一组单元格中发现了该公式,则有可能将这两组单元格应用于不同的上下文。每个上下文可能需要被分别地审核以验证使用了正确的公式。
额外地,如果用户想要将经修改的公式复制到包含不正确的公式的多个单元格中,则目前在不进入到每个单元格中以验证在这些单元格中正在使用哪个公式的情况下,用户没有办法知道其间可以复制新的公式的边界。
本实施例通过识别与独特的公式关联的独特公式组,可以用于解决与现有的电子表格系统相关联的前述技术问题中的一些问题。例如,一旦识别出独特公式组,则有可能快速并且容易地知道针对单元格的整个范围的边界是什么、可以在哪个中通过单个拖动手势来复制公式。
与先前通过仅仅知道独特的公式的数量可能的相比,知道在电子表格中存在的独特公式组的数量也可以提供对用于审核的复杂度的更准确的评估。
图4示出了用于识别电子表格中的独特公式组的至少一种方法的流程图。根据该方法,计算系统使用解析工具来识别在被确定为包含一个或多个对应的公式的电子表格中的一个或多个单元格(动作410)。这可以包括解析电子表格中的每个单元格,当电子表格包括具有多个工作表的工作簿时包括多个不同的工作表中的每个单元格。在其他实施例中,这可以包括仅仅解析经填充的和/或包含某些类型的数学运算符、操作符、或字符串的单元格。
公式评估工具还用于评估一个或多个对应的公式中的每个公式,以确定对应的公式中的哪些公式在功能上是独特的(动作420)。这可以例如通过使用R1C1的方法来确定每个公式的相关功能来完成。在图2B中示出的电子表格200的实例中,这意味将使用R1C1的方法(在图3中示出)识别出三十六(36)个公式单元格,其中只有三(3)个被发现是独特的。尽管不一定是优选的,但也可以使用A1的方法或其他的方法来满足某些需要和期望。
尽管一些现有的系统可以确定电子表格中的独特公式的数量(使用A1或R1C1),但没有现有的系统识别或量化与这些公式对应的独特公式组。本公开的实施例通过针对每个功能上独特的公式来检测包含该功能上独特的公式的一个或多个矩形范围的相邻的单元格(即,发现紧邻具有同一功能上相同的公式的其他单元格的单元格的范围)来这样做。
独特公式组工具还用于从共享同一功能上独特的公式的相邻的单元格的一个或多个矩形范围中识别一个或多个独特公式组的数量(动作440)。在下文中所描述的一些实例中,这可以包括识别包含独特的公式的最小数量的矩形区域的配置,并且其中,包含独特的公式的每个单元格都被包括在该配置中。该最小数量的矩形可以由一个单元格组成或者包括至少两个或更多个相邻的单元格。
参考图3,识别包含功能上独特的公式的矩形范围的相邻单元格的动作和从矩形区域中识别独特公式组的数量的动作将导致发现电子表格300具有十(10)个分别的独特公式组,它们被识别为组310、组312、组314、组320、组322、组324、组330、组332、组334、以及组336。
应当注意的是,组310、312、314、和320全部被识别为分别的组,这是因为它们不是仅仅包含功能上独特的公式的单个矩形范围的相邻单元格的一部分。同样地,组320、322、和324被认为是分别的独特公式组,即使它们在相同的行中,这是因为将所有这些单元格都限制到单个矩形范围的相邻单元格中是不可能的,其中矩形范围中的每个单元格都包含功能上独特的公式。对于组330、332、334、和336同样如此,它们全部都在相同的列中被顺序地列出。
在识别出独特公式组之后,可以通过标记工具来标记它们以针对每个独特公式组而生成一个或多个标识符(动作450)。所述标识符可以包括元数据、索引数据、或对于用户可见的图形对象。
在一个实施例中,响应于用户输入提示所述识别,以不同的颜色来突出显示(针对包含独特公式组的每个单元格采用一种颜色、阴影、或字体)独特公式组中的每个独特公式组。例如,在图5中,示出了包括多个不同的独特公式组(即,510、512、514、516、520、530、540、542、550和560)的电子表格500。这些不同的公式组中的每一个可以是不同的颜色、阴影、或字体。
如所反映的,独特公式组可以各自与不同的公式、或相同的公式对应,以使得至少两个独特公式组共同共享功能上独特的公式。还可以利用相似但是不同的突出显示(例如,相同颜色的不同的色调或深浅)来反映不同类型的公式组之间的区别。例如,作为示例,全部与公式1对应的公式组510、512、514、和516都可以涂上不同色调的绿色,而都与公式4对应的独特公式组540和542可以都是不同深浅的蓝色。
在一些实例中,标记包括针对电子表格中的每个独特公式组的功能上独特的公式而可视地进行标识。这可以包括突出显示单个工作表中的每个对应的单元格和/或单个工作簿的多个不同的工作表中的每个对应的单元格。
用于使得触发前述功能的用户输入可以是从菜单图标或命令的简单选择。在一些实例中,菜单图标被呈现在电子表格的主菜单选项内,例如图标570,其可以被呈现在电子表格500的功能区域572(或相关的菜单)内。在其他实例中,当用户将光标580悬停在包含该公式的特定单元格(例如,单元格D7)上或者选择或将焦点引导至所述单元格时,以弹出窗口方式向用户呈现图标570。
在另一其他实例中,仅仅突出显示了被选择的独特公式组。例如,当用户选择公式图标570时,包含公式的特定的单元格,或者当用户在公式字段(例如,字段590)中输入公式时,系统可以限制性地仅仅突出显示包含当前被标识的或聚焦的对应的公式的独特公式组。例如,当公式1被选择或被输入时,可以给用户呈现在图7中所示出的独特公式组配置。这可以包括将在电子表格700的其他单元格中所示出的内容/公式变暗或省略。
对独特公式组的标记还可以包括提交输出,所述输出包括反映电子表格中的独特公式组的数量的具体数字。这对于审核系统/过程而言是特别有用的。可以响应于选择了图标570或响应于其他用户输入而以数字数据(例如,数据592)的形式向用户呈现该数字。审核软件也可以从在与该电子表格相关联的和/或附接至该电子表格的一个或多个数据字段中所包含的元数据和其他数据中获得独特公式组的数量。
在其他的实施例中,所公开的实施例包括响应于用户输入而生成标识总的公式单元格的数量、独特公式组的数量、和/或独特的公式的数量的界面对象或新的界面。
现在将注意力转向图6,其进一步示出了可以标识和标记独特公式组的一些不同的方式。如所示出的,电子表格600包括独特公式组的两个不同的分组(即,分组610和分组620),一般而言与在图5中的单元格G5、H5、和H6中所发现的公式组相关。
如图所示,分组610和620各自包括与公式4对应的一对独特公式组。然而,利用不同的配置来识别和可视地呈现每个分组中的公式组。例如,分组610包括由沿着列或竖直对齐配置的矩形范围所定义的公式组612和614。在另一方面,分组620包括由水平的或行对齐配置的矩形范围所定义的公式组622和624。用户可以通过经由菜单选项来提供用户输入和/或通过依赖默认设置来定义将利用哪个(些)配置选项。
图7示出了电子表格700的另一实施例,其中识别出各种独特公式组。被识别为组710、720、730、740、750、和760的这些公式组各自被配置为包含同一功能上相同的公式的分别的矩形范围的相邻单元格。然而,应当注意的是,由该配置所定义的独特公式组的数量是六(6),其多于其所需要的。例如,图5示出了具有对包含公式1的单元格的类似的呈现的电子表格500。然而,在图5中,与公式1对应的独特公式组被限制为四(4)个,即,组510、512、514、和516。
在图7中所示出的对独特公式组的识别可以包括行第一且列第二的分析,其中,包含公式的行中的所有相邻的单元格都被识别,并且接着通过以下方式来定义该矩形范围:仅仅当随后的行具有确切相同数量的包含该公式的单元格并且紧邻第一行中的单元格时,加上在该行之下包含该公式的任何额外的单元格的组。
然而,也可以通过以下方式来使用列第一行第二分析,识别在特定列中包含同一公式的所有单元格,并且接着,当相邻的列包含与该特定列中数量相同的包含该公式的单元格且其紧邻特定列中包含同一公式的单元格时,从相邻的列将额外的单元格添加至该范围。这将得出在图5中示出的结果。
在某些环境中,前述的过程可以是理想的以在不需要执行其他经细化的处理的情况下,加速识别独特公式组的所公开的过程。
在其他实施例中,执行前述的过程和/或其他过程两者以针对每个独特的公式来确定最小数量的独特公式组。
可以使用的一个另外的过程包括识别共享同一功能上独特的公式(例如,公式1)且其各自无法共享任何共同的边界的至少两个分别的矩形范围的相邻单元格,以使得在这至少两个分别的矩形范围的相邻单元格中的每个单元格之间至少存在一个行或一个列。在该实例中,共享该功能上独特的公式并且无法共享任何共同的边界的分别的矩形范围的相邻单元格中的每个单元格被识别为分别的独特公式组(例如,组516和514)。
在另一实施例中,识别一个或多个独特公式组的数量的过程包括识别与单个独特公式组直接接触的一个或多个相连接的矩形范围的相邻单元格,其中,一个或多个相连接的矩形范围的相邻单元格中的每个单元格也包含功能上独特的公式。当确定在限定第一个矩形范围和相连接的矩形范围中的每一个额外的范围的矩形边界内的每个单元格都包含功能上独特的公式时,所述额外的范围也作为单个独特公式组的一部分而包括在内。当确定限定第一个矩形范围和所述特定的范围的矩形边界内的每个单元格无法包含功能上独特的公式时,这可以包括将相连接的矩形范围的任何特定的范围从单个独特公式组中省略或排除的过程。
关于前文,当来自一个或多个相连接的矩形范围的第一单元格直接临接于单个独特公式组中的第二单元格直接相邻时,一个或多个相连接的矩形范围的相邻单元格被确定为与单个独特公式组直接接触,以使得在第一单元格与第二单元格之间在水平或竖直的方向上存在共同的边界,其中,没有额外的单元格位于第一单元格与第二单元格之间。
在许多实施例中,一个或多个独特公式组中的每个独特公式组是非重叠的独特公式组,这使得一个或多个独特公式组的每个单元格仅仅出现在独特公式组中的单个独特公式组中。在其他实施例中,当公式组是由部分的公式所定义的并且一些组共享相同的部分公式时,独特公式组可以重叠。这对一些审核系统而言可能是有益的。
现在将注意力转向图8,其示出了用于识别和利用独特的公式和独特公式组的方法的另一流程图800。在该实施例中,用户提供识别公式的输入(动作810)。这可以通过在单元格或字段中键入公式来明确,或通过突出显示、选择、或聚焦公式来明确。
接下来,关于在电子表格中是否存在任何其他相同的公式来进行确定(动作820)。该过程以及其他所公开的过程可以实时地进行,例如通过利用后台线程来解析电子表格。
接着,利用一个或多个标识符来通知用户关于存在任何其他功能上相同的公式和/或包含功能上独特的公式的独特公式组(动作830)。如在上文中所指示的,这可以包括呈现各种形式的输出。在一些实例中,所述输出包括以图形方式突出显示对应的单元格(动作840),修改在公式字段、单元格、或另一位置中对用户输入公式的呈现(动作850),显示图标(动作860)、和/或呈现发现功能上相同的公式的位置(例如,工作表、列、行、单元格等)的列表。
也可以对不同的独特公式组进行区分,以向用户反映独特公式组的边界(动作880)。这在用户正尝试通过单个选择和拖动手势来将公式复制到整个组时可以特别有用。
在图9中示出的最后的流程图900示出了用于识别和利用独特的公式和独特公式组的另一方法。在该实施例中,在包含公式的单元格处检测到用户输入(动作910)。可替代地,可以检测到针对电子表格中的公式的其他用户输入(动作920),例如通过从菜单中选择公式或者通过键入或选择公式字段中的公式。
接着,响应于用户输入,系统自动地识别电子表格中的公式的每个实例(动作930)。这可以包括以图形方式突出显示包含公式的单元格(动作940)和/或通过列出包含公式的单元格来突出显示。不同的独特公式组还可以如在上文中所描述的那样利用位置列表和/或图形突出显示而被可视地区分(动作960)。
应当理解的是,所公开的实施例的技术特征可以用于以帮助解决通常与如上文所描述的电子表格接合和审核相关联的一些技术问题的方式来促进电子表格中的独特的公式和独特公式组的识别和利用。
尽管已经用特定于结构特征和/或方法动作的语言描述了该主题,但是应当理解的是,在所附权利要求书中所定义的主题不一定限于在上文中所描述的特征或动作,或者在上文中所描述的动作的顺序。相反,所描述的特征和动作是作为实现权利要求的示例性形式而公开的。因此,落入权利要求的含义和等同的范围之内的所有改变都被包含在其范围之内。

Claims (10)

1.一种计算系统,包括:
一个或多个处理器;
计算机可读介质,其包括存储在其上的计算机可执行指令,其中所述计算机可执行指令当由所述一个或多个处理器执行时,使得所述一个或多个处理器将所述计算系统配置有执行用于确定电子表格中的独特公式组的计算机实现的方法的系统架构,并且其中,所述计算机实现的方法包括:
利用解析工具来解析所述电子表格中经填充的单元格以识别被确定为包含一个或多个对应的公式的一个或多个单元格;
利用公式评估工具来评估所述一个或多个对应的公式中的每个公式以确定所述对应的公式中的哪些公式在功能上独特;
针对被确定为功能上独特的每个公式而检测包含所述功能上独特的公式的一个或多个矩形范围的相邻单元格;
利用独特公式组工具,从共享同一功能上独特的公式的所述一个或多个矩形范围的相邻单元格中识别一个或多个独特公式组的数量;以及
利用标记工具,针对每个独特公式组而生成一个或多个标识符。
2.根据权利要求1所述的计算系统,其中,所述一个或多个标识符包括附接至所述电子表格并且能够通过电子表格审核软件发现的元数据。
3.根据权利要求1所述的计算系统,其中,所述一个或多个标识符将每个独特公式组在视觉上区分开。
4.根据权利要求3所述的计算系统,其中,至少两个独特公式组共同共享所述功能上独特的公式。
5.根据权利要求1所述的计算系统,其中,利用所述独特公式组工具来识别一个或多个独特公式组的所述数量包括:
将其中每个对应的单元格包含功能上独特的公式的第一矩形范围的相邻单元格定义为单个独特公式组。
6.根据权利要求5所述的计算系统,其中,利用所述独特公式组工具来识别一个或多个独特公式组的所述数量还包括:
识别与所述单个独特公式组直接接触的、一个或多个相连接的矩形范围的相邻单元格,其中,所述一个或多个相连接的矩形范围的相邻单元格中的每个单元格也包含所述功能上独特的公式;
当确定限定所述第一矩形范围和所述相连接的矩形范围的每个额外的范围的矩形边界内的每个单元格包含所述功能上独特的公式时,将所述额外的范围作为所述单个独特公式组的一部分而包括在内;以及
当确定限定所述第一矩形范围和所述相连接的矩形范围的任何特定范围的矩形边界内的每个单元格没有包含所述功能上独特的公式时,将所述特定范围从所述单个独特公式组中排除。
7.根据权利要求6所述的计算系统,其中,当来自所述一个或多个相连接的矩形范围的第一单元格直接临接于所述单个独特公式组中的第二单元格时,所述一个或多个相连接的矩形范围的相邻单元格被确定为与所述单个独特公式组直接接触,以使得所述第一单元格与所述第二单元格之间在水平方向或者在竖直方向上存在共同的边界,其中,没有额外的单元格位于所述第一单元格与所述第二单元格之间。
8.根据权利要求6所述的计算系统,其中,利用所述独特公式组工具来识别一个或多个独特公式组的所述数量还包括:
识别所述电子表格内包含所述独特的公式的每个单元格;以及
识别包含所述独特的公式的最小数量的矩形区域的配置,并且其中,包含所述独特的公式的每个单元格被包括在所述配置中。
9.一种计算可读介质,其包括存储在其上的计算机可执行指令,其中所述计算机可执行指令当由计算系统的一个或多个处理器执行时,使得所述一个或多个处理器执行用于确定电子表格中的独特公式组的计算机实现的方法,其中,所述计算机实现的方法包括:
解析所述电子表格中经填充的单元格以识别被确定为包含一个或多个对应的公式的一个或多个单元格;
评估所述一个或多个对应的公式中的每个公式以确定所述对应的公式中的哪些公式在功能上独特;
针对被确定为功能上独特的每个公式而检测包含所述功能上独特的公式的一个或多个矩形范围的相邻单元格;
从共享同一功能上独特的公式的所述一个或多个矩形范围的相邻单元格中识别一个或多个独特公式组的数量;以及
可视地标识所述一个或多个独特公式组。
10.一种用于在文档中确定独特公式组的计算机实现的方法,所述计算机实现的方法是由执行针对所述计算机实现的方法的计算机可执行指令的一个或多个处理器执行的,并且所述计算机实现的方法包括:
解析所述电子表格中经填充的单元格以识别被确定为包含一个或多个对应的公式的一个或多个单元格;
评估所述一个或多个对应的公式中的每个公式以确定所述对应的公式中的哪些公式在功能上独特;
针对被确定为功能上独特的每个公式而检测包含所述功能上独特的公式的一个或多个矩形范围的相邻单元格;
从共享同一功能上独特的公式的所述一个或多个矩形范围的相邻单元格中识别一个或多个独特公式组的数量;以及
可视地标识所述一个或多个独特公式组。
CN201680012150.1A 2015-02-27 2016-02-25 发现电子表格中的独特公式集 Active CN107257968B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/634,574 US9772988B2 (en) 2015-02-27 2015-02-27 Finding unique formula sets in spreadsheets
US14/634,574 2015-02-27
PCT/US2016/019434 WO2016138189A1 (en) 2015-02-27 2016-02-25 Finding unique formula sets in spreadsheets

Publications (2)

Publication Number Publication Date
CN107257968A true CN107257968A (zh) 2017-10-17
CN107257968B CN107257968B (zh) 2020-11-03

Family

ID=55487167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680012150.1A Active CN107257968B (zh) 2015-02-27 2016-02-25 发现电子表格中的独特公式集

Country Status (4)

Country Link
US (1) US9772988B2 (zh)
EP (1) EP3262527B1 (zh)
CN (1) CN107257968B (zh)
WO (1) WO2016138189A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728124A (zh) * 2019-10-15 2020-01-24 深圳逻辑汇科技有限公司 用于可视化电子表格的方法、装置、设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10180934B2 (en) 2017-03-02 2019-01-15 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US10936804B2 (en) * 2018-07-27 2021-03-02 Microsoft Technology Licensing, Llc Spreadsheet cell calculation view providing multiple-representation editing
US11409502B2 (en) 2019-05-06 2022-08-09 Bank Of America Corporation Intelligent controls for end-user computing
US11922003B2 (en) * 2022-07-21 2024-03-05 Salesforce, Inc. Reflecting data input into fields of a scrollable user interface

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011211A1 (en) * 2005-02-14 2007-01-11 Andrew Reeves Auditing and tracking changes of data and code in spreadsheets and other documents
US7177855B2 (en) * 2001-06-20 2007-02-13 Oracle International Corporation Compile-time optimizations of queries with SQL spreadsheet
CN101710347A (zh) * 2009-12-23 2010-05-19 金蝶软件(中国)有限公司 一种对数据表中的数据进行处理的方法和装置
US20110314365A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Decompiling loops in a spreadsheet
CN102819523A (zh) * 2012-07-23 2012-12-12 珠海金山办公软件有限公司 一种在电子表格中确定公式当前编辑范围的方法及装置
CN102982016A (zh) * 2011-12-05 2013-03-20 微软公司 用于电子表格应用程序的快速分析工具
CN103218448A (zh) * 2013-04-26 2013-07-24 中国农业银行股份有限公司 自助式报表生成方法、装置与系统
US20140108899A1 (en) * 2012-10-15 2014-04-17 International Business Machines Corporation Data filtering based on a cell entry

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255356A (en) 1989-05-31 1993-10-19 Microsoft Corporation Method for hiding and showing spreadsheet cells
US6256649B1 (en) 1998-06-17 2001-07-03 Xerox Corporation Animated spreadsheet for dynamic display of constraint graphs
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US6990480B1 (en) 2000-09-18 2006-01-24 Trancept Limited Information manager method and system
US7010779B2 (en) 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US7650576B2 (en) 2002-03-07 2010-01-19 Business Objects Americas Method and system for creating graphical and interactive representations of input and output data
US7213199B2 (en) * 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US20060224946A1 (en) 2005-03-31 2006-10-05 International Business Machines Corporation Spreadsheet programming
US8161373B2 (en) 2007-08-06 2012-04-17 Apple Inc. Preventing the inclusion of a reference to a host cell in a formula
US20100050264A1 (en) * 2008-08-21 2010-02-25 Russell Aebig Spreadsheet risk reconnaissance network for automatically detecting risk conditions in spreadsheet files within an organization
US20100049746A1 (en) * 2008-08-21 2010-02-25 Russell Aebig Method of classifying spreadsheet files managed within a spreadsheet risk reconnaissance network
US20100049565A1 (en) 2008-08-21 2010-02-25 Russell Aebig Method of computing spreadsheet risk within a spreadsheet risk reconnaissance network employing a research agent installed on one or more spreadsheet file servers

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177855B2 (en) * 2001-06-20 2007-02-13 Oracle International Corporation Compile-time optimizations of queries with SQL spreadsheet
US20070011211A1 (en) * 2005-02-14 2007-01-11 Andrew Reeves Auditing and tracking changes of data and code in spreadsheets and other documents
CN101710347A (zh) * 2009-12-23 2010-05-19 金蝶软件(中国)有限公司 一种对数据表中的数据进行处理的方法和装置
US20110314365A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Decompiling loops in a spreadsheet
CN102982016A (zh) * 2011-12-05 2013-03-20 微软公司 用于电子表格应用程序的快速分析工具
CN102819523A (zh) * 2012-07-23 2012-12-12 珠海金山办公软件有限公司 一种在电子表格中确定公式当前编辑范围的方法及装置
US20140108899A1 (en) * 2012-10-15 2014-04-17 International Business Machines Corporation Data filtering based on a cell entry
CN103218448A (zh) * 2013-04-26 2013-07-24 中国农业银行股份有限公司 自助式报表生成方法、装置与系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728124A (zh) * 2019-10-15 2020-01-24 深圳逻辑汇科技有限公司 用于可视化电子表格的方法、装置、设备及存储介质
CN110728124B (zh) * 2019-10-15 2021-01-08 深圳逻辑汇科技有限公司 用于可视化电子表格的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2016138189A1 (en) 2016-09-01
EP3262527B1 (en) 2018-12-19
EP3262527A1 (en) 2018-01-03
CN107257968B (zh) 2020-11-03
US9772988B2 (en) 2017-09-26
US20160253307A1 (en) 2016-09-01

Similar Documents

Publication Publication Date Title
Abdul et al. Trends and trajectories for explainable, accountable and intelligible systems: An hci research agenda
Hayden IT security metrics: A practical framework for measuring security & protecting data
Moore MATLAB for Engineers
CN107257968A (zh) 发现电子表格中的独特公式集
Bauer et al. GOing Bayesian: model-based gene set analysis of genome-scale data
US20170161121A1 (en) Codeless Generation of APIs
Innes et al. scClustViz–Single-cell RNAseq cluster assessment and visualization
CN104350475B (zh) 可视化的代码审阅
Zhang et al. Empirical research in software engineering—a literature survey
CA2814339C (en) Circuit visualization using flightlines
US20160110316A1 (en) Generating a document preview
US9910487B1 (en) Methods, systems and computer program products for guiding users through task flow paths
CN109388376A (zh) 软件开发风险评估方法、装置、设备及可读存储介质
CN107239403A (zh) 一种问题定位方法和设备
Alotaibi et al. Automated detection of talkback interactive accessibility failures in android applications
US9880991B2 (en) Transposing table portions based on user selections
Goktug et al. GUItars: a GUI tool for analysis of high-throughput RNA interference screening data
US20200342471A1 (en) Computer system and method for electronic survey programming
Marenkov et al. Guideliner: A tool to improve web UI development for better usability
CN109800147B (zh) 一种测试案例生成方法及终端设备
CN110209572A (zh) 用户界面测试方法、用户界面测试系统及终端
CN107272989B (zh) 应用启动方法、装置及终端设备
US20150169433A1 (en) Automated Generation of Semantically Correct Test Data for Application Development
CN107562423A (zh) Ui页面开发方法及装置
US9275358B1 (en) System, method, and computer program for automatically creating and submitting defect information associated with defects identified during a software development lifecycle to a defect tracking system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant