Google表格:如何消除某些列中的重复项并仅显示其他列中的最新数据?

时间:2016-08-03 07:24:14

标签: google-sheets formula

我有一本书的电子表格,每次检查一本书时都会有一行(这是一个小型的教室图书馆)。以下是专栏:

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中的方式将其与原始表一起加入,但似乎在Google表格中无法实现这样的联接。我尝试了分组和最大功能,但是当我把这些东西付诸实践时,我或者已经能够消除早期的日期或者没有能够显示未被使用的列。集合函数。我的Google表格查询技巧不符合标准:/

有一种简单的方法可以解决这个问题吗?我会很感激任何提示。

以下是Google表格中上述示例数据的副本: https://docs.google.com/spreadsheets/d/1J384S0fsc8tgxVMehPb_uyRNc5-6cQx-xKN-q8K8Gds/edit?usp=sharing

1 个答案:

答案 0 :(得分:2)

我创建了一个新工作表并输入了单元格A1

=ArrayFormula(iferror(vlookup(unique(Sheet1!A2:A), sort(Sheet1!A2:E, 3, 0), {1, 2, 3, 5}, 0)))

看看它是否适合你?

BREAKDOWN:

公式背后的一般思想是利用VLOOKUP仅返回第一个匹配的事实。我们希望“第一场比赛”成为每本书的最新日期。

  1. 首先,我们对表格进行排序,以便最新日期排在最前面。
  2. 我们'查找'该排序表中的唯一书名,我们返回列{1,2,3,5}。
  3. 链接: