ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 名课 - Power BI数据分析与可视化实战 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
Python自动化办公应用大全 Excel 2021函数公式学习大典 Kutools for Office 套件发布 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yangqianming

[求助] 二维转一维

[复制链接]

TA的精华主题

TA的得分主题

发表于 2025-3-15 17:13 | 显示全部楼层
我的jsa 写的思路就是首先把数据装入数组 再把行列字段空表按要求补齐 然后就给多维转一维函数写入参数 最后再排序  结果写入指定区域 都在内存下完成 又好调试

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-15 17:15 | 显示全部楼层
deepseek给修改成这样,给出的解释是效率有很大提升,不知真假?
=LET(d,SCAN(,C1:J4,LAMBDA(x,y,IF(y="",x,y))),c,C5:J6>=0,f,LAMBDA(r,TOCOL(IF(c,r,NA()),3)),VSTACK({"品名","单价","日期","星期","餐次","值类型","数值"},FILTER(HSTACK(f(A5:A6),f(B5:B6),TEXT(f(INDEX(d,1,)),"e-mm-dd"),f(INDEX(d,2,)),f(INDEX(d,3,)),f(INDEX(d,4,)),f(C5:J6)),TOCOL(c,3))))

TA的精华主题

TA的得分主题

发表于 2025-3-15 17:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
yangqianming 发表于 2025-3-15 16:51
翻了又翻又把无关岁月老师的帖子找出来了,一试还真行,不知为啥看看也能抄对,一写又废。
=LET(t,SCAN(0, ...

这种 稍微一变 你又没有着落了 因为太绕了的原因 不需要经常写这一类的才可能不会忘记

TA的精华主题

TA的得分主题

发表于 2025-3-15 17:22 | 显示全部楼层
yangqianming 发表于 2025-3-15 17:15
deepseek给修改成这样,给出的解释是效率有很大提升,不知真假?
=LET(d,SCAN(,C1:J4,LAMBDA(x,y,IF(y="", ...

你看得懂嘛??

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-15 17:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
cjc209 发表于 2025-3-15 17:17
这种 稍微一变 你又没有着落了 因为太绕了的原因 不需要经常写这一类的才可能不会忘记

我看了您 的js教程,没有基础没能学下去,只好学点儿函数解决一些基本问题。有搞不定的就向大佬请教!js板块几位大佬都帮我解决了一些问题。

TA的精华主题

TA的得分主题

发表于 2025-3-15 17:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
yangqianming 发表于 2025-3-15 17:22
我看了您 的js教程,没有基础没能学下去,只好学点儿函数解决一些基本问题。有搞不定的就向大佬请教!js ...

主要是 不给函数处理复杂的问题 就是太费大脑了 也是函数套用 关键是不好调试

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-15 18:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

我写的然后它改了一下,肯定能看懂,就是不知道为啥性能会大幅提升,测试数据没太大变化,如果数据量大了可能会有感觉吧。

TA的精华主题

TA的得分主题

发表于 2025-3-15 19:40 | 显示全部楼层
  1. =LET(d,数据源!A1:J6,k,TAKE(DROP(d,,2),4),days,TOCOL(SCAN(,CHOOSEROWS(k,1),LAMBDA(x,y,IF(y>0,y,x)))),weeks,TOCOL(SCAN(,CHOOSEROWS(k,2),LAMBDA(x,y,IF(y>0,y,x)))),mnes,TOCOL(SCAN(,CHOOSEROWS(k,3),LAMBDA(x,y,IF(y>0,y,x)))),nub_pays,TOCOL(SCAN(,CHOOSEROWS(k,4),LAMBDA(x,y,IF(y>0,y,x)))),arr,DROP(d,4),narr,DROP(REDUCE(0,SEQUENCE(ROWS(arr)),LAMBDA(x,y,LET(t,CHOOSEROWS(arr,y),s,TAKE(t,,2),VSTACK(x,IFNA(HSTACK(s,days,weeks,mnes,nub_pays,TOCOL(DROP(t,,2))),s))))),1),VSTACK({"原料名称","单价(元/g)","日期","星期","餐次","值类型","值"},SORT(narr,3)))
复制代码
微信图片_20250315193853.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2025-3-15 21:09 | 显示全部楼层
=LET(h,LAMBDA(x,SCAN(,x,LAMBDA(a,b,IF(b="",a,b)))),c,LAMBDA(x,y,TOCOL(IF(x&"">0,y,0/0),2)),d,FILTER(C5:ZZ16,A5:A16<>""),_d,FILTER(d,C4:ZZ4<>""),ab,FILTER(A5:B16,A5:A16<>""),_jg1,DROP(REDUCE("",SEQUENCE(2),LAMBDA(x,y,HSTACK(x,c(_d,INDEX(ab,,y))))),,1),_s,FILTER(C1:ZZ4,C4:ZZ4<>""),_jg2,DROP(REDUCE("",SEQUENCE(4),LAMBDA(x,y,HSTACK(x,c(_d,INDEX(h(_s),y,))))),,1),VSTACK(A19:G19,SORTBY(HSTACK(_jg1,_jg2,c(_d,_d)),TAKE(_jg2,,1),,FIND(INDEX(_jg2,,3),"早中晚"),)))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2025-3-15 21:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个问题,WPS用新版公式很不错。而EXCEL的PQ提供的逆透视功能,就更好,点几下鼠标就搞定了。但PQ的操作,对于单行标题的标准表很方便,但对于如本例这种多行标题的情况,操作稍复杂。

我的加载宏工具,针对这种情况,提供了专用功能。演示如下:
逆透视.gif
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-12-24 17:12 , Processed in 0.033523 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表