如何找出哪一列在一行中第一次出现某个数字?(Excel)

如何找出哪一列在一行中第一次出现某个数字?(Excel)

我有一张 Excel 表,其中有 100 多个日期作为列名,数百个位置作为行名。

每行中的某处都有数字(可以是任意数字)表示某个事件将在该日期的该位置发生。

我正在尝试添加一列来定位每行中任意数字的第一次出现,以便它告诉我每栋建筑物中发生事件的第一个日期(列)。

我无法提供文件,但如果需要,我可以创建一个设置示例。谢谢!

答案1

例如第 2 行:

=MATCH(TRUE,INDEX(ISNUMBER(2:2),0),0)

将显示第一列包含数字的列号。

(可能需要数组输入)

在此处输入图片描述

在上面的例子中,公式返回4用于柱

编辑#1:

在某些版本的 Excel 中,公式必须以数组形式输入。 数组公式必须使用 ++Ctrl而不是直接使用键来输入。如果操作正确,公式栏中会出现带有花括号的公式。ShiftEnterEnter

答案2

您可以使用这个公式:

在此处输入图片描述

  • 单元格中的公式F27

    =IFERROR(CELL("col",INDEX(A27:D27,MATCH(TRUE,INDEX(ISNUMBER(A27:D27),0),0))),"")
    

注意:

  • Excel 将 DATE 视为连续的序列号。
  • 您可以根据需要调整公式中的单元格引用。

答案3

以下工作:

=INDEX(A1:CX1,1,MIN(IF(ISNUMBER(C2:CX2)*COLUMN(C2:CX2)=0,"",ISNUMBER(C2:CX2)*COLUMN(C2:CX2))))

它将结果计算到 A 列,并将数据列从 C 列开始(建筑物/场地在 B 列)。当然,它可以放在任何地方,尤其是 B 列。只是觉得你会希望它靠近每行的建筑物标签。只需在答案中保持简单即可。

第一个范围 A1:CX1 从 A 列开始,因此公式可以直接使用 COLUMN(C2:CX2) 的结果,而不必向其添加一些值来调整这一事实:无论如何,由于建筑物/场地行标签的原因,列的日期标题不会从 A 列开始。但如果有人喜欢...

公式的所有部分均适用于 2007 版及以后的版本。

相关内容