Excel – 跳过空白表单元格公式

我有一个表格是通过XML映射创build的,所以每列都有很多空白单元格。 看起来像:

| Name | Stat 1 | Stat 2 | Stat 3| | Test | | | | | | Four | | | | | | 5 | | | | | | 102 | 

基本上每一行只有一个值,我想转置到另一个工作表,其中所有的值是这样的一行:

 | Name | Stat 1 | Stat 2 | Stat 3 | | Test | Four | 5 | 102 | 

在我的search中,我发现这个公式:

 =IFERROR(INDEX(Table9[@name],SMALL(IF(Table9[@name]<>"",ROW(Table9[@name])-ROW(Table9[@name])+1),ROWS(A2))),"") 

我在另一个工作表的A1中设置了它,然后拖拽它,它返回填充的单元格,但是它也返回所有空白单元格的0 ,而不是跳过它们,直到它有一个返回的值。

可能有更好的方法来做到这一点,所以我打开其他选项,但如果可能的话,宁愿避免VBA。

谢谢。

假设input表被称为Sheet1 ,并且Name位于两张纸上的单元格A1中。 然后在输出表上使用以下公式作为Name

 =INDEX(Sheet1!A:A,(ROW()-2)*4+2) 

Stat 1

 =INDEX(Sheet1!B:B,(ROW()-2)*4+3) 

等等…更一般地说:

 =INDEX( input_column_range, (ROW()-first_row_in_output)*number_of_columns + first_row_in_input+column_index )