Google 工作表:如何消除某些列中的重复项并仅显示其他列中的最新数据?
Google Sheets: How to eliminate duplicates in some columns and show only the most recent data in others?
我有一个图书电子表格,每次借出一本书时都有一行(这是一个小型教室图书馆)。以下是列:
BookTitle | Author | DateCheckedOut | CheckedOutBy | Status
=========================================================================
The BFG | Dahl, Roald | 6/1/2016 | Suzy | Out
The BFG | Dahl, Roald | 4/5/2016 | Johnny | Returned
The BFG | Dahl, Roald | 12/4/2015 | Wendy | Returned
Charlotte's Web | White, E.B. | | | Added
Wonder | Palacio, R.J. | 5/29/2016 | Joey | Returned
Wonder | Palacio, R.J. | 3/21/2016 | Mary | Returned
我想查询它以仅获取每本书具有最高日期值的行,然后显示该行中除 CheckedOutBy 之外的所有列。
我想获得一个独特的书名/作者组合的列表,然后像在 DB2 中那样将其与原始 table 连接起来,但在 Google Sheets。我尝试了分组和 max 函数,但是当我让这些东西起作用时,我要么无法消除较早的日期,要么无法显示聚合函数中未使用的列。我的 Google Sheet 查询技巧达不到标准:/
有没有我缺少的简单方法?如果有任何提示,我将不胜感激。
下面是 Google Sheet 中上述示例数据的副本:
https://docs.google.com/spreadsheets/d/1J384S0fsc8tgxVMehPb_uyRNc5-6cQx-xKN-q8K8Gds/edit?usp=sharing
我创建了一个新的 sheet 并输入到单元格 A1
=ArrayFormula(iferror(vlookup(unique(Sheet1!A2:A), sort(Sheet1!A2:E, 3, 0), {1, 2, 3, 5}, 0)))
看看这对你有用吗?
细分:
公式背后的总体思路是利用 VLOOKUP 仅 return 第一个匹配项这一事实。我们希望 'first match' 成为每本书的最新日期。
- 因此,首先我们对 table 进行排序,以便最新的日期排在最前面。
- 我们 'lookup' 排序 table 中的唯一书名,我们 return 列 {1, 2, 3, 5}。
链接:
我有一个图书电子表格,每次借出一本书时都有一行(这是一个小型教室图书馆)。以下是列:
BookTitle | Author | DateCheckedOut | CheckedOutBy | Status
=========================================================================
The BFG | Dahl, Roald | 6/1/2016 | Suzy | Out
The BFG | Dahl, Roald | 4/5/2016 | Johnny | Returned
The BFG | Dahl, Roald | 12/4/2015 | Wendy | Returned
Charlotte's Web | White, E.B. | | | Added
Wonder | Palacio, R.J. | 5/29/2016 | Joey | Returned
Wonder | Palacio, R.J. | 3/21/2016 | Mary | Returned
我想查询它以仅获取每本书具有最高日期值的行,然后显示该行中除 CheckedOutBy 之外的所有列。
我想获得一个独特的书名/作者组合的列表,然后像在 DB2 中那样将其与原始 table 连接起来,但在 Google Sheets。我尝试了分组和 max 函数,但是当我让这些东西起作用时,我要么无法消除较早的日期,要么无法显示聚合函数中未使用的列。我的 Google Sheet 查询技巧达不到标准:/
有没有我缺少的简单方法?如果有任何提示,我将不胜感激。
下面是 Google Sheet 中上述示例数据的副本: https://docs.google.com/spreadsheets/d/1J384S0fsc8tgxVMehPb_uyRNc5-6cQx-xKN-q8K8Gds/edit?usp=sharing
我创建了一个新的 sheet 并输入到单元格 A1
=ArrayFormula(iferror(vlookup(unique(Sheet1!A2:A), sort(Sheet1!A2:E, 3, 0), {1, 2, 3, 5}, 0)))
看看这对你有用吗?
细分:
公式背后的总体思路是利用 VLOOKUP 仅 return 第一个匹配项这一事实。我们希望 'first match' 成为每本书的最新日期。
- 因此,首先我们对 table 进行排序,以便最新的日期排在最前面。
- 我们 'lookup' 排序 table 中的唯一书名,我们 return 列 {1, 2, 3, 5}。
链接: