Excel 公式获取行中第一个和最后一个非空值并返回列标题

Excel 公式获取行中第一个和最后一个非空值并返回列标题

假设我有一个 Excel 电子表格,其中汇总了一段时间内某项民意调查的投票情况,如下例所示。

我如何找到分钟最大限度人们在某一天投票的价值(列标题)?

         A        B   C   D   E   F   G    H     I   
   --------------------------------------------------
1  | Answers:   | 0 | 1 | 2 | 3 | 4 | 5 | Min | Max |
   --------------------------------------------------
2  | 2014-12-01 |   | 2 | 4 | 1 |   |   |  1  |  3  |
3  | 2015-01-01 |   |   | 1 | 4 | 2 |   |  2  |  4  |
                          ^       ^        ^-----^- Min: 2, Max: 4
                          |       |        
                          |       |_ 2 people voted "4"
                          |
                          |_ 1 person voted "2" on 2015-01-01

答案1

要找到分钟人们在民意调查中投票的价值(第一个非空单元格的列标题),我使用了以下公式(在单元格中H2):

=INDEX(B$1:G$1, MATCH(TRUE, INDEX(B2:G2<>"", 0), 0))

要找到最大限度值(在单元格中I2):

=LOOKUP(2, 1/(B2:G2<>""),B$1:G$1)

引擎盖下

查找函数具有以下签名:LOOKUP( value, lookup_range, [result_range] )

第二个公式的作用如下:

  1. 除以1布尔值(真/假)数组(B2:G2<>"");这就是1/(B2:G2<>"")部分。
  2. TRUE以上依赖于 Excel 将布尔值转换为1FALSE转换为的事实0,因此此步骤的结果是以下列表:
    • 1's,其中CELL_VALUE<>""返回TRUE,和1/TRUE => 1
    • #DIV/0!错误,CELL_VALUE<>""返回FALSE1/FALSE => 1/0 => #DIV/0!
  3. 现在,因为我使用2(您可以使用从 1 开始的数字)作为查找值,所以公式会匹配范围内的最后一个数值(您记得,范围类似于[DIV/0!, 1, 1, 1, DIV/0!, DIV/0!],这就是为什么查找将匹配第四项目)。顺便说一句:请注意,如果公式不匹配任何内容,您仍然会收到 #N/A 错误。
  4. 在这个阶段,我们知道我们感兴趣的是哪一列(第四在范围内)。因此,最后缺少的是告诉 Excel 结果范围是电子表格的第一行:B$1:G$1,Excel 将在此查找所述第四物品。

您可以在此处阅读有关 Excel 查找公式的更多信息:http://blogs.office.com/2012/04/26/using-multiple-criteria-in-excel-lookup-formulas/

希望这可以帮助!

相关内容