ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: x-xx-xx

[分享] 难度1 数组一列转多列

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-11-16 10:18 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-11-16 12:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

要是先列 后行 怎么写循环?

TA的精华主题

TA的得分主题

发表于 2023-11-16 12:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-11-16 14:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-11-16 14:54 | 显示全部楼层

TA的精华主题

TA的得分主题

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

结果不对 你以行数作为限定 我说的是限定列数的基础上

TA的精华主题

TA的得分主题

发表于 2023-11-16 15:14 | 显示全部楼层
shimakaze 发表于 2023-11-16 14:54
https://club.excelhome.net/thread-1444516-6-1.html
59楼 可看下

vba的我写的来 我要的是 JavaScript 代码

TA的精华主题

TA的得分主题

发表于 2023-11-16 15:18 | 显示全部楼层

我要的是这种效果 看看有没有更简单的代码
function 一列转多列(arr,结果列数,先行后列=true){
        var data=arr.flat();
        var 结果列数=结果列数;
        var rs=[]
        if(先行后列==true){
                for (var i = 0; i < data.length; i += 结果列数) {
            rs.push(data.slice(i, i + 结果列数));
         }
    return rs;       
        }else{
                  var rows = Math.ceil(data.length / 结果列数);
                  for (var i = 0; i < rows; i++) {
                      var row = [];
                            for (var j = 0; j < 结果列数; j++) {
                              var index = i + j * rows;
                              if (index < data.length) {
                                row.push(data[index]);
                              }
                            }
           rs.push(row);
           }
          return rs;
    }
}

TA的精华主题

TA的得分主题

发表于 2023-11-16 15:50 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 今铭昔 于 2023-11-16 15:52 编辑
cjc209 发表于 2023-11-16 15:18
我要的是这种效果 看看有没有更简单的代码
function 一列转多列(arr,结果列数,先行后列=true){
        var da ...


你合并一下我的两种方式不就行了,数字3写成参数就完事了,JS的数组有丰富的函数,可以不用写for循环

TA的精华主题

TA的得分主题

发表于 2023-11-16 16:28 | 显示全部楼层
今铭昔 发表于 2023-11-16 15:50
你合并一下我的两种方式不就行了,数字3写成参数就完事了,JS的数组有丰富的函数,可以不用写for循环

你的第二种是限制的是行数 我要求的是限制列数
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-28 04:23 , Processed in 0.049268 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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