Google表格功能可对行进行分组和合并

样本表:https://docs.google.com/spreadsheets/d/1AeP0sxDi0-3aaesUdCNTKfricIimjTMFaKO-FX9_g50/edit?usp=sharing

我试图找到一个公式,将一个表分组到一个列上,并合并另一列中所有行的值。

例如,如果这是我的桌子:

| name  | value   |
|-------|---------|
| one   | alpha   |
| two   | bravo   |
| three | charlie |
| one   | delta   |
| two   | echo    |
| four  | foxtrot |
| two   | golf    |
| three | hotel   |
| four  | india   |

这是我希望公式输出的内容:

| one   | alpha,delta      |
| two   | bravo,echo,golf |
| three | charlie,hotel    |
| four  | foxtrot,india    |

我希望我可以分享一些公式使我接近,但我什么也找不到。我想也许是这个公式,但是,正如您从样本表中看到的那样,它不起作用。

=ARRAYFORMULA(JOIN(",",TRANSPOSE(FILTER(B2:B,A2:A = {UNIQUE(A2:A)}))))

我的想法是,在name列中获得唯一的值列表,然后使用arrayformulavalue列中获得{{1} }列等于唯一列表中的每个值。 :/

a281409081 回答:Google表格功能可对行进行分组和合并

尝试:

=ARRAYFORMULA(REGEXREPLACE(TRIM(SPLIT(TRANSPOSE(
 QUERY(QUERY({A2:A&"♦",B2:B&","},"select max(Col2) 
  where Col1 !='' 
  group by Col2 
  pivot Col1"),999^99)),"♦")),",$",))

0


或:

=ARRAYFORMULA(IFNA(VLOOKUP(UNIQUE(A2:A),REGEXREPLACE(TRIM(SPLIT(TRANSPOSE(
 QUERY(QUERY({A2:A&"♦",),{1,2},0)))

0

本文链接:https://www.f2er.com/3088281.html

大家都在问