excel - 如果单元格包含值,则拉出包含相同发票编号的所有行

标签 excel excel-formula

我有一个 7000 行的工作簿。每行包含已购买的产品。如果购买有 5 件商品,则发票编号将在 a 列中列出 5 次。如果列 H 包含一个值 (vzprotect),则在 P 列中,我有一个 True/False 表达式。我想要做的是如果列 H = true 然后将该发票的所有行拉到 sheet2 上。

P列

=ISNUMBER(SEARCH("vzprotect",H6981))

样本数据
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZRB000799        Installment Service Fee                             FALSE
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZNS000800        Installment Amount / 24 Months                              FALSE
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZNS000066        New Activation Rate Plan                                FALSE
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZRB000069        Rate Plan SKU                               FALSE
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZRB000798        Installment Rebate Amount                               FALSE
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZRB000992        TMP New Manual                              FALSE
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZRB001517        DPNiPhone                               FALSE
NANDOIN7112 N Andover MA    John Smith  Aug 14, 2019 11:59 AM   robert keohane  CLVZVZ001054        APPLE IPHONE 8 64GB SILVER MQ732LL/A                                FALSE


P 列中为 True 的数据
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            Installment Service Fee                             FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            Installment Amount / 24 Months                              FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            Upgrade Rate Plan                               FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            New Activation Rate Plan                                FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            Rate Plan SKU                               FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            Rate Plan SKU                               FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            2 Year New Activation Jetpack                               FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            DPUAndroid                              FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            Installment Rebate Amount                               FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            installment Contract Number                             FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            TMP Commission Tracker                              FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            Decline Insurance-66332                             FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            87165 - VZProtect Smartphones T1 and Watches                                TRUE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            VZW ELLIPSIS JETPACK MHS900L                                FALSE
NANDOIN7116 N Andover MA    Frank Sinatra   Aug 15, 2019 12:32 PM   Adam Sandler            SAMSUNG GALAXY S10E 128GB PRISM BLACK SMG970UZKV                                FALSE


我删除了一堆包含 secret 信息的列。

最佳答案

这可以通过 Power Query 完成。从概念上讲:

  • 将数据加载到 Power 查询中,删除除 Invoice number 和 H 列之外的所有列。
  • 按列过滤 H = True
  • 另存为连接
  • 再次将数据加载到 Power Query
  • 与第一个查询进行连接,使用发票编号作为匹配列并使用“左外”连接类型
  • 展开连接表并保持 H 列为真值,这将应用于具有匹配发票编号的所有行
  • 按列过滤 H = True values
  • 删除辅助列
  • 保存查询并将其加载到工作表中。

  • 当原始数据发生变化时,刷新查询。无需编写代码或公式,只需单击图标。屏幕截图以绿色显示结果表。我的“H 列”被称为“保持”。

    enter image description here

    关于excel - 如果单元格包含值,则拉出包含相同发票编号的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57518506/

    相关文章:

    excel - VBA总和动态范围问题

    vba - 通过 VBA 拆分和保存 Excel 电子表格

    java - Apache POI 复制时更新公式引用

    excel - 如何判断sumproduct是否需要用CSE插入?

    excel - 在列中查找唯一值并使用 VBA 代码将它们连接到一个单元格中(从开头和结尾删除空白以避免重复)

    javascript - 如何使用ajax调用+ javascript将数据从数据库导出到excel

    c# - 使用 c# asp.net/MVC 在 Web 浏览器上打开一个巨大的 excel 文件中的单个工作表(单个选项卡)

    excel - 使用查询选择器从 VBA 中抓取

    excel - 如何在excel中按行计算彩色单元格

    excel - 删除重复值但保留其余行值