所以,我想返回A列中值的所有行的内容,让我们说,1。
我的思维过程是我可以使用:
=INDEX(row_range,MATCH(1,A:A,0),0))
但匹配只会在此返回一个值,即第1
列中包含A
的第一行的数字。
有没有办法用匹配公式创建一个数组(从而返回多个行号,所有这些都包含A列中的' 1')然后将其放在Index数组中以便它然后运行每个Match-array值并在一个数组中创建一个很长的值列表,然后我可以在另一个表单中列出? 希望这是有道理的......
以下是我所希望的示范,如果有帮助的话!我们的想法是创建所显示的数组,然后按照下面的部分向下扩展到列。
答案 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))