标签: array-formulas

将MATCH()函数与未排序的列表一起使用

我在使用MATCH()函数的电子表格公式中遇到问题。

=IFERROR(IF(LENB(Y2461)<> 0, "Complete", IF(LENB(Q2461)<> 0, IF(Q2461-$Y$1<MATCH($Y$1,R2461:X2461),"ON HOLD"), INDEX($R$4:$X$5,1,MATCH($Y$1,R2461:X2461)))),"ON HOLD")
Run Code Online (Sandbox Code Playgroud)

这是具有特定问题的单元格中的公式。我正在使用match查找水平范围的数据,并确定哪一列包含最新更改,但“ Complete”列具有日期和“ ON HOLD”列具有日期的情况除外。单元格Y1包含=TODAY(),因此它将根据当日日期检查每个单元格。单元格被格式化为日期,并作为日期从左到右输入。但是,条目可以从较早的列重新开始,而日期却乱七八糟。

问题是,一次仅出现几次,MATCH()就会返回不是最近的列。据我所知,以及它如何用于此公式的其他实例,是它从右到左读取数组,并在第一个“最高”日期停止。

该错误特别是在一行上发生,而预期结果在工作表上的其他位置多次出现。

我是否MATCH()假设每次都会在某个方向上读取都使用错了吗?代码中是否有其他错误?还是有另一种方式来获得我为其编程的结果?

excel worksheet-function excel-formula array-formulas excel-match

0
推荐指数
1
解决办法
8565
查看次数

Arrayformula 求和一列直到这一行

我正在尝试制作一个数组公式,它将所有行加起来直到这一行。为了澄清,a 列是输入,b 列是输出。我正在寻找一种使用 arrayformula 执行此操作的方法。


a1:1 b1:1
a2:2 b2:3
a3:5 b3:8
a4:3 b4:11

我尝试使用
=ARRAYFORMULA(SUM(INDIRECT("F1:"&ADDRESS(ROW(),COLUMN(F2:F))))) 但这不起作用。

sum google-sheets array-formulas

0
推荐指数
1
解决办法
926
查看次数

是否可以在 Google 表格中批量编辑公式?

有没有一种方法可以加快同一个 Google 表格中多个选项卡中数百行公式的编辑速度?

这是以下问题的后续问题:ReferenceschangeinGoogleSheetswithnewformssubmissions ; 大约每次通过 Google 表单新提交在 Google 表格中添加新行时,某些公式即使已修复,也会更改其引用$(仍然不知道为什么会发生这种情况)。解决办法就是将其添加INDIRECT到公式中。然而,公式太多,无法轻松地手动更改。

例如我有这样的公式:

   =COUNTIFS('Resp'!$AM$56:$AM,"Conf",'Resp'!$B56:$B,"PC 
   Arr")
Run Code Online (Sandbox Code Playgroud)

它需要更改为:

  =COUNTIFS(INDIRECT("Resp!$AM$2:$AM"),"Conf",indirect("Resp!$B2:$B"),"PC 
   Arr")
Run Code Online (Sandbox Code Playgroud)

搜索和替换不起作用,因为公式的编写方式、公式和引用列的类型多种多样(尽管引用必须从 56 更改为 2),并且中间的
“ ”需要消失。'

有没有办法稍微加快这些变化,或者这是不可避免的体力劳动?

edit google-sheets array-formulas google-sheets-formula

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

谷歌表格或 Excel 函数根据值返回日期

我在 Google 表格(或 excel)中有这个表格。年份是我代码的最后两位数字。

           Code                Duration Months
    
  1     AC-26482-17              60          
  2     AC-26482-18              30         
  3              
Run Code Online (Sandbox Code Playgroud)

我想以这种格式返回日期(如果没有数据,请留空)。

       Code              Duration Months        Start         Expiration 
    
  1   AC-26482-17           60                01/01/2017      01/01/2022
  2   AC-26482-18           30                01/01/2018      01/07/2020
  3   
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这一目标?

excel excel-formula google-sheets array-formulas google-sheets-formula

0
推荐指数
1
解决办法
45
查看次数

谷歌表格中无限真实动态范围的平均数组公式

例如:

     A       B      C     D     E     F     G     ?
  |======|=======|=====|=====|=====|=====|=====|=====
1 |      |AVERAGE|     |     |     |     |     |        
  |======|=======|=====|=====|=====|=====|=====|=====
2 | xx 1 |       |   1 |   2 | 0.5 |  10 |     |        
  |======|=======|=====|=====|=====|=====|=====|=====
3 | xx 2 |       |   7 |   1 |     |     |     |       
  |======|=======|=====|=====|=====|=====|=====|=====
4 |      |       |   0 |     |     |     |     |       
  |======|=======|=====|=====|=====|=====|=====|=====
5 | xx 3 |       |   9 |   8 |   7 |   6 |     |       
  |======|=======|=====|=====|=====|=====|=====|=====
6 | xx 4 …
Run Code Online (Sandbox Code Playgroud)

average google-sheets array-formulas google-query-language google-sheets-formula

0
推荐指数
1
解决办法
512
查看次数

如何按行对项目进行排序?

在 G 列的每个单元格中,我都有一个如下所示的元素列表:

['element1','element2','element3',...]
Run Code Online (Sandbox Code Playgroud)

在某些单元格中,我有相同的列表,但排序方式不同:

例如,在 G2 中我有['element1','element2','element3'],在 G250 中我有['element3','element1','element2']

我编写了一个脚本来按字母顺序对每个列表进行排序(以比较它们是否相同),但我希望它是自动的,因为这些值来自导入范围,并且可以每天添加数据。

所以我尝试了一个公式:=trim(substitute(concatenate(transpose(sort(transpose(split(G2,"'"))))),",",""))它适用于我正在做的事情。结果看起来像这样[]element1element2element3

列表 每个单元格中包含基本公式的有序列表 带数组公式的有序列表
['元素1','元素2','元素7','元素8','元素55'] []元素1元素2元素55元素7元素8 #价值!
['元素6','元素5','元素3','元素2'] []元素2元素3元素5元素6
['元素2','元素3','元素6','元素5'] []元素2元素3元素5元素6
['element9','element7','element4','element88'] []element4element7element88element9
['元素4','元素88','元素7','元素9'] []element4element7element88element9
['元素4','元素8','元素9'] []元素4元素8元素9

但我不能使用 arrayformula=arrayformula(trim(substitute(concatenate(transpose(sort(transpose(split(G2:G,"'"))))),",","")))

我有一个错误

CONCATENATE 的文本结果超出了允许的限制,即 50000 个字符。

经过在互联网上的一些研究,似乎错误来自连接(我尝试使用连接,但它也不起作用)。

我的列表中没有 50k 个字符,因此我认为它正在尝试连接数组公式的所有单元格。

sorting google-sheets array-formulas google-sheets-formula

0
推荐指数
1
解决办法
96
查看次数

如何将查询格式化为月份名称而不是电子表格中的数字

=QUERY(G4:N, "SELECT FORMAT(G, 'MMMM'), SUM(H), SUM(M), SUM(N) GROUP BY FORMAT(G, 'MMMM')")
Run Code Online (Sandbox Code Playgroud)

我尝试了这个公式,但出现错误

然后我尝试了另一个公式

=QUERY(G4:N, "SELECT MONTH(G), SUM(H), SUM(M), SUM(N) GROUP BY MONTH(G)")
Run Code Online (Sandbox Code Playgroud)

但它给出的是月份数而不是名称

spreadsheet google-sheets array-formulas google-sheets-formula

0
推荐指数
1
解决办法
496
查看次数

在A列中每个唯一值中找到B列中的最大值

例如用于数据

___   A   B
  1 cat   5
  2 cat   7
  3 cat   3
  4 dog  10
  5 dog   4
  6 dog   7
Run Code Online (Sandbox Code Playgroud)

公式(cat)是7,公式(dog)是10

我正在使用Google表格,但希望使用更通用的答案。

pivot-table google-sheets array-formulas

-1
推荐指数
1
解决办法
121
查看次数