gpt4 book ai didi

excel - 在某个点之后输出列中的单元格的数组

转载 作者:行者123 更新时间:2023-12-04 21:21:44 24 4
gpt4 key购买 nike

我有一个数组公式,它输出一个范围内不是 0 或文本的所有值。

这个范围主要是数字和一个文本单元格,它是描述性标题。

但是,我需要数组仅在检测到列中存在的文本时才开始输出(这可能在单元格 AA4 中,也可能是 AA40,每次都不同),并且仅在此点之后输出数字。

例如,在列中给出以下内容:

525
0
22
464
Type
233
0
453
665

数组只应输出数字 233、453、665。

目前它只查看范围并输出任何不是 0 或文本的内容,无论它是在标题文本的上方还是下方。所以此时将输出 525,22,464,233,453,665。
=IFERROR(INDEX($AA$4:$AA$978, SMALL(IF($AA$4:$AA$978<>0, ROW($AA$4:$AA$978)-MIN(ROW($AA$4:$AA$978))+1, ""), ROW(A1))),"")

我需要更改/添加什么来执行此任务?

最佳答案

IF 中的 value_if_false 子句声明不是绝对必要的。另外,ROWSROW 更严格对于 SMALL的 k 参数(见 here 解释为什么)。

你需要:
=IFERROR(INDEX($AA$4:$AA$978,SMALL(IF($AA$4:$AA$978<>0,IF(ROW($AA$4:$AA$978)-MIN(ROW($AA$4:$AA$978))+1>MATCH("Type",$AA$4:$AA$978,0),ROW($AA$4:$AA$978)-MIN(ROW($AA$4:$AA$978))+1)),ROWS(A$1:A1))),"")
除非您实际上使用的是 Excel 表,否则我可能会修改上面的一些引用资料,以使其更有效,即:
=IFERROR(INDEX($AA:$AA,SMALL(IF($AA$4:$AA$978<>0,IF(ROW($AA$4:$AA$978)>MATCH("Type",$AA:$AA,0),ROW($AA$4:$AA$978))),ROWS(A$1:A1))),"")
由于范围不到一千个单元格,您可能可以继续使用 IFERROR设置,但请注意,对于更大的范围,这可能非常低效 - 给出了解释和替代设置 here .

问候

关于excel - 在某个点之后输出列中的单元格的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43628913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com