Excel:数组中的数组?

时间:2018-03-27 18:09:17

标签: excel-formula

所以,我想返回A列中值的所有行的内容,让我们说,1。

我的思维过程是我可以使用:

=INDEX(row_range,MATCH(1,A:A,0),0))

但匹配只会在此返回一个值,即第1列中包含A的第一行的数字。

有没有办法用匹配公式创建一个数组(从而返回多个行号,所有这些都包含A列中的' 1')然后将其放在Index数组中以便它然后运行每个Match-array值并在一个数组中创建一个很长的值列表,然后我可以在另一个表单中列出? 希望这是有道理的......

以下是我所希望的示范,如果有帮助的话!我们的想法是创建所显示的数组,然后按照下面的部分向下扩展到列。

https://i.stack.imgur.com/nCusM.png

1 个答案:

答案 0 :(得分:0)

使用您在示例中显示的文件(" Sheet1")并将这些公式放入Sheet2中的指定单元格中: 进入细胞A2放

=AGGREGATE(15;6;ROW(Sheet1!A:A)/((Sheet1!A:A=1)*1);ROW(A1))

这将为您提供所有rownumber,其中sheet1的A列中的值等于1。 进入细胞B2放

=COUNTA(INDIRECT("Sheet1!"&A2&":"&A2))-1

这将为您提供该行中填充的单元格数量。 进入细胞C2放

=TEXTJOIN(",";TRUE;OFFSET(Sheet1!$A$1;A2-1;1;1;B2))

这将为您提供连接该行数据的所有单元格。如果你没有这个公式(我相信2016年的第一次),你可以使用OFFSET函数在单独的列中列出值,然后加强它们。

将这三个按照您想要的次数复制到单元格C1中

=TEXTJOIN(",";TRUE;OFFSET(C2;0;0;COUNTIF(Sheet1!A:A;1);1))

enter image description here