如何在excel中切换零区域的空格?

我需要从sheet1中select一列,所选列与目标单元格的行匹配。 我有这个代码

INDIRECT(ADDRESS(2;ROW();;;"Sheet1")):INDIRECT(ADDRESS(101;ROW();;;"Sheet1"))) 

但它将空白值(空单元格)选为空单元格的零!

我试图用类似的东西来解决它

 IF( ( INDIRECT(ADDRESS(2;ROW();;;"Sheet1")):INDIRECT(ADDRESS(101;ROW();;;"Sheet1")) )=0; ""; (INDIRECT(ADDRESS(2;ROW();;;"Sheet1")):INDIRECT(ADDRESS(101;ROW();;;"Sheet1")))) 

这当然不起作用,因为我试图将条件应用于范围而不是值。

有没有办法select范围INDIRECT(ADDRESS(2;ROW();;;"Sheet1")):INDIRECT(ADDRESS(101;ROW();;;"Sheet1"))select空白而不是零?

这是你正在尝试? 我把你的公式放在TRIM()公式中。

=TRIM(INDIRECT(ADDRESS(2;ROW();;;"Sheet1")):INDIRECT(ADDRESS(101;ROW();;;"Sheet1"))))

注意Trim()将返回一个string。 所以,如果单元格是空白的,那么你会得到一个空白,但如果单元格有一个数字,那么你会得到的string的数字

看到这个例子

在这里输入图像说明

我看到你可能不需要一个答案,但我注意到,你的原始尝试将工作 – 你可以申请一个中频范围,即

=IF(INDIRECT(ADDRESS(2;ROW();;;"Sheet1")):INDIRECT(ADDRESS(101;ROW();;;"Sheet1"))="";"";INDIRECT(ADDRESS(2;ROW();;;"Sheet1")):INDIRECT(ADDRESS(101;ROW();;;"Sheet1")))

….但是INDIRECT / ADDRESS组合可能不是必需的,你可以用这个公式返回你的原始数组

=INDEX(Sheet1!$2:$101;0;ROW())

然后只是应用一个简单的IF函数,即

=IF(INDEX(Sheet1!$2:$101;0;ROW())="";"",INDEX(Sheet1!$2:$101;0;ROW()))

这两个将保持数值的数字