点击展开栏目简介
开发工具,数据处理工具,工具使用技巧

Excel:将指定生成json数据(公式的使用)

分享到: 微信 新浪微博 更多

data.png

第一组数据(单一数组):

G4的公式为:=CONCATENATE("[",IF(ISBLANK(A4),"",CONCATENATE("""",A4,"""")),IF(ISBLANK(B4),"",CONCATENATE(",""",B4,"""")),IF(ISBLANK(C4),"",CONCATENATE(",""",C4,"""")),"]")

分解为:

=CONCATENATE("[",
	IF(ISBLANK(A4),"",CONCATENATE("""",A4,"""")),
	IF(ISBLANK(B4),"",CONCATENATE(",""",B4,"""")),
	IF(ISBLANK(C4),"",CONCATENATE(",""",C4,"""")),
	"]")


第二组数据(多重键值对数组,截图中的效果漏了一个双引号和逗号,下面的文字里已修正):

G12的公式为:=CONCATENATE("[",IF(AND(A12<>"",B12<>""),CONCATENATE("{""name"":""",A12,""",""val"":""",B12,"""}"),""),IF(AND(C12<>"",D12<>""),CONCATENATE(",{""name"":""",C12,""",""val"":""",D12,"""}"),""),IF(AND(E12<>"",F12<>""),CONCATENATE(",{""name"":""",E12,""",""val"":""",F12,"""}"),""),"]")

分解为:

=CONCATENATE("[",  IF(AND(A12<>"",B12<>""),CONCATENATE("{""name"":""",A12,""",""val"":""",B12,"""}"),""),  IF(AND(C12<>"",D12<>""),CONCATENATE(",{""name"":""",C12,""",""val"":""",D12,"""}"),""),  IF(AND(E12<>"",F12<>""),CONCATENATE(",{""name"":""",E12,""",""val"":""",F12,"""}"),""),  "]")

说明:

每列的数据都是选填的,因此判断非空才组装数据;第二组数据中名称和值是对应的,需要联合判断;

ISBLANK("单元格","空的显示内容","非空的显示内容")函数判断是否为空;

AND(条件1=值1,条件2=值2,...)函数多条件判断  <>""表示不等于空;

CONCATENATE(数据1,数据2,数据3...)是拼接函数;

json数据包含双引号,在公式输入的时候两个双引号表示双引号,又因为公式中的字符串需要用双引号包裹,四个双引号代表了一个双引号字符;


如果要把结果显示到另一个工作表中,例如数据录入sheet1表,在sheet2表中如何获取到sheet1表录入的数据:sheet2中输入公式‘=sheet1!A12’,就能输出sheet1表中的A12单元格内容;




上篇:EXCEL:快捷键与操作技巧

发表评论 ​共有​条评论
  • 匿名发表