GoogleSheets:筛选 ID 和 return 相关单元格的列(多次出现)
GoogleSheets: Screen a Column for IDs and return associated cells (multiple occurrences)
基本上我有一个这样的数据结构(数百行,不断更新):
ID
Date
Value
1000
date1
value 1
1001
date2
value 2
1002
date3
value 3
1001
date4
value 4
1003
date5
value 5
哪里
- ID 是唯一的,但可以出现多次
- 日期表示创建 ID 或更新 ID 的时间
- 值不唯一
我想做的是搜索 ID 行并获取与其关联的日期和值。如果再次出现相同的ID,则应在同一行中列出,例如
ID
Date
Value
1000
date1
value 1
1001
date2
value 2
date 4
value 4
1002
date3
value 3
1003
date5
value 5
理想情况下,这是使用数组完成的。就像我说的那样,列表会不断更新,因此请拖拽一个公式,例如:
=TRANSPOSE(FILTER($A:$A, $B:$B = A2))
不是真正的选择...
有什么想法吗?将不胜感激!!
干杯
尝试:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&"×"&
COUNTIFS(A2:A, A2:A, ROW(A2:A), "<="&ROW(A2:A)), {A2:A&"×"&
COUNTIFS(A2:A, A2:A, ROW(A2:A), "<="&ROW(A2:A))-1, B2:C}, {2, 3}, 0)))
更新:
=ARRAYFORMULA(SUBSTITUTE(TRIM(SPLIT(FLATTEN(QUERY(TRANSPOSE(QUERY(QUERY(
IF(A2:A="",,{A2:A&"×", TO_TEXT(B2:B)&"×"&C2:C&"¤×", ROW(A2:A)&TO_TEXT(B2:B)&"×"&C2:C&"¤×"}),
"select Col1,max(Col2) where Col1 is not null group by Col1 pivot Col3"),
"offset 1", 0)),,9^9)), "×")), "¤", ))
demo spreadsheet
基本上我有一个这样的数据结构(数百行,不断更新):
ID | Date | Value |
---|---|---|
1000 | date1 | value 1 |
1001 | date2 | value 2 |
1002 | date3 | value 3 |
1001 | date4 | value 4 |
1003 | date5 | value 5 |
哪里
- ID 是唯一的,但可以出现多次
- 日期表示创建 ID 或更新 ID 的时间
- 值不唯一
我想做的是搜索 ID 行并获取与其关联的日期和值。如果再次出现相同的ID,则应在同一行中列出,例如
ID | Date | Value | ||
---|---|---|---|---|
1000 | date1 | value 1 | ||
1001 | date2 | value 2 | date 4 | value 4 |
1002 | date3 | value 3 | ||
1003 | date5 | value 5 |
理想情况下,这是使用数组完成的。就像我说的那样,列表会不断更新,因此请拖拽一个公式,例如:
=TRANSPOSE(FILTER($A:$A, $B:$B = A2))
不是真正的选择...
有什么想法吗?将不胜感激!!
干杯
尝试:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&"×"&
COUNTIFS(A2:A, A2:A, ROW(A2:A), "<="&ROW(A2:A)), {A2:A&"×"&
COUNTIFS(A2:A, A2:A, ROW(A2:A), "<="&ROW(A2:A))-1, B2:C}, {2, 3}, 0)))
更新:
=ARRAYFORMULA(SUBSTITUTE(TRIM(SPLIT(FLATTEN(QUERY(TRANSPOSE(QUERY(QUERY(
IF(A2:A="",,{A2:A&"×", TO_TEXT(B2:B)&"×"&C2:C&"¤×", ROW(A2:A)&TO_TEXT(B2:B)&"×"&C2:C&"¤×"}),
"select Col1,max(Col2) where Col1 is not null group by Col1 pivot Col3"),
"offset 1", 0)),,9^9)), "×")), "¤", ))