加入 Google 工作表的条件转置

Conditional Transpose with join in Google Sheets

我想在第一个 sheet(仪表板)中创建一个来自我的第二个 sheet(股票列表)的基于作者的自动书单,如下面的 link:

https://docs.google.com/spreadsheets/d/16OOzurqBchn5sx5BCUzqVDvU9fA524aK9B5lGezjTUE/edit?usp=sharing

-> 如果一位作者有多本书,则用逗号创建一个列列表(示例:Dashboard!B3)。

-> 如果有合著者,book/books 名字也会创建

此致

粘贴到 B2 单元格:

=ARRAYFORMULA(IFERROR(VLOOKUP(A3:A, 
 {SORT(UNIQUE(TRIM(TRANSPOSE(SPLIT(CONCATENATE(
 IF(IFERROR(SPLIT(StockList!C2:C, ","))<>"", "♠"&SPLIT(StockList!C2:C, ","), )),"♠"))))),
 REGEXREPLACE(TRIM(TRANSPOSE(QUERY(QUERY(QUERY(TRIM(SPLIT(TRANSPOSE(SPLIT(CONCATENATE(
 IF(IFERROR(SPLIT(StockList!C2:C, ","))<>"", 
 "♦"&StockList!B2:B&","&"♠"&SPLIT(StockList!C2:C, ","), )), "♦")), "♠")), 
 "select max(Col1) where Col1 is not null group by Col1 pivot Col2", 0), 
 "offset 1", 0),, 999^99))), ",$", )}, 2, 0)))


自定义孟加拉语修复:

=ARRAYFORMULA({QUERY(TRANSPOSE(QUERY(TRIM(SPLIT(TRANSPOSE(SPLIT(CONCATENATE(
 IF(IFERROR(SPLIT(A!C3:C, ","))<>"", "♦"&A!B3:B&"♠"&SPLIT(A!C3:C, ","), )), "♦")), "♠")), 
 "select max(Col1) where Col1 is not null group by Col1 pivot Col2", 0)), "select Col1", 0), 
 QUERY(QUERY(TRIM(SPLIT(TRANSPOSE(SPLIT(CONCATENATE(
 IF(IFERROR(SPLIT(A!C3:C, ","))<>"", "♦"&A!B3:B&"♠"&SPLIT(A!C3:C, ","), )), "♦")), "♠")),
 "select count(Col2) where Col2 is not null group by Col2", 0), "offset 1", 0),
 REGEXREPLACE(TRIM(TRANSPOSE(QUERY(QUERY(QUERY(TRIM(SPLIT(TRANSPOSE(SPLIT(CONCATENATE(
 IF(IFERROR(SPLIT(A!C3:C, ","))<>"", "♦"&A!B3:B&",♠"&SPLIT(A!C3:C, ","), )), "♦")), "♠")), 
 "select max(Col1) where Col1 is not null group by Col1 pivot Col2", 0), "offset 1", 0)
 ,,999^99))), ",$", )})