0

如果列中有数据,我需要一个公式来返回列标题,任何数据。但我也需要返回带有数据的第二、第三、第四个标题

在A列第2行,我有 =IF(M8<>"",$M$1,IF(N8<>"",$N$1,IF(O8<>"",$O$1,IF(P8<> "",$P$1,IF(Q8<>"",$Q$1,IF(R8<>"",$R$1,IF(S8<>"",$S$1,IF(T8<>"" ,$T$1,""))))))))

这将返回第 2 行列 M 到 T 中第一个数据实例的第 1 行标题但在 B2 中,我需要第二个标题,其中包含该列中的数据。

我需要从数组到左侧的黄色(第 1、第 2、第 3、第 4)结果

第一场比赛 第二场 第三场 第四列 M 列 N 列 O 列 P 列 Q 列 R 列 S 列 T
列 M 列 O 列 R 数据 data2 Data3        
Coulmn N 列 O 列 Q 列 T 数据 Data2 data3 data4

将使用匹配/索引,但不能将其增加到第二个或第三个匹配谢谢

4

2 回答 2

1

您可以在 A2 中使用此“数组公式”,通过 CTRL+SHIFT+ENTER 确认并复制

=IFERROR(INDEX($M$1:$T$1,SMALL(IF($M8:$T8<>"",COLUMN($M8:$T8)-COLUMN($M8)+1),COLUMNS($A2:A2))),"")

当数据用完时,你会得到空白

要使用 CTRL+SHIFT+ENTER 确认将公式放入 A2,请按 F2 键选择公式,然后按住 CTRL 和 SHIFT 键并按 ENTER。像 { 和 } 这样的花括号将出现在公式栏中的公式周围 - 在复制之前执行此操作

于 2012-09-18T18:42:30.657 回答
0

如果您只需要这样做一次,则此方法应该有效。如果您需要通过自动化来完成,则需要进行一些修改:

  1. 创建一个名为ListAllCols(或其他)的新列。使用这个公式。

    =IF(E2<>"",","&E$1,"")
    & IF(F2<>"",","&F$1,"")
    & IF(G2<>"",","&G$1 ,"")
    & IF(H2<>"",","&H$1,"")

    使用您的示例,第一行应返回“列 M,列 O,列 R”

  2. 选择此列,然后选择复制和粘贴值以删除方程式。

  3. 使用 Excel 2007 的文本到列功能(数据->数据工具->文本到列),通过指定逗号作为分隔符将其拆分为 3 个单独的列。

于 2012-09-18T18:45:04.663 回答