admin

Excel中是否有类似合并的函数?

sql

我需要用同一行的一组列(从左到右)中的第一个非空条目填充一个单元格-类似于SQL中的coalesce()。

在以下示例表中

---------------------------------------
|     |  A   |   B   |   C   |    D   |
---------------------------------------
|  1  |      |   x   |   y   |    z   |
---------------------------------------
|  2  |      |       |   y   |        |
---------------------------------------
|  3  |      |       |       |    z   |
---------------------------------------

我想在A行的每个单元格中放置一个单元格函数,这样我将得到:

---------------------------------------
|     |  A   |   B   |   C   |    D   |
---------------------------------------
|  1  |  x   |   x   |   y   |    z   |
---------------------------------------
|  2  |  y   |       |   y   |        |
---------------------------------------
|  3  |  z   |       |       |    z   |
---------------------------------------

我知道我可以使用一系列IF函数来做到这一点,但是在我的实际工作表中,我有30列可供选择,因此,如果有一种更简单的方法,我将很高兴。


阅读 149

收藏
2021-05-10

共1个答案

admin

=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE))

这是一个数组公式。输入公式后,按CTRL+
Shift+Enter使Excel将其评估为数组公式。这将返回给定单元格范围的第一个非空白值。对于您的示例,公式将在标题为“ a”的列中输入

    A   B   C   D
1   x   x   y   z
2   y       y   
3   z           z
2021-05-10