如果单元格包含值,则提取所有包含相同发票编号的行

时间:2019-08-16 03:11:13

标签: 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

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

1 个答案:

答案 0 :(得分:0)

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

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

原始数据更改后,刷新查询。全部都无需编写代码或公式,只需单击图标即可。屏幕截图以绿色显示了结果表。我的“ H栏”称为“保持”。

enter image description here