【问题标题】:Fill a cell with the first non-empty entry in a set of columns (from left to right)用一组列中的第一个非空条目填充单元格(从左到右)
【发布时间】:2015-09-02 07:04:45
【问题描述】:
  1. 我正在尝试用一组列中的第一个非空条目填充一个单元格(从左到右)。

    1. 示例表如下。

  1. 下面给出了所需的工作表输出。

  1. 我在 A 列中应用数组公式 =INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE)),公式在单元格 A2、A3、A4 中显示为 {=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE))},但我得到的是以下结果,而不是所需的结果。

  2. 谁能帮忙指出我哪里出错了。

【问题讨论】:

    标签: excel excel-formula coalesce


    【解决方案1】:

    使用AGGREGATE¹ function 查找第一个非空白单元格并将其传递回INDEX function

          

    A2中的标准公式是,

    =INDEX($B2:$Z2, AGGREGATE(15, 6, COLUMN(A:Z)/SIGN(LEN($B2:$Z2)), 1))
    

    根据需要填写。

    ¹ AGGREGATE function 是在 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。你建议的数组公式效果很好。我从你那里学到了应用数组公式的正确方法。谢谢。
    • 哇,Aggregate 函数看起来很有趣 - 感谢您提供信息!
    猜你喜欢
    • 2013-05-10
    • 2012-04-10
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 2019-11-21
    • 1970-01-01
    相关资源
    最近更新 更多