如何将多组列连接成多个新列?
How Can I Concatenate Many Sets of Columns Into Several New Columns?
我有一个电子表格。 60 行,~100 列。
我希望连接每组 3 列的数据,以生成约 30 列的 'merged' 数据。
例如目前的栏目包括 "Fighter 1"、"Fighter 2"、Fighter 3"、"Wizard 1"、"Wizard 2"、Wizard 3" 等
我希望将每个集合中的数据分别放入 I 列,标记为 "Fighter"、"Wizard" 等,并使用来自三列 'merged' 的数据,并使用分隔符 ( :).我需要包括空单元格。
我知道我可以使用 CONCATENATE(B2, C2, D2) 合并来自一组单元格的数据。
我可以向下拖动这个公式来填充该列。
但是如果我向侧面(向右)拖动公式,它会将每个值递增 1,而不是我需要的 3。
例如我希望列变成 (B2, C2, D2), (E2, F2, G2), (H2, I2, J2) 等,但我得到 (B2, C2, D2), (C2, D2, E2), (D2, E2, F2) ...
您可以使用 OFFSET
函数
我们将从以下前提开始:您的数据跨越 A 列到 CU 列 (1-99),并且您的“合并”数据跨越 CW 列到 EC 列 (101-133)。
从 CW2 单元格开始(假设您的 headers 在第 1 行),写下这个公式(我添加了换行符以便于阅读):
=CONCATENATE(
OFFSET($A2, 0, 3 * (COLUMN() - 101)),
OFFSET($B2, 0, 3 * (COLUMN() - 101)),
OFFSET($C2, 0, 3 * (COLUMN() - 101))
)
这会将原始数据集的三个相邻列连接在一起,当您 drag-fill 将公式应用于接下来的 32 列中的每一列时,每个合并的列将分别偏移三个单元格,衬里它们最多可以连接您的所有数据。
为了您的使用,您可能需要在该函数中更改的重要部分:
$A2
从整个数据集的起始列开始很重要,而不仅仅是与每个合并集相关的列。但除此之外,如果您的数据从 C 列或 E 列或 Z 列或任何地方开始,只要它引用第一列,它仍然有效。
3
是对您分组所依据的列数的引用。如果你有一个像 "Fighter 1" "Fighter 2" "Fighter 3" "Fighter 4" "Wizard 1" "Wizard 2" "Wizard 3" "Wizard 4"
..... 这样的系列,那么你会使用 4 而不是 3.
101
是“合并”数据开头的 1 索引列。这样,COLUMN()-101
第一列为 0,第二列为 1,第三列为 2,依此类推。然后将其乘以上面的 3 得到 0, 3, 6, 9, ...
我有一个电子表格。 60 行,~100 列。
我希望连接每组 3 列的数据,以生成约 30 列的 'merged' 数据。
例如目前的栏目包括 "Fighter 1"、"Fighter 2"、Fighter 3"、"Wizard 1"、"Wizard 2"、Wizard 3" 等
我希望将每个集合中的数据分别放入 I 列,标记为 "Fighter"、"Wizard" 等,并使用来自三列 'merged' 的数据,并使用分隔符 ( :).我需要包括空单元格。
我知道我可以使用 CONCATENATE(B2, C2, D2) 合并来自一组单元格的数据。
我可以向下拖动这个公式来填充该列。
但是如果我向侧面(向右)拖动公式,它会将每个值递增 1,而不是我需要的 3。
例如我希望列变成 (B2, C2, D2), (E2, F2, G2), (H2, I2, J2) 等,但我得到 (B2, C2, D2), (C2, D2, E2), (D2, E2, F2) ...
您可以使用 OFFSET
函数
我们将从以下前提开始:您的数据跨越 A 列到 CU 列 (1-99),并且您的“合并”数据跨越 CW 列到 EC 列 (101-133)。
从 CW2 单元格开始(假设您的 headers 在第 1 行),写下这个公式(我添加了换行符以便于阅读):
=CONCATENATE(
OFFSET($A2, 0, 3 * (COLUMN() - 101)),
OFFSET($B2, 0, 3 * (COLUMN() - 101)),
OFFSET($C2, 0, 3 * (COLUMN() - 101))
)
这会将原始数据集的三个相邻列连接在一起,当您 drag-fill 将公式应用于接下来的 32 列中的每一列时,每个合并的列将分别偏移三个单元格,衬里它们最多可以连接您的所有数据。
为了您的使用,您可能需要在该函数中更改的重要部分:
$A2
从整个数据集的起始列开始很重要,而不仅仅是与每个合并集相关的列。但除此之外,如果您的数据从 C 列或 E 列或 Z 列或任何地方开始,只要它引用第一列,它仍然有效。3
是对您分组所依据的列数的引用。如果你有一个像"Fighter 1" "Fighter 2" "Fighter 3" "Fighter 4" "Wizard 1" "Wizard 2" "Wizard 3" "Wizard 4"
..... 这样的系列,那么你会使用 4 而不是 3.101
是“合并”数据开头的 1 索引列。这样,COLUMN()-101
第一列为 0,第二列为 1,第三列为 2,依此类推。然后将其乘以上面的 3 得到 0, 3, 6, 9, ...