将Excel单列日期+48组数据转换为指定格式JSON数组的方法问询
Excel公式实现日期-高度数组转JSON方案
假设分列后的数据列定义:
- A列:日期(仅每组首行有值,其余空白)
- C列:高度数值(已转为纯数值格式,无单位干扰)
步骤1:补全所有行的日期对应值
在A2单元格输入公式,下拉填充至全列:
=IF(A2="",A1,A2)
功能:自动将每组首行的日期填充到该组后续48条数据行,让每一行都绑定对应日期。
步骤2:提取唯一日期列表
在空白列(比如G列)首行输入公式,生成所有不重复的日期:
=UNIQUE(A:A)
注:仅支持Excel 365/2021及以上版本;旧版本可通过「数据-删除重复项」手动提取唯一日期。
步骤3:生成单个日期的键值对字符串
在H2单元格输入公式,下拉填充至G列所有日期行:
=""""&G2&""": ["&TEXTJOIN(",",TRUE,FILTER(C:C,A:A=G2))&"]"
功能:为每个日期生成"dd/mm/yy": [数值1,数值2,...]格式的键值对字符串,自动过滤空白值。
步骤4:拼接成完整JSON
在空白单元格输入公式,生成最终可直接使用的JSON:
="{"&TEXTJOIN(",",TRUE,H:H)&"}"
复制该单元格的文本内容,即可导入chart.js作为数据源。
补充说明
- 若C列仍带单位(如"x.x m"),需先提取纯数值:在空白列输入
=VALUE(LEFT(C2,LEN(C2)-2)),下拉填充后用新列替换原C列。 - 旧版Excel无动态数组函数时,用数组公式替代FILTER:
=TEXTJOIN(",",TRUE,IF(A:A=G2,C:C,"")),输入后按Ctrl+Shift+Enter确认生效。
内容的提问来源于stack exchange,提问作者James Davies
相关产品推荐
相关产品推荐

