如何在Excel中基于模板生成含指定数据的血检参数新表格?
血检表格自动筛选重组方案
基于你的表格结构(左列正常范围、中间列输入数值、右列参数名称),可以通过Excel函数实现自动生成目标表格并剔除空行,分版本给出方案:
适用Excel 365/2021及以上(动态数组版本)
操作步骤
- 确认数据区域:假设你的数据行是从第2行到第100行(可根据实际行数调整):
- 正常范围:
A2:A100 - 输入数值:
B2:B100 - 参数名称:
C2:C100
- 正常范围:
- 生成目标表格:在新表格的起始单元格(比如
E2)输入以下公式:=FILTER(HSTACK(C2:C100, B2:B100, A2:A100), B2:B100<>"") - 添加表头:在
E1、F1、G1分别输入参数名称、输入值、正常范围,与生成的内容对应。
公式说明
HSTACK(...):将参数名称、输入值、正常范围三列按顺序横向合并,组成目标表格的列结构FILTER(...):筛选出输入值不为空的行,自动剔除中间单元格为空的记录,结果会自动溢出填充所有符合条件的行
适用旧版Excel(无动态数组)
使用INDEX+SMALL+IF组合公式,需按数组公式输入(输入后按Ctrl+Shift+Enter确认):
- 在
E2输入(提取参数名称):=IFERROR(INDEX(C:C, SMALL(IF(B$2:B$100<>"", ROW(B$2:B$100)), ROW(A1))), "") - 在
F2输入(提取输入值):=IFERROR(INDEX(B:B, SMALL(IF(B$2:B$100<>"", ROW(B$2:B$100)), ROW(A1))), "") - 在
G2输入(提取正常范围):=IFERROR(INDEX(A:A, SMALL(IF(B$2:B$100<>"", ROW(B$2:B$100)), ROW(A1))), "")
输入完成后,下拉三个单元格的公式,直到出现空白行即可停止。
内容的提问来源于stack exchange,提问作者Laz
相关产品推荐
相关产品推荐

