求助:Google Sheets实现文本拆分行并复制周边行内容的公式方案
多列表格转结构化样式的公式方案
如果你的原始数据是多行多列的表格,要转换为右侧的键值对样式(分类+对应值),可以根据你的表格工具选择以下方案:
Excel 365/2021 或 Google Sheets 方案
使用动态数组公式一次性生成结果,无需下拉填充:
=LET( 原始区域, A1:C5, // 替换为你的实际数据区域 总行数, ROWS(原始区域), 总列数, COLUMNS(原始区域), 总条目, 总行数*总列数, 分类列, INDEX(原始区域, INT((SEQUENCE(总条目)-1)/总列数)+1, 1), 数值列, INDEX(原始区域, INT((SEQUENCE(总条目)-1)/总列数)+1, MOD(SEQUENCE(总条目)-1,总列数)+2), HSTACK(分类列, 数值列) )
公式说明
原始区域:替换成你存放数据的单元格范围(包含表头和内容)分类列:提取每一行的第一列作为分类标签数值列:按顺序提取每一行的后续列数据HSTACK:将分类列和数值列合并成最终的两列结构
旧版Excel 方案
如果不支持动态数组函数,使用以下数组公式(输入后按Ctrl+Shift+Enter确认):
- 提取分类列:
=INDEX($A:$A, INT((ROW(A1)-1)/COUNTA($B$1:$C$1))+1)
- 提取数值列:
=INDEX($B:$C, INT((ROW(A1)-1)/COUNTA($B$1:$C$1))+1, MOD(ROW(A1)-1, COUNTA($B$1:$C$1))+1)
输入后下拉填充,直到出现错误值即可停止。
内容的提问来源于stack exchange,提问作者Karina
相关产品推荐
相关产品推荐

