如果可能,我正在这里寻找基于公式的答案。我将举一个具体的例子,但要明确一点,我打算在更复杂的环境中使用此解决方案(即,如果我添加更多工作表,它将可以使用。)
假设我在工作簿中有四张纸:[摘要],[a],[b],[c]按此顺序。
每张[a],[b],[c]的!$ A $ 2:$ A $ 6均填充有产生空值(“”)或所需信息(非空文本)的公式。如果有帮助,每张[a],[b],[c]的!$ A $ 1会计数这五个单元格中有多少是非空的。
[a]!$A$2:$A$6 = "", "red", "truck", "", "train"
[a]!$A$1 = 3
[b]!$A$2:$A$6 = "", "", "", "ball", ""
[b]!$A$1 = 1
[c]!$A$2:$A$6 = "pterodactyl", "", "", "", "bills"
[c]!$A$1 = 2
关于[摘要],我想使用一个公式或一系列公式在一个没有空值的列中生成,[a],[b],[中指定范围内的所有非空值C]。订单对我来说并不重要,但例如:
[summary]!$A$1:$A$6 = "red", "truck", "train", "ball", "pterodactyl", "bills"
您将如何做?
答案 0 :(得分:1)
我修改了Scott的公式,使它更具活力。不确定是否适合您的需求,但是就行了。
帮助表
=IFERROR(INDEX(INDIRECT(A$1&"!A:A"),AGGREGATE(15,7,ROW(INDIRECT(A$1&"!$A$2:$A$6"))/(INDIRECT(A$1&"!$A$2:$A$6")<>""),ROW(1:1))),"")
帮助器列
{=INDEX(CHOOSE(N(IF({1},COLUMN(Table2[#Headers]))),Table2[a],Table2[b],Table2[c]),
MOD(ROW(1:1)-1,ROWS(Table2))+1,
MOD(ROW(1:1)-1,COLUMNS(Table2))+1)}
最终列
{=IFERROR(INDEX(List1,AGGREGATE(15,7,ROW(List1)-1/(List1<>""),ROW(1:1))),"")}
答案 1 :(得分:0)
在列表用完时,使用带有IFERROR的INDEX AGGREGATE移至下一页。
=IFERROR(IFERROR(INDEX(a!A:A,AGGREGATE(15,7,ROW(a!$A$2:$A$6)/(a!$A$2:$A$6<>""),ROW(1:1))),INDEX(b!A:A,AGGREGATE(15,7,ROW(b!$A$2:$A$6)/(b!$A$2:$A$6<>""),ROW(1:1)-a!$A$1))),INDEX('c'!A:A,AGGREGATE(15,7,ROW('c'!$A$2:$A$6)/('c'!$A$2:$A$6<>""),ROW(1:1)-(a!$A$1+b!$A$1))))