【问题标题】:Google Sheets Summary Data - select newest row based on dateGoogle表格摘要数据-根据日期选择最新行
【发布时间】:2021-04-17 21:53:07
【问题描述】:

我有一个基本上是平面文件的数据库,将表单条目数据接收到谷歌电子表格中,收集每年或发生时的组职位变化。所以日期是这个项目的关键。在另一个工作簿中,我尝试按组和位置创建摘要报告。

如果我想要所有职位,我拥有的代码一切都很好,但我只想要每个职位的最新条目,即使该职位在 4 年内没有改变,或者可能只是今天。我尝试了各种 vlookup、sortn 和独特的技术,学到了很多东西,但没有成功实现我的目标。

对于平面文件 ColA 是组号(文本) ColB 是位置,(我们可以将其称为位置 1、位置 2 等,标准化为标准 [表单输入])ColC 到 T 是所有个人数据,ColU 是入境日期。例如,Group 101 - Position1 可能有 4 行不同的日期(可能还有人),我需要最新的。因此,现在处于该位置的人。所以报告看起来像:

组 101 ~ {组名/描述}

Group 101 Position1 ~ 个人信息

Group 101 Position2 ~ 个人信息

Group 101 Position3 ~ 个人信息

Group 102 ~ {group name/description} 等等。

我的代码:

=query(importrange("[WORKBOOK KEY]","Personal Information!A2:Y9000"),"select Col1,Col2,Col3,Col4,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14,Col15 where Col1 contains '"&$A$6&"')

如果 A6 是 101,我会向下几行我会有相同的代码引用可能 A10 等。

(如果由于某种原因我最终扩展了数据集,我会去 Col Y。)

另外,根据结果,我不反对在摘要中对每个组的每个位置进行编码,其中日期函数可能会使每个组的位置乱序。它们不是按数字或字母排序的,而且组织结构不一定是明智的。我已经成功地向该代码添加了第二个查询条件以获取位置以进行逐行搜索,但完全不成功并且在获取日期比较功能时丢失了。

对于日期格式,我有 2 个可用。 3/10/2021 (ColU) 表单数据来自 Ajax 日期选择器,2021-04-17 19:48:21 来自表单输入时间戳。我更喜欢与 ColU 合作。

非常感谢所有帮助!

2021 年 5 月 3 日编辑

非常感谢您的及时回复。很多熨斗在火里,所以我没那么及时。

为了包含一些可编辑的模型,我已经复制了一个数据源工作簿和一个带有数据子集的工作模型的查询/报告工作簿。您会注意到组 101 有几个条目,此模型会随着时间的推移而更新。在这种情况下,几个月而不是几年。我需要为每个职位/组组合捕获最新条目。假设所有组每年更新,我将通过更改单元格 A2(目录工作簿)中的日期来工作。

这需要一个管理步骤来更改该日期,并留下一堆空的子报告作为组报告。有一些实用程序,但我宁愿为该功能使用一些条件格式(旧数据的单元格颜色)。 另请注意,在报告的当前形式中,它会返回该日期之后的所有内容,如果仅使用可用于职位的行数进行格式化,则查询将不会覆盖下一个查询返回的行数。为了该插图,我将接下来的两组移到了较低的位置。组之间只有 5 行。

另外,我在单独的工作簿中进行报告,以尽可能防止原始/数据表中的数据损坏。 (我是通过一次非常耗时的经历学到的。)

数据表: https://docs.google.com/spreadsheets/d/10JSg9vjFTFZ9ihjENyrY4Qgch7HzmWiWahHUKpvAvWY/edit?usp=sharing

报告表。 https://docs.google.com/spreadsheets/d/1qP3QB4WLHuxUYGnN13L3GG2Lffvs1q0RXL2ZP7_BQcE/edit?usp=sharing

再次提前非常感谢!

【问题讨论】:

  • 欢迎。请阅读操作方法和share a test sheet,以便更轻松地为您提供帮助。
  • 我已在原帖中添加了 sanbox 表,谢谢,

标签: date google-sheets


【解决方案1】:

State Directory 电子表格中显示最新条目报告的最简单方法是使用importrange() 公式将原始数据导入帮助表,如下所示:

=importrange("10JSg9vjFTFZ9ihjENyrY4Qgch7HzmWiWahHUKpvAvWY", "Council Personal Information!A1:Z")

要获得一个只包含每个位置的最新条目的较短表格,请选择插入 > 新工作表,然后将这些公式放入新工作表的单元格 A1A2: p>

={ 'Council Personal Information'!A1:Z1 }

=arrayformula( 
  iferror( 
    vlookup( 
      unique('Personal Information'!A2:A & 'Personal Information'!B2:B), 
      sort( 
        { 
          'Personal Information'!A2:A & 'Personal Information'!B2:B, 
          'Personal Information'!A2:Y 
        }, 
        'Personal Information'!U2:U, 
        false 
      ), 
      column('Personal Information'!A2:Y) + 1, 
      false 
    ) 
  ) 
)

我已在State Directory 电子表格中添加了这些公式。如果它们妨碍您,您可以隐藏 importrange() 表。

【讨论】:

  • 我已在原帖中添加了 sanbox 表,谢谢,
  • 编辑了答案并将公式添加到州目录电子表格中。
猜你喜欢
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
  • 2012-10-04
相关资源
最近更新 更多