【问题标题】:Read for specific text, and copy text from another sheet阅读特定文本,并从另一张纸上复制文本
【发布时间】:2018-09-17 11:00:49
【问题描述】:

我正在尝试将文本从 sheet1 复制到 sheet2,具体取决于标题。

=IF(Sheet1!A1=Sheet2!A1,Sheet1!A2:A40,(IF(Sheet1!B1=Sheet2!A1,Sheet1!B2:B40,(IF(Sheet1!C1=Sheet2!A1,Sheet1!C2:C40,(IF(Sheet1!D1=Sheet2!A1,Sheet1!D2:D40,(IF(Sheet1!E1=Sheet2!A1,Sheet1!E2:E40,(IF(Sheet1!F1=Sheet2!A1,Sheet1!F2:F40,(IF(Sheet1!G1=Sheet2!A1,Sheet1!G2:G40,"")))))))))))))

=IF(Sheet1!A1=Sheet2!A1,Sheet1!A2:A40,
  (IF(Sheet1!B1=Sheet2!A1,Sheet1!B2:B40,
    (IF(Sheet1!C1=Sheet2!A1,Sheet1!C2:C40,
      (IF(Sheet1!D1=Sheet2!A1,Sheet1!D2:D40,
        (IF(Sheet1!E1=Sheet2!A1,Sheet1!E2:E40,
          (IF(Sheet1!F1=Sheet2!A1,Sheet1!F2:F40,
            (IF(Sheet1!G1=Sheet2!A1,Sheet1!G2:G40
  ,"")))))))))))))

到目前为止,我遇到了这种难看的混乱,但它只有大约 57% 的时间有效。我不知道为什么。

例如,标题是 Test1、Test2、Test3 等,我怎样才能让 excel 读取 sheet1 的标题 Test1,并复制从下面的单元格开始的列,并将其复制到任何列 Test1是在 sheet2 中吗?

我对excel公式有相当基本的了解,对VBA的了解就更少了,所以欢迎任何帮助。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    这对INDEX() 来说是一项很好的任务,通过为其中一个参数传递一个 0,您可以声明您希望返回整个列(或者更准确地说是匹配列的所有行):

    =INDEX(Sheet1!A2:G40,0,MATCH(Sheet2!A1,Sheet1!A1:G1,0))

    如果没有一些示例数据和预期输出,我无法证明这是否正是您所追求的。请随时提供更多范围并给我留言,我会更新我的答案。

    编辑:

    要获得列的结果,您可以像这样组装一个查找:

    =INDEX(Sheet1!$A$2:$G$40,ROW()-1,MATCH(Sheet2!A$1,Sheet1!$A$1:$G$1,0))

    这样您就可以索引要返回的数据,然后返回您所在的当前行(当数据从第二行开始时偏移 -1)。末尾的MATCH() 返回与Sheet2!A$1 匹配的列标题的位置。

    $$ 在这里很重要,因为当您将公式拖过工作表时,绝对引用将阻止公式更改(Sheet2!A$1 只会在水平拖动时更新,而在垂直拖动时不会更新)

    【讨论】:

    • 非常感谢,对不清楚的地方表示歉意。假设我试图从 sheet1 复制信息,从 A2 向下复制到 sheet2,无论哪一列的标题与 sheet1、A1 中的标题相同?
    • @C.Fsh 请查看我的编辑,如果有帮助请告诉我。
    • 这绝对是完美的,谢谢。正是我需要的。
    • 太棒了,很高兴它有帮助
    猜你喜欢
    • 1970-01-01
    • 2014-09-26
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    相关资源
    最近更新 更多