Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets Google Sheets的功能是对行进行分组和合并_Google Sheets_Google Sheets Formula_Array Formulas_Google Sheets Query_Gs Vlookup - Fatal编程技术网

Google sheets Google Sheets的功能是对行进行分组和合并

Google sheets Google Sheets的功能是对行进行分组和合并,google-sheets,google-sheets-formula,array-formulas,google-sheets-query,gs-vlookup,Google Sheets,Google Sheets Formula,Array Formulas,Google Sheets Query,Gs Vlookup,样本表: 我试图找到一个公式,将一个表分组到一列上,并从另一列的所有行中提取值 例如,如果这是我的表格: | name | value | |-------|---------| | one | alpha | | two | bravo | | three | charlie | | one | delta | | two | echo | | four | foxtrot | | two | golf | | three | hotel

样本表:

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

例如,如果这是我的表格:

| 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
列中获取一个唯一的值列表,然后使用
arrayformula
value
列中获取一个值列表,其中
name
列等于唯一列表中的每个值:/

试试看:

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


或:

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