1. 概述
本文主要介绍在Word报告中公式的相关用法。
公式书写要求:
1)Word 里面插入公式时不需要格式嵌套。例如:插入一个单元格的写法是:{{=M3}},此时如果想要对这个单元格求和,正确的写法是:{{=SUM(M3)}},求和公式括号里面的单元格不要再加公式格式了,也就是不要错写成:{{=SUM({{=M3}})}}
2)Word 里面插入公式不支持引用层次坐标。
3)在实际开发时,可能不止是 if else 两个判断这么简单,有的时候会有多个条件判断。
例如:分析指标时一般会有 3 个判断:上升、下降、持平。
这样的多条件判断需要通过 if 嵌套的方式实现,公式逻辑是:if(condition,result1,(if(condition,result2,result3)))
举个例子:{{=if(N23<0,"下降"+format(N23*-1," #0.0%"),if(N23>0,"增长"+ format(N23," #0.0%"),"持平"))}}
重复动态文本控件:
1)控件中的参数不参与重复,若想重复参数需要添加=,例如自定义参数为:{{=$a}},在控件中引用需要输入:{{==$a}}
2)重复文本最好单独成行,不要跟其他文字在一个段落中间使用,会出现换行或识别为正常公式等问题。
3)重复文本控件中不推荐在公式的参数中使用单元格,否则会存在语义问题,可以转换为间接引用。
2. 引用单元格
Word 报告中可以通过在公式中引用当前模板中的单元格来进行显示相关内容,如下表所示:
单元格是否扩展 | 公式写法 | 公式结果 |
---|---|---|
否 | {{=A2}} | 显示当前单元格中的内容。 例如:A2 中内容为 1、2、3,则公式结果为 1、2、3 |
是 | {{=A2}} | 显示 A2 单元格所有扩展内容中的最后一个结果。 例如:A2 中内容为 1~10,则公式结果为 10 |
是 | {{=A2!}} | 显示 A2 单元格所有扩展内容,并所有扩展结果添加到集合中转换为字符串。 例如:A2 中内容为 1~10,则公式结果为 1~10 |
Word 中公式不支持引用其他模板中的单元格,但支持引用当前模板中其他 sheet 页的单元格,若引用当前模板中其他 sheet 页中的单元格,则如下表所示:
单元格是否扩展 | 公式写法 | 公式结果 |
---|---|---|
否 | {{=1:A2}} | 1表示 sheet 的索引坐标,A2 表示是对应 sheet 中的单元格。显示 sheet2 中的 A2 单元格中的内容。 例如:A2 中内容为 1、2、3,则公式结果为 1、2、3 |
是 | {{=1:A2}} | 1表示 sheet 的索引坐标,A2 表示是对应 sheet 中的单元格。显示 sheet2 中的 A2 单元格所有扩展内容中的最后一个结果。 例如:A2 中内容为 1~100,则公式结果为 100 |
是 | {{=1:A2!}} | 1表示 sheet 的索引坐标,A2 表示是对应 sheet 中的单元格。显示 A2 单元格所有扩展内容,并所有扩展结果添加到集合中转换为字符串。 例如:A2 中内容为 1~100,则公式结果为 1~100 |
3. 重复动态文本中引用公式
重复动态文本控件中重复次数支持使用公式表示内容需要重复的次数,同时需要重复的内容也支持使用公式来进行引用,当单元格内容与重复动态文本控件结合使用时,如下表所示:
重复次数 | 重复内容中使用公式 | 公式结果 |
---|---|---|
3 | {{=SUM(1,3)}} | 公式只有一个结果,默认只有第一个控件能取到结果值,其他控件为空值。 |
3 | {{==SUM(1,3)}} | 表示所有文本控件沿用这一个结果,所有文本控件中的值都是一个结果。 |
3 | {{=RANGE(1,3)}} | 公式结果是扩展的,每个文本控件取一个值,三个文本控件分别取值为 1,2,3。 |
3 | {{=A2!}} | A2 是扩展单元格,每个文本控件取一个单元格扩展结果值。 |