使用索引函数

时间:2015-08-14 08:17:56

标签: excel

我有以下Excel表格:

        A              B               C      

  1    Boris           4                *
  2    Anna            6                *
  3    Uli             5                *
  4    Inge            4                *
  5    Rudi            3                *
  6    Ulla            7                *
  7
  8
  9
  :
  : 
  99

*在C1到C6的单元格中,我使用矩阵公式:

={INDEX(A:A;VERGLEICH(KKLEINSTE(B$1:B$99-ZEILE($1:$99)/9^9;ZEILE(A1));B$1:B$99-ZEILE($1:$99)/9^9;0))}

根据B列,按照从最小到最高编号的名称对列表进行排序。

现在的问题是我的列表有99行(正如你在表中看到的那样)但并非所有这些行都被填充(正如你在第7-99行所见)表)。 因此,单元格C1到C6中的公式现在显示值0,因为"" (空单元格)是从B1到B99的列表中的最小值。

除了空单元格之外,我如何更改它认为列B中所有值的公式? (注意:如果B列中的单元格的值为0,则应考虑。仅当单元格为空时才应将其排除在外)

感谢您的帮助: - )

1 个答案:

答案 0 :(得分:0)

只需添加一个条件来检查数值:

=INDEX(A:A,MATCH(SMALL(IF(ISNUMBER(B$1:B$99),B$1:B$99-ROW($1:$99)/9^9),ROWS($1:1)),B$1:B$99-ROW($1:$99)/9^9,0))

德语:

=INDEX(A:A;VERGLEICH(KKLEINSTE(WENN(ISTZAHL(B$1:B$99);B$1:B$99-ZEILE($1:$99)/9^9);ZEILEN($1:1));B$1:B$99-ZEILE($1:$99)/9^9;0))

我用ROWS(ZEILEN)替换了ROW(ZEILE),因为它是SMALL的 k 参数的更严格的选择:

http://excelxor.com/2014/08/25/row-vs-rows-for-consecutive-integer-generation/

此致