Excel 用一组列(从左到右)中的第一个非空条目填充单元格

Excel 用一组列(从左到右)中的第一个非空条目填充单元格,excel,excel-formula,coalesce,Excel,Excel Formula,Coalesce,我试图用一组列(从左到右)中的第一个非空条目填充单元格 下面给出了示例表 下面给出了所需的图纸输出 我在A列中应用数组公式=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE)),公式在单元格A2、A3、A4中被视为{=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE)),但我得到的结果不是所需的结果 有人能帮我指出哪里出了问题吗 使用查找第一个非空白单元格并将其传递回 A2中的标准公式为 =INDEX($B

我试图用一组列(从左到右)中的第一个非空条目填充单元格

  • 下面给出了示例表
  • 下面给出了所需的图纸输出
  • 我在A列中应用数组公式
    =INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE))
    ,公式在单元格A2、A3、A4中被视为
    {=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE))
    ,但我得到的结果不是所需的结果

  • 有人能帮我指出哪里出了问题吗
  • 使用查找第一个非空白单元格并将其传递回

    A2中的标准公式为

    =INDEX($B2:$Z2, AGGREGATE(15, 6, COLUMN(A:Z)/SIGN(LEN($B2:$Z2)), 1))
    
    根据需要填写

    ⑨Excel 2010中引入了。它在早期版本中不可用

    您的数组公式应该与以下任何一个公式一样工作:

    =INDEX(B2:D2,MATCH(1, SIGN(LEN(B2:D2)), 0))
    =INDEX(B2:D2,MATCH(0, --ISBLANK(B2:D2), 0))
    =INDEX(B2:D2,MATCH(FALSE, ISBLANK(B2:D2), 0))
    

    数组公式需要使用Ctrl+Shift+Enter完成↵. 正确输入第一个单元格后,可以像任何其他公式一样填充或向下复制它们。

    我没有excel 2010。你建议的数组公式效果很好。我从你那里学到了应用数组公式的正确方法。谢谢。哇,聚合功能看起来很有趣-谢谢你提供的信息!