Excel 这是一个数组公式吗,如果(ISNUMBER(A1:A100),A1:A100,“)

Excel 这是一个数组公式吗,如果(ISNUMBER(A1:A100),A1:A100,“),excel,excel-formula,Excel,Excel Formula,IF(ISNUMBER(A1:A100),A1:A100,“”)是数组公式吗?如果没有,是什么 我从一个网站上复制了一份假期列表,并将其粘贴到Excel中。原始数据有四列(日期、假日名称、工作日、备注)。粘贴到Excel后,所有内容都显示在A列中,如下所示: date name of the holiday weekday note date name of the holiday ..... ..... 我尝试了几种方法来查看数据是否可以粘贴到列中,但都没有效果。因此,我需要将日期提取到另

IF(ISNUMBER(A1:A100),A1:A100,“”)
是数组公式吗?如果没有,是什么

我从一个网站上复制了一份假期列表,并将其粘贴到Excel中。原始数据有四列(日期、假日名称、工作日、备注)。粘贴到Excel后,所有内容都显示在A列中,如下所示:

date
name of the holiday
weekday
note

date
name of the holiday
.....
.....
我尝试了几种方法来查看数据是否可以粘贴到列中,但都没有效果。因此,我需要将日期提取到另一列。在B列中,我输入了这个公式
=IF(ISNUMBER(A1:A100),A1:A100,“””
。它将日期从A列提取到B列


我不确定它是否是数组公式,因为与其他数组公式不同,它不需要Ctrl-Shift-Enter键。然而,ISNUMBER通常以单元格作为参数,而不是数组,如果通常不返回数组。

如果将数据粘贴到excel工作表后如下图所示,则可以使用以下公式

如上图所示,用户在公式下方移动到
C1
单元格,然后根据需要向下向右拖动

=INDIRECT("A"&(ROW()-1)*4+COLUMNS($A$1:A$1))
此公式将为空单元格生成
0(零)
。要隐藏零(0),请使用如下的
IF()
条件

=IF(INDIRECT("A"&(ROW()-1)*4+COLUMNS($A$1:A$1))=0,"",INDIRECT("A"&(ROW()-1)*4+COLUMNS($A$1:A$1)))

IF和ISNUMBER不是数组函数,但可以在数组公式中使用

在数组公式之外,它们只接受单个输入值并返回单个输出值

在数组公式中,它们可以接受输入值数组,并返回输出值数组

如果不按CTRL-SHIFT-ENTER键,则指定的公式不是数组函数

您所看到的是当期望单个值的函数给定一个范围并在不按CTRL-SHIFT-ENTER键的情况下输入,但输入范围与放置公式的行重叠时的行为

当需要单个值时输入一个范围,如果重叠,将返回输入公式所在行的范围中的值,否则将返回错误

您之所以获得输出,只是因为您将公式放置在被引用的行旁边;它给出的结果与您正常输入公式然后填写的结果相同:即将
=if(ISNUMBER(A1),A1,“”
放入单元格B1并填写

请注意,如果在单元格B2(而不是单元格B1)中输入
=if(ISNUMBER(A1:A100),A1:A100,“”)
,然后向下填充,则值仍显示在同一行中,并且不会像您预期的那样向下移动一行。同样,这是因为它查看同一行中的值,只是因为范围与当前行重叠

=IF(ISNUMBER(A1),A1,“”)
放入单元格B2并向下填充,然后按预期将值向下移动一行

如果在单元格B101(输入范围以下)中再次输入原始公式并填充,则不会得到任何值(即使单元格旁边有数据),因为输入范围不再与当前单元格重叠。事实上,如果使用“公式”选项卡中的“计算公式”工具,您将看到A1:A100范围立即返回一个#值错误


这种行为令人困惑,应该不惜一切代价避免。只有当函数需要一个范围时,或者当有意使用CTRL-SHIFT-enter创建数组公式时,才输入范围。

某些Excel函数,如SUMPRODUCT或FIND,实际上会使用数组。我不知道ISNUMBER也在其中,但根据你的经验,情况似乎是这样的。您是否尝试使用TextToColumns对下载内容进行排序?是的,公式为数组公式。您需要以
CTRL+SHIFT+enter
的形式输入它,如果您希望计算整个数组,则需要通过CTRL+SHIFT+enter进行确认。这里有一些来自JvdV的见解,我想知道你为什么反对这种用法,尤其是当它工作时。因为它在工作方式上不一致。引用相同范围的公式不应根据其放置位置更改结果。它可能在您使用的确切布局中工作,但创建这样的公式通常会导致问题。这样做也绝对没有好处。。。它只具有引起错误和混乱的巨大潜力,而不是简单地输入一个总是正确工作的正常公式。