使用Excel,假设有一系列数据,包括文本和数字值。但有些是空行。如何使用Excel函数创建一系列仅包含非空行的列表?因此,我不必每天复制,粘贴和删除空白行。
例如,Raw数据表如下,
AAA 111 111 111 111
BBB 111 111 111 111
AAA 111 111 111 111
CCC 111 111 111 111
QQQ 111 111 111 111
SSS 111 111 111 111
BBB 111 111 111 111
然后,创建一个新的表格范围,
AAA 111 111 111 111
BBB 111 111 111 111
AAA 111 111 111 111
CCC 111 111 111 111
QQQ 111 111 111 111
SSS 111 111 111 111
BBB 111 111 111 111
我试图使用这个公式。但是,它不起作用......
{=IFERROR(INDEX($A$1:$E$12,SMALL(IF($A$1:$E$12<>"",ROW($A$1:$E$12)),ROW(F1:J1))),"")}
{=IFERROR(INDEX($A$1:$E$12,SMALL(IF($A$1:$E$12<>"",ROW($A$1:$E$12)),ROW(F2:J2))),"")}
{=IFERROR(INDEX($A$1:$E$12,SMALL(IF($A$1:$E$12<>"",ROW($A$1:$E$12)),ROW(F3:J3))),"")}
{=IFERROR(INDEX($A$1:$E$12,SMALL(IF($A$1:$E$12<>"",ROW($A$1:$E$12)),ROW(F4:J4))),"")}
{=IFERROR(INDEX($A$1:$E$12,SMALL(IF($A$1:$E$12<>"",ROW($A$1:$E$12)),ROW(F5:J5))),"")}
{=IFERROR(INDEX($A$1:$E$12,SMALL(IF($A$1:$E$12<>"",ROW($A$1:$E$12)),ROW(F6:J6))),"")}
{=IFERROR(INDEX($A$1:$E$12,SMALL(IF($A$1:$E$12<>"",ROW($A$1:$E$12)),ROW(F7:J7))),"")}
答案 0 :(得分:2)
IF($A$1:$E$12<>"",ROW($A$1:$E$12))
将导致行向量{1,1,1,1,1}
。因此,它总是导致每行的行号或FALSE
的5倍。所以你将得到每个非空行号5次。
一个选项只是检查列A
是否为空并且每个单元格而不是单行的数组公式:
{=INDEX($A$1:$E$20,SMALL(IF($A$1:$A$20<>"",ROW($A$1:$A$20)),ROW(1:1)),COLUMN(A:A))}
示例:
当然,对于大范围而言,这实际上并不适合。但我没有看到使用公式的另一种可能性。
我要做的是使用数组公式的辅助列:
{=AND(A1:E1<>"")}
每行。
然后按此辅助列降序对表进行排序。