Google Sheets将每个列A的值与每个列B的值连接在一起。

huangapple go评论58阅读模式
英文:

Google Sheets concatenate every columnA values with every columnB values

问题

你可以使用Excel中的公式来实现这个目标。你可以在“Result”列的第一行(例如第2行)输入以下公式,然后将其拖动填充到其他单元格中:

=INDEX($A$2:$A$4, INT((ROW()-ROW($B$2))/COUNTA($B$2:$B$4))+1) & INDEX($B$2:$B$4, MOD(ROW()-ROW($B$2), COUNTA($B$2:$B$4))+1)

这将根据你的数据范围自动创建所需的组合。确保调整公式中的单元格引用以匹配你的数据的实际范围。

英文:

I have this:

Column A Column B
A1 B1
A2 B2
A3 B3

How do I concatenate every columnA values with every columnB values with a formula (or script) to have this:

Result
A1B1
A1B2
A1B3
A2B1
A2B2
A2B3
A3B1
A3B2
A3B3

I did it manually with "&" but couldn't manage to find the formula

答案1

得分: 0

=INDEX(FLATTEN(A1:A3&TRANSPOSE(B1:B3)))

=INDEX(TOCOL(TOCOL(A:A,1)&TOROW(B:B,1)))

英文:

You may try:

=INDEX(FLATTEN(A1:A3&TRANSPOSE(B1:B3)))

Google Sheets将每个列A的值与每个列B的值连接在一起。

Incase the new functions have rolled out for you, try:

=INDEX(TOCOL(TOCOL(A:A,1)&TOROW(B:B,1)))

Google Sheets将每个列A的值与每个列B的值连接在一起。

答案2

得分: 0

使用 filter() 来获取非空值,transpose() 来生成所有组合,最后使用 flatten() 来将结果放在一列中,就像这样:

=arrayformula( flatten( filter(A2:A, len(A2:A)) & transpose(filter(B2:B, len(B2:B))) ) )
英文:

Use filter() to get just the non-blank values, transpose() to build all combinations, and finally flatten() to get the results in one column, like this:

=arrayformula( flatten( filter(A2:A, len(A2:A)) & transpose(filter(B2:B, len(B2:B))) ) )

huangapple
  • 本文由 发表于 2023年2月8日 18:45:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/75384644.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定