标签: formulas

生成Open XML Word文档后自动更新公式字段

我有一个使用OpenXML SDK生成Word文档的库,该库的一个功能是生成最后一行(例如SUM(ABOVE))公式的表.

Word具有内置的这些功能,但在生成文档时,我必须假设Word未安装在计算机上.

问题是,如果我只是生成表格和公式字段,它将不会在打开文档时自动更新,用户必须打开文档并手动选择"更新字段"才能计算函数.

有没有办法在代码中执行此操作(无需手动计算功能)?

c# ms-word openxml formulas

6
推荐指数
1
解决办法
3919
查看次数

ArrayFormula 连接中的过滤器(Google 电子表格)

我进行了长时间的搜索,但找不到我要找的东西。也许有人可以帮忙?

我的 Google 电子表格中有这个公式(我将在下面解释它的作用):

=Join(" ",FILTER(Sheet1!B:B;Sheet1!A:A=A1))
Run Code Online (Sandbox Code Playgroud)

表 1 中有一个表格:A 列是名字(例如“James”),B 列是一些评论(例如“Headache”)。James(或任何其他人)可能有多行,每行都有不同的注释(例如 James 有 2 行,一行说“头痛”,另一行说“膝盖疼痛”。)

在工作表 2 的 A 列中,我有一个出现在工作表 1 中的名称列表(使用“=UNIQUE”公式)。A1 写着“詹姆斯”。在单元格 B1 中我输入上述公式。

结果几乎正是我想要的。它将詹姆斯的所有评论连接到一个单元格中,每个评论之间有一个空格“”。因此,单元格 B1 中的结果是:“头痛、膝盖疼痛”。

但是,我必须将此公式拖到下面的所有单元格中。有谁知道我如何才能像我过去使用过的所有其他数组公式一样,其中公式自动填充下面的所有单元格?我尝试将其设为数组公式,但没有成功。

我也一直在尝试这个公式,它给了我相同的结果“头痛膝盖疼痛”,但公式​​仍然不会复制到下面的单元格中。

=SUBSTITUTE(Arrayformula(concatenate(FILTER(Sheet1!B:B;Sheet1!A:A=A1)&" "; "|"));" |";"")
Run Code Online (Sandbox Code Playgroud)

如果有人知道如何实现这一目标,我将非常感激 - 非常感谢您的宝贵帮助。

感谢您的关注!

formulas google-sheets array-formulas

5
推荐指数
1
解决办法
1万
查看次数

查找、匹配和连接

我需要一个公式/函数来连接一列和多行的单元格值。匹配条件应用于不同的列。这是我必须做的事情的例子:

Islington | "Bunhill"   | EC2M  
Islington | "Bunhill"   | EC2Y  
Islington | "Bunhill"   | N1  
Barnet    | "Burnt Oak" | HA8  
Barnet    | "Burnt Oak" | NW7  
Barnet    | "Burnt Oak" | NW9  
Run Code Online (Sandbox Code Playgroud)

最终结果需要如下所示:

Islington | "Bunhill"   | EC2M, EC2Y, N1  
Barnet    | "Burnt Oak" | HA8, NW7, NW9 
Run Code Online (Sandbox Code Playgroud)

基本上,我需要删除第二列中的所有重复项,但保存与每个重复项配对的第三列中的数据,并将其连接到一个单元格中。

lookup concatenation formulas google-sheets google-apps-script

5
推荐指数
2
解决办法
5139
查看次数

QUERY Google Sheets 函数中同一字符串中的引号和撇号

我想知道如何处理这样的查询。假设我在电子表格的单元格 A2 中包含以下文本:

Case Bakers' Flats 12" White Flour Tortillas 10/12ct
Run Code Online (Sandbox Code Playgroud)

并需要将以下公式放入B2:

=QUERY(importrange("KEY", "DATA!A1:Z1000"), "select Col24 where (Col1 = '"&A2&"')")
Run Code Online (Sandbox Code Playgroud)

它会产生错误。

我的问题是:当我使用的字符串包含各种引号和撇号时,有什么方法可以避免查询出错?

formulas google-sheets google-query-language

5
推荐指数
1
解决办法
1万
查看次数

跳过查询

最近我发现了在查询中起作用的特殊词“跳过”。我无意中发现了这件事。这个公式有效:

=QUERY(A1:A11,"select A skipping 2")
Run Code Online (Sandbox Code Playgroud)

它跳过 1 行,给我第 1、3、5、7 行……等等。Skipping 1返回所有行,skipping 3返回 1, 4, 7, 10 ...

在此处输入图片说明

我想知道 google-sheets 查询中是否有任何表达式,这些表达式未在Query Language Reference 中列出。如果其他人使用或发现“跳过”查询。

formulas google-sheets google-query-language

5
推荐指数
1
解决办法
1796
查看次数

if match 语句中的 #N/A 返回 FALSE

如果出现匹配错误,我会尝试显示 FALSE 值。目前,我还无法弄清楚。我对谷歌电子表格中的公式如何工作仍然很陌生。

=IF(MATCH(A16,W46:W52,0),TRUE,FALSE)
Run Code Online (Sandbox Code Playgroud)

如果该值存在,则当前有效

我努力了

=IF(ISNA(MATCH(A16,W46:W52,0)),FALSE,MATCH(A16,W46:W52,0),TRUE,FALSE)
Run Code Online (Sandbox Code Playgroud)

目前,上述方法不起作用,并且会因 if 语句有太多参数而引发错误。

formulas google-sheets

5
推荐指数
1
解决办法
6996
查看次数

如何从谷歌表格中的另一个单元格引用公式

背景

我有一个包含一些高级公式的电子表格..例如,我正在汇总本月的预算,并且我有不同的员工,他们有不同的薪资结构(即一些按小时计算,一些按小时计算,并根据估计目标等提供奖金)..

我喜欢输入一个公式,然后将其复制并粘贴到单元格中..所以这就是我现在所拥有的

=if(C54="employee 1",D54*'resource information'!$D$3,
   if(C54="employee 2",D54*'resource information'!$D$8,
     if(C54="employee 3",D54*'resource information'!$D$4)))
Run Code Online (Sandbox Code Playgroud)

计算每个员工的小时数*小时工资的基本乘积(员工 1/2/3 的工资不同)

问题

如果我想添加一个员工 4,他有一个复杂的公式来提取他们的工资(即有 3-4 个不同的变量并从不同的工作表中提取?)我不想在上面添加那个丑陋的公式..而是我想引用一个具有上述公式的单元格..类似这样

=if(C54="employee 1",D54*'resource information'!$D$3,
   if(C54="employee 2",D54*'resource information'!$D$8,
     if(C54="employee 3",D54*'resource information'!$D$4))) 
 + employee 4 formula with parameters C54,D54 <-- this formula will be stored elsewhere
Run Code Online (Sandbox Code Playgroud)

任何想法?

formulas google-sheets

5
推荐指数
1
解决办法
9271
查看次数

如何计算单元格中的表情符号和符号?

我可以使用什么公式来获取单个单元格中表情符号和字符的计数?

\n\n

例如,在单元格 A1、A2 和 A3 中:

\n\n
\n\n\xe2\x9c\x8b\xef\xb8\x8f\n\n??\n
Run Code Online (Sandbox Code Playgroud)\n\n

每个单元格中的字符总数(所需输出):

\n\n
3\n\n5\n\n5\n
Run Code Online (Sandbox Code Playgroud)\n

regex formulas google-sheets emoji

5
推荐指数
1
解决办法
2574
查看次数

Crystal Reports - "此处需要字符串"公式错误

我有一个命令行实用程序,生成一个简单的水晶报告.我最近使用Visual Studio 2008迁移器将项目从.NET 1.1更新到.NET 3.5,现在我收到了一个我以前从未收到过的错误.

问题出在work_order公式中,如下所示:

stringVar nvl_ship_wrk_id := "0";
stringVar nvl_ship_wrk_seq := "0";

If Not IsNull({FeedBOLInput.ShipWrkId}) Then 
    nvl_ship_wrk_id := {FeedBOLInput.ShipWrkId}; 

If Not IsNull({FeedBOLInput.ShipWrkSeq}) Then 
    nvl_ship_wrk_seq := {FeedBOLInput.ShipWrkSeq};

nvl_ship_wrk_id & " - " & nvl_ship_wrk_seq;
Run Code Online (Sandbox Code Playgroud)

错误是:

- InnerException    {"A string is required here.
Error in File C:\\...\\temp_88c50533-02c6-4973-ae06-ed0ab1a603ac {0D5E96FB-038A-41C5-93A7-A9D199961377}.rpt:
Error in formula  <work_order>. 
'stringVar nvl_ship_wrk_id := \"0\";
'
A string is required here."}    System.Exception {System.Runtime.InteropServices.COMException}
Run Code Online (Sandbox Code Playgroud)

有谁知道这可能是什么?我没有线索了.数据集正确进入 - 错误似乎指向仅初始化变量的行.

formulas crystal-reports

4
推荐指数
1
解决办法
2万
查看次数

如何在 Google 表格中引用当前单元格左侧的单元格?

我必须对第 2 列中的每个单元格应用一个函数,该函数会检索有关第 1 列中某个符号的信息。我有 100 列并且不想单独插入每个符号,因此我需要一种方法来引用 A2 中的信息在 B2 中使用的函数中

例如, 这是我正在处理的电子表格。

=GOOGLEFINANCE( SymbolDisplayedInTheCellToTheLeftOfThisCell , "价格")

谢谢

formulas google-sheets

4
推荐指数
3
解决办法
1万
查看次数