Excel:=IF(带有动态数据的ISBLANK

问题描述 投票:0回答:1

我在列中有一系列数据,这些数据是通过从另一个选项卡获取数据来填充的。为简单起见,我们会说列 A、B 和 C。让我们规定列“A”有 5 个条目,“B”有 3 个条目,“C”有 1 个条目。我有另一个选项卡,我们将其称为“结果”,只有一列我想要 A、B 和 C 的所有条目(按顺序)。

  1. A1
  2. A2
  3. A3
  4. A4
  5. A5
  6. B1
  7. B2
  8. B3
  9. C1

挑战可能在于每列的条目数量是动态的。 “A”和“B”可能没有任何条目,而“C”有很多条目,或其任意组合。

我最初想在“结果”中使用“=if isblank”公式来做到这一点,但很快意识到这行不通。

=IF(ISBLANK(CELL("contents",DATA!A1)),CELL("contents",DATA!B1),CELL("contents",DATA!A1))`

这当然会返回“A”的结果,但由于我不知道每个 A、B、C 列中有多少条目,所以我不能只是将公式复制下来。

我的做法是错的吗?如果没有合适的公式,我会选择使用 VBA 脚本来完成工作。

excel vba excel-formula
1个回答
0
投票

以下公式应该有效,但在此之前,列

A
B
C
中的现有公式在不返回任何内容时需要返回
#N/A

因此,现有公式需要修改为:

=IF(SUMPRODUCT(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))=LEN(A1),LEFT(A1,7),NA()) 

然后在第二个参数中应用

TOCOL()
-->,
2
表示忽略错误,但我们也可以使用
3

=TOCOL(IFS(E:G<>"",E:G),3,3)


© www.soinside.com 2019 - 2024. All rights reserved.