Excel 如果列中有数据,则返回列标题的公式

Excel 如果列中有数据,则返回列标题的公式,excel,excel-2007,excel-formula,Excel,Excel 2007,Excel Formula,我需要一个公式返回列标题,如果列中有数据,任何数据。 但是我还需要返回第二、第三、第四个标题和数据 在第2行的A列中,我有=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中,我需要第二个标题,其中列中包含数据 我需要黄色的结果(第一,第二,第三,第四)从数组到它的左边 1St

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

在第2行的A列中,我有=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中,我需要第二个标题,其中列中包含数据

我需要黄色的结果(第一,第二,第三,第四)从数组到它的左边

1St match 2nd 3rd 4th Column M Column N Column O Column P Column Q Column R Column S Column T Column M Column O Colum R Data data2 Data3 Coulmn N Column O Column Q Column T Data Data2 data3 data4 第一个匹配第二个第三个第四列M列N列O列P列Q列R列S列T 列M列O列R数据数据2数据3 Coulmn N列O列Q列T数据数据2数据3数据4 将使用匹配/索引,但无法将其增加到第二个或第三个匹配 谢谢

您可以在A2中使用此“数组公式”,并使用CTRL+SHIFT+ENTER进行确认,然后跨区域复制

=IFERROR(索引($M$1:$T$1),小(如果($M8:$T8“),列($M8:$T8)-列($M8)+1),列($A2:A2)),”)

当数据用完时,会出现空白


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

复制之前执行此操作如果只需要执行一次,此方法应该可以工作。如果需要通过自动化来完成,则需要进行一些修改:

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

    =如果(E2“,”&E$1“”)
    &如果(F2“,”和F$1“”)
    &如果(G2“,”和G$1“”)
    &如果(H2“,”和H$1“))

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

  • 选择此列,然后复制并粘贴值以删除方程式

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


  • 如果这是一个相对较小的数据集,并且您只需要使用它一次,那么您可能只需要粘贴转置和巧妙的过滤和排序就可以了。有多少行和列?还有,这是什么类型的数据?谢谢Barry,这太完美了。我知道这是一个数组公式,但iferror的使用非常好。