【问题标题】:Query only most recent value if duplicates exist如果存在重复,则仅查询最近的值
【发布时间】:2023-04-02 08:22:02
【问题描述】:

我在仓库工作,正在开发库存系统。当产品进来的时候,那是因为它们已经损坏了。当产品到达时,我让一个人在 Google 表格中填写一行(Sheet1 在下面的工作簿链接中)。我主要需要此工作表中的条形码、问题和日期)。

接下来,一名技工修理产品,并用他的姓名和产品的条形码填写了一个谷歌表格;回复是下面工作簿链接中的Form Responses 1

然后我将所有传入产品的数据从 Sheet1 拉到一个新选项卡(Barcodes In/Out 在下面的工作簿链接中),查询 Barcode、Issue、和日期。我从 Form Responses 1 中查询条形码,在此选项卡的另一列中提取所有外发产品的数据。 E 列(积压)有一个公式,仅显示尚未修复(“淘汰”)的产品的条形码。

我将我的积压日志中的数据(仍在仓库中需要维修的产品)提取到另一个名为 积压日志 的选项卡中。直到我意识到产品可以回到我们的仓库(即“123”可以进来并修复并再次发送出去。“123”可以回来再次进行更多维修。)

这造成了一个问题,因为 Back Log 现在显示“123”两次,其中包含两个不同的问题。

我需要 Back Log 仅查询“123”并且仅查询最近的问题。

这是很多信息,但我尽量详细。提前感谢您的帮助!

Here is the link to my workbook

【问题讨论】:

    标签: google-sheets unique google-forms inventory google-sheets-query


    【解决方案1】:

    在G2我进入

    =ArrayFormula(iferror(vlookup(unique(Sheet1!B2:B), sort({Sheet1!B2:B, Sheet1!A2:F}, 7, 0), {2, 3, 4, 5, 6}, 0)))
    

    更新:基于新信息...

    =query(ArrayFormula(iferror(vlookup(unique(Sheet1!B2:B), sort(filter({Sheet1!B2:B, Sheet1!A2:F}, not(regexmatch(Sheet1!B2:B&"", textjoin("|", 1, filter('Barcodes In/Out'!D2:D, isna(match('Barcodes In/Out'!D2:D, 'Barcodes In/Out'!E2:E, 0))))))), 7, 0), {2, 3, 4, 5, 6}, 0))), "where Col1 <>''")
    

    看看这是否适合你?

    【讨论】:

    • 您也在 Google 文档帮助论坛上帮助我,不是吗?哈哈。我添加了更多的模拟数据,这次是在 Form Responses 1 选项卡中。如果您查看 Barcodes In/Out 选项卡,Backlog 列仅包含正确的“123”和“789”。您提供的公式不排除出现在条形码输入/输出上的输出列(在本例中为“456”)上的条形码,就像我想要的那样。
    猜你喜欢
    • 2019-07-24
    • 2020-03-05
    • 2022-08-19
    • 2022-12-15
    • 1970-01-01
    • 2015-07-26
    • 2013-04-29
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多