Google sheets 谷歌表格第一行基于其他行数据?

Google sheets 谷歌表格第一行基于其他行数据?,google-sheets,Google Sheets,我已获得以下格式的数据: 如何使用状态列中的arrya_公式获得如下输出?提前谢谢 谢谢假设“abc”是您的一行,因为我认为没有办法通过工作表公式传递列ID,您可以使用=concatenate(数组公式(if(A2:C2=“fail”,$A$1:$C$1,”))。这不会提供您要求的逗号分隔版本,但它提供了相同的功能 虽然这并没有去掉结尾的逗号,但这已经接近您想要的了。为了去掉最后一个逗号,我想,你需要写一个脚本 =ARRAYFORMULA(CONCATENATE(IF(A1:C1="fail

我已获得以下格式的数据:

如何使用状态列中的arrya_公式获得如下输出?提前谢谢


谢谢

假设“abc”是您的一行,因为我认为没有办法通过工作表公式传递列ID,您可以使用
=concatenate(数组公式(if(A2:C2=“fail”,$A$1:$C$1,”)
)。这不会提供您要求的逗号分隔版本,但它提供了相同的功能

虽然这并没有去掉结尾的逗号,但这已经接近您想要的了。为了去掉最后一个逗号,我想,你需要写一个脚本

=ARRAYFORMULA(CONCATENATE(IF(A1:C1="fail", CHOOSE(COLUMN(A1:C1), "A, ", "B, ", "C, "), "")))
结果:对于您发布的第二个表

B,

A、 B,

A、 B,C,


编辑:

删除后面的逗号应该很容易。不知道为什么我以前没想过。下面给出的正是您想要的

=REGEXREPLACE(ARRAYFORMULA(CONCATENATE(IF(A1:C1="fail", CHOOSE(COLUMN(A1:C1), "A, ", "B, ", "C, "), ""))), ", $", "")
结果:对于您发布的第二个表

B

A、 B


A、 B,C

状态的逻辑是什么?它能打印出哪个列有“fail”吗?是的,这正是我想要的,但是使用了array_公式。这是可行的,但是我如何才能让这个公式只粘贴在一个单元格中?我使用的是这个公式` ArrayFormula(如果((A2:a):(C2:C)=“fail”,$a$1:$C$1),`它工作正常,但输出会分散到各个列,有没有办法将每一行的输出放在一个单元格内?
ArrayFormula
模式是查看一个数组,然后根据公式输出一个数组。所以如果你有3列,它会吐出3列。这就是为什么蒂尔塔和我使用了
连接
<代码>串联
将数组数据合并到单个单元格中。不能将公式粘贴到单个单元格中,然后使其适用于整个数组。它必须一行一行地工作(在您的情况下),因此您需要复制“status”列中包含数据的行数。