使用 excel 删除根据公式计算的空白单元格
Remove blank cells calculated from formula using excel
写了一个简单的公式来根据第一个字符选择 sl.no;但是我需要通过删除空白单元格以下面的格式格式化输出。
公式
=IF(左(B3,1)="A",A3,"")
预期格式
输出
试试 AGGREGATE()
函数。 Excel-2007
没有聚合功能。
=IFERROR(INDEX($A:$A,AGGREGATE(15,6,(ROW($A:$A)-ROW($A))/(LEFT($B:$B,1)=C),ROW(1:1))),"")
如果你没有Aggregate()
函数那么使用下面的数组公式。
=IFERROR(INDEX($A:$A,SMALL(IF(LEFT($B:$B,1)=C,ROW($B:$B)-ROW($B),""),ROW(1:1))),"")
数组公式需要按CTRL
+SHIFT
+ENTER
.
输入
看起来您在输出 sheet 中得到了您想要的结果,但格式不正确。从我的角度来看,您的“输出”看起来不错,因为它让您有机会快速检查一下,如果您怀疑某些事情变得 wrong/looks 很奇怪。作为替代解决方案,您可以只录制一个宏来复制列 A 到 E,将值粘贴到新的 sheet 并对每一列进行排序。这会将空白单元格发送到列的末尾,并以预期的格式为您提供相同的外观。
添加:在您发表评论后 attached file 创建。按 Alt + F8 到 edit/add 范围进行排序。
写了一个简单的公式来根据第一个字符选择 sl.no;但是我需要通过删除空白单元格以下面的格式格式化输出。
公式
=IF(左(B3,1)="A",A3,"")
预期格式
输出
试试 AGGREGATE()
函数。 Excel-2007
没有聚合功能。
=IFERROR(INDEX($A:$A,AGGREGATE(15,6,(ROW($A:$A)-ROW($A))/(LEFT($B:$B,1)=C),ROW(1:1))),"")
如果你没有Aggregate()
函数那么使用下面的数组公式。
=IFERROR(INDEX($A:$A,SMALL(IF(LEFT($B:$B,1)=C,ROW($B:$B)-ROW($B),""),ROW(1:1))),"")
数组公式需要按CTRL
+SHIFT
+ENTER
.
看起来您在输出 sheet 中得到了您想要的结果,但格式不正确。从我的角度来看,您的“输出”看起来不错,因为它让您有机会快速检查一下,如果您怀疑某些事情变得 wrong/looks 很奇怪。作为替代解决方案,您可以只录制一个宏来复制列 A 到 E,将值粘贴到新的 sheet 并对每一列进行排序。这会将空白单元格发送到列的末尾,并以预期的格式为您提供相同的外观。
添加:在您发表评论后 attached file 创建。按 Alt + F8 到 edit/add 范围进行排序。