标签: array-formulas

在 Excel 中对银行交易进行分类

我有一个 Excel 格式的银行交易导出列表,我想尽可能快速、简单地对其进行分类。我怀疑仅使用数组公式就可以做到这一点,但 VBA 函数同样有用。

场景

我的电子表格标题如下所示:

| A    | B           | C      | D        |
==========================================
| Date | Description | Amount | Category |
------------------------------------------
Run Code Online (Sandbox Code Playgroud)

日期、描述和金额均由我的银行预先填写。我在 D 列中填写每笔交易的类别。

这很好,但很耗时,因为每个类别都必须单独手动输入。

需求

我希望根据动态生成和应用的规则,在我未输入手动类别的行中自动填充类别。

我想要的输出如下所示:

| A        | B             | C       | D           | E         | F           |
==============================================================================
| Date     | Description   | Amount  | Manual cat. | Rule      | Auto cat.   |
------------------------------------------------------------------------------
| 04/08/12 | Starbucks NYC |  -$5.42 | Coffee      | starbucks | Coffee      |
| 04/09/12 …
Run Code Online (Sandbox Code Playgroud)

excel array-formulas

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

用不同单位(KB、MB、GB)表示的值进行计算

我正在 Excel 中寻找一种简单的方法来计算不同值的单位。我有几个值的列表KBMBGB我想在一个计算的输出GB

这是列表的一部分:

66.0 MB
570 KB
1.10 GB
2.21 KB
Run Code Online (Sandbox Code Playgroud)

输出: ???GB。

所有值都在同一行 (C) 中,值后面有 B/KB/MB/GB。

excel excel-formula array-formulas excel-2013

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

指向上一行的ArrayFormula?(循环依赖性错误)

我在看起来很普遍的要求上遇到了麻烦:合并先前行的数组公式计算。问题似乎是数组公式中的所有单元都被立即求值,因此它认为存在循环依赖关系,并给出该错误。

在Google Spreadsheet上模拟了一个玩具示例,您应该可以看到并对其进行评论。(我不允许编辑访问以防止故意破坏。)

它看起来像这样,这里的一切是行2,和子弹1,2,3,4引用列ABCD分别为:

  1. '更改'-手动输入为空白
  2. '例如 利息”-=ARRAYFORMULA(IF(ROW(B2:B)>2, OFFSET(D2:D, -1, 0) + A2:A,))
  3. “利率”-手动输入为空白
  4. “余额”- =ARRAYFORMULA(IF(ROW(D2:D)=2, 0, B2:B*(1+C2:C)))

想法是在每行上设置利率复合(利率可能可变)和正/负资本变动的选项,但是,单元格B2D2(点2、4)错误#REF,并且在悬停时报告“循环依赖” 。

我用尽了一切我能想到的:OFFSETINDIRECTD1:D(代替2),连一个助手列什么也不做,而是指的前一行D(只是造成了三列循环依赖代替)。

我怎么有'前。兴趣”列引用数组公式中前一行的“余额”列,而不会导致此错误?

类似的问题可以SUMIF通过在行数小于数组公式中“当前”行的条件下解决。我看不到这对我来说可行,因为我需要将每一步的总和乘以利息。我试图SUMIF(... "="&DATE(...) ...)引用上一行。这可以在帮助程序列中显示偏移余额,但是尝试使用它(在下面进行迭代计算)的行为就像是零。

在@JackBrown的建议下,我启用了消除循环依赖项错误的迭代计算,但是它仍然不起作用- 0尽管上一行具有非零值,但第二填充行从上一行获取值。好像它是在早期迭代中获取值,而没有在更改时进行更新。

excel google-sheets array-formulas

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

ArrayFormula 破坏了 getLastRow() 功能。可能的解决方法?

在我的电子表格中,我有一个正在运行的脚本,该脚本将该getLastRow()函数用作其逻辑的重要组成部分。

自从我在其中一列中应用了数组公式后,该getLastRow()函数就无法正常工作。即使其他列中没有其他值,数组公式似乎一直“应用”到工作表的底部,因此getLastRow()返回有数组公式的最后一行,而不是实际的非- 空行。

编写一个检查哪些单元格为空的慢速函数对我来说不是一个选择,因为脚本在运行这样的事情时会用完(它有数万行)。

有没有人对解决方法有任何建议?

这是ARRAYFORMULA

=ArrayFormula(IF(A2:A="",,WEEKNUM(A2:A, 2)))
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script array-formulas

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

如何在 Google Sheets 中创建多个工作表引用的 INDIRECT 数组字符串?

我正在尝试使用查询来显示多个 Google 表格中的数据。我每周都会制作一个具有特定工作表名称的新工作表,例如Week of 01/13Week of 01/06等等。

以下是我的想法产生的地方以供参考:

我有一个正在使用的汇总表 COUNTA(INDIRECT("'" & A5 & "'!E4:E",true)

A5 是连接日期和单词以复制工作表名称的单元格。

汇总表上的行直到 B5<=today()

因此,我可以将其设置为忘记它,并且随着时间的推移,工作表将继续为我提供每周数据,并保持工作表清洁,直到一周结束。

长话短说,我有一个我使用的查询,它使用特定参数为我提供了我需要的所有数据,但我必须每周使用新的工作表名称手动更新数据语法数组。

=QUERY({'Week of 01/13'!A:P;'Week of 01/06'!A:P;'Week of 12/30'!A:P;'Week of 12/23'!A:P;'WEEK OF 12/16'!A:P;'WEEK OF 12/09'!A:P;'WEEK OF 12/02'!A:P;'WEEK OF 11/25'!A:P;'WEEK OF 11/18'!A:P;'WEEK OF 11/11'!A:P;'WEEK OF 11/04'!A:P;'WEEK OF 10/28'!A:P;'WEEK OF 10/21'!A:P;'WEEK OF 10/14'!A:P;'WEEK OF 10/07'!A:P;'WEEK OF 09/30'!A:P;'WEEK OF 09/23'!A:P;'WEEK OF 09/16'!A:P;'WEEK OF 09/09'!A:P;'WEEK OF 09/02'!A:P},
 "Select * where Col11 = 'RD' order by Col2 desc",0)
Run Code Online (Sandbox Code Playgroud)

我想构建一个对数组的引用,该数组将根据日期自动填充连接。

参考样本结构

使用下面的代码我可以让连接给我我需要的数组,

=if(H4<=today(),CONCATENATE("'",H$1,text(H4,"mm/dd"),"'!A:P;",),"")
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将它输入到查询函数中时,它只返回连接的文本:

=QUERY(I1,"Select …
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script array-formulas google-sheets-query google-sheets-formula

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

Google Sheets:固定单元格值的数组公式

我正在尝试使用 Google Sheets 中的 ArrayFormula 函数应用于=$V$1整个 V 列(从 V3 开始)。

我已=ArrayFormula($V$1)在单元格 V3 中写入,但这不会填充整个列。

我究竟做错了什么?

arrays if-statement google-sheets array-formulas google-sheets-formula

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

当 Google 表格中遇到 IMPORTDATA 最大大小错误时,我有哪些替代方法?

我正在使用IMPORTDATA公式来填充 CSV 文件。我遇到错误。

文件大小为 8MB,所以我认为这可能是问题所在,因为我以前使用过这个公式,没有任何问题,我是否有其他方法可以将此数据填充到工作表中?

这是我正在使用的公式:

=IMPORTDATA("URL.csv")
Run Code Online (Sandbox Code Playgroud)

我希望上传整个文件,但遇到错误消息:

错误 URL 内容中的资源超出了最大大小。

google-sheets array-formulas google-sheets-query google-sheets-formula

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

如何使您的 Google 工作表将导入的 JSON 数据读取为数字?

我已将 JSON 数据导入到我的工作表中。我想对导入的数据使用诸如=STDEV和 之类的函数,但如果这样做,我就会不断收到错误。我能做什么来解决这个问题?=AVERAGE#div/0

json average google-sheets array-formulas google-sheets-formula

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

在 Google 表格中两个数字之间的列中填写数字

这是图像的链接

所以我试图填写 Google 表格中两个单元格之间的数字。我从 270 开始,在列中出现几个不确定且变化的空单元格后,我需要达到 180。我需要均匀地填充它们之间的单元格。但如何呢?

arrays autofill google-sheets array-formulas google-sheets-formula

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

为什么列中最后一个非空单元格的这个 Google 表格公式有效?

我正在寻找一种解决方案来查找列中的最后一个非空单元格。

我在Google Docs Editor Help 中找到了以下解决方案

INDEX(C:C;MAX(ROW(C:C)*(C:C<>""))

这个解决方案工作得非常好,甚至可以使用空单元格和标题 - 但我不知道它是如何工作的。我试图通过将其分解成各个部分并分别查看返回值来分析该建议 - 但随后我无法重现所需的结果。

有人可以解释发生了什么吗?我显然错过了一些东西。

arrays google-sheets array-formulas google-sheets-formula

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