我需要用同一行中一组列(从左到右)中的第一个非空项填充单元格,这与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列可供 Select ,所以如果有更简单的方法,我会很高兴.

推荐答案

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

这是一个数组公式.输入公式后,按CTRL键+Shift键+回车键,让Excel将其作为数组公式计算.这将返回给定单元格范围的第一个非空值.例如,在标题为"a"的列中输入公式

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

Sql相关问答推荐

按CTE创建任务表

带有双引号的json在Presto中是否有区别对待?

SUM(条件)在Oracle?

分组多输出访问查询问题

PostgreSQL抽奖查询

冲突查询的UPDATE时违反非空约束

如何使用SQL Server中的Nodes()方法执行与OPENXML相同的操作

根据Rails活动记录中时间戳/日期时间的时间部分从PostgreSQL中提取记录

IF NOT EXISTS子查询的性能瓶颈

在SQL中将项分配给容器

在SQL查询中查找客户端的最短日期比较列和多行

需要使用SQLite查询进行一些奇怪的时间转换

SQL JSON_QUERY 使用列中的值构造 json 路径并接收错误

如何向 mariadb 添加外键?

如何创建一个递归计数器来查找一个元素有多少父级和子级?

基于 Snowflake 的最大值创建新列

oracle中多行的跨日期范围的交集

字符串从更改到表列和查询中的一行的转换错误

在 BigQuery 数据集中查找表大小和占总数据集大小的百分比

交叉应用 OPENJSON / PIVOT - 错误的顺序