我有一组数据,其中每 5 行从第 2 列到第 6 列的数据保持不变,并且每 6 行只有第一列发生变化: 除了手动执行此操作之外,还有公式或其他方法吗?
到目前为止,我是手动完成此操作,但我需要为第一列的 27 个不同值执行此操作
这是另一种方法,假设您有 Microsoft 365(以便使用 REDUCE 等)
在具有足够行和列的单元格中输入以下内容以填充生成的数据:
=LET(
headers,{"Sales Org","Plant","Material Type","Amount","Valid From","Valid To"},
column_data_to_repeat,B3:F7,
sales_org_values,I3:I5,
REDUCE(
headers,
sales_org_values,
LAMBDA(result,sales_org,
VSTACK(result,
HSTACK(TOCOL(DROP(TEXTSPLIT
(REPT(sales_org & ";",ROWS(columns_to_repeat)),";"),0,-1)),column_data_to_repeat))
)))
指定
column_data_to_repeat
和 sales_org_values
的范围。
主循环是:
通过重复
sales_org
建立一个列:
通过使用分隔符重复值来构建文本字符串(如果您的数据具有此分隔符,请更改此值):
REPT(sales_org & ";",ROWS(columns_to_repeat)
将其拆分为单元格:
TEXTSPLIT(REPT(sales_org & ";",ROWS(columns_to_repeat)),";")
删除最后一个单元格(由于额外的分隔符)并将其转换为列:
HSTACK(TOCOL(DROP(
第 2 步的结果 ,0,-1))
堆叠此列并块以重复:
VSTACK(result,
步骤 3 的结果 ,column_data_to_repeat)
您可能需要使用表格来保存您的销售组织值。
希望这对未来的需求有所帮助。