如何 return 首先不从导入范围值中清空单元格?

How to return first not empty cell from importrange values?

我的googlesheetexcel文档包含这样的数据

+---+---+---+---+---+---+
|   | A | B | C | D | E | 
+---+---+---+---+---+---+
| 1 |   | c |   | x |   |
+---+---+---+---+---+---+
| 2 |   | r |   | 4 |   |
+---+---+---+---+---+---+
| 3 |   |   |   | m |   |
+---+---+---+---+---+---+
| 4 |   |   |   |   |   |
+---+---+---+---+---+---+

BD包含IMPORTRANGE函数提供的数据,它们存储在不同的文件中。

我想用行中的第一个非空值填充列 A,换句话说:所需结果必须如下所示:

+---+---+---+---+---+---+
|   | A | B | C | D | E | 
+---+---+---+---+---+---+
| 1 | c | c |   | x |   |
+---+---+---+---+---+---+
| 2 | r | r |   | 4 |   |
+---+---+---+---+---+---+
| 3 | m |   |   | m |   |
+---+---+---+---+---+---+
| 4 |   |   |   |   |   |
+---+---+---+---+---+---+

我尝试了 ISBLANK 函数,但很明显,如果列被导入,那么即使该值为空,也不是空白,所以这个函数对我的情况不起作用。然后我在 2 个不同的变体中尝试了 QUERY 函数:

1) =QUERY({B1;D1}; "select Col1 where Col1 is not null limit 1"; 0) 但是当行包含带数字的单元格时,这种情况下的结果是错误的。此查询的结果如下:

+---+---+---+---+---+---+
|   | A | B | C | D | E | 
+---+---+---+---+---+---+
| 1 | c | c |   | x |   |
+---+---+---+---+---+---+
| 2 | 4 | r |   | 4 |   |
+---+---+---+---+---+---+
| 3 | m |   |   | m |   |
+---+---+---+---+---+---+
| 4 |   |   |   |   |   |
+---+---+---+---+---+---+

2) =QUERY({B1;D1};"select Col1 where Col1 <> '' limit 1"; 0) / =QUERY({B1;D1};"select Col1 where Col1 != '' limit 1"; 0) 这根本不起作用,结果总是 #N/A

此外,如果可能的话,我想避免使用嵌套的 IFs 和 javascript 脚本,因为带有 QUERY 函数的解决方案最适合我的情况,因为它很容易扩展到另一列没有任何更深入的编程知识。有什么方法可以简单地使用 QUERY,而我只是遗漏了一些东西,或者我必须使用 IFs/javascript?

尝试:

=ARRAYFORMULA(SUBSTITUTE(INDEX(IFERROR(SPLIT(TRIM(TRANSPOSE(QUERY(
 TRANSPOSE(SUBSTITUTE(B:G, " ", "♦")),,99^99))), " ")),,1), "♦", " "))


选择的列: