将一对多数据转换为列
Transform one to many data to columns
鉴于此数据:
如何将其转换为如下所示:
数据源中有两列,key
(title
)和value
(responsibility
)。
我需要对其进行转换,以便我们拥有 key
列 (title
),然后是 n
列,其中 n
是一个键具有的最大 value
数量,例如上图中的 3。因此列应该是:
Title, 1, 2, 3
。
每列中的值 1, 2, 3
应与原始数据中的值相对应。
欢迎任何公式组合 - 我认为 Transpose
and/or Query
(pivot
) 的组合是合适的,但我不能将它们放在一起。
如果这太复杂,我们可以直接在数据源中放置一个枚举,但如果没有它,公式也能正常工作会很好。例如:
示例sheet:
https://docs.google.com/spreadsheets/d/1InYZ12VuuaSg0s3fiFTCx8BnwEan5JsqpsNBF973lWc/edit?usp=sharing
尝试:
=QUERY({A:C},
"select Col1,max(Col3)
where Col1 is not null
group by Col1
pivot Col2", 1)
或:
=ARRAYFORMULA(QUERY({A:A, COUNTIFS(A:A, A:A, ROW(A:A), "<="&ROW(A:A)), B:B},
"select Col1,max(Col3)
where Col1 is not null
group by Col1
pivot Col2", 1))
鉴于此数据:
如何将其转换为如下所示:
数据源中有两列,key
(title
)和value
(responsibility
)。
我需要对其进行转换,以便我们拥有 key
列 (title
),然后是 n
列,其中 n
是一个键具有的最大 value
数量,例如上图中的 3。因此列应该是:
Title, 1, 2, 3
。
每列中的值 1, 2, 3
应与原始数据中的值相对应。
欢迎任何公式组合 - 我认为 Transpose
and/or Query
(pivot
) 的组合是合适的,但我不能将它们放在一起。
如果这太复杂,我们可以直接在数据源中放置一个枚举,但如果没有它,公式也能正常工作会很好。例如:
示例sheet: https://docs.google.com/spreadsheets/d/1InYZ12VuuaSg0s3fiFTCx8BnwEan5JsqpsNBF973lWc/edit?usp=sharing
尝试:
=QUERY({A:C},
"select Col1,max(Col3)
where Col1 is not null
group by Col1
pivot Col2", 1)
或:
=ARRAYFORMULA(QUERY({A:A, COUNTIFS(A:A, A:A, ROW(A:A), "<="&ROW(A:A)), B:B},
"select Col1,max(Col3)
where Col1 is not null
group by Col1
pivot Col2", 1))