1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

帖子
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 风中飘雪

[已解决] 出个区域转换的老问题给大家练练兵

[复制链接]

TA的精华主题

TA的得分主题

发表于 2003-9-26 13:56 | 显示全部楼层
=OFFSET($A$1,IF(MOD(ROW(),8)=0,8,MOD(ROW(),8))-1,INT((ROW()+7)/8)-1) 参考shuyee的公式
[此贴子已经被作者于2003-9-26 14:03:47编辑过]

TA的精华主题

TA的得分主题

发表于 2003-9-26 14:07 | 显示全部楼层
以下是引用chenjun在2003-9-26 13:53:00的发言: 不错,你也是数组高手了。
只是太冗长了,怪吓人的

TA的精华主题

TA的得分主题

发表于 2003-9-26 16:08 | 显示全部楼层

呵呵,终于想到用数组的方法了

OTLmWqaq.rar (2.8 KB, 下载次数: 70) 不过没有考虑重复于非重复问题,那可太难了

TA的精华主题

TA的得分主题

发表于 2003-9-26 16:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
看看我的方法: 定义X=SMALL((COLUMN($A$1:$C$8)&ROW($A$1:$C$8))*1,ROW()) 把行和列组成一个数 再还原=INDIRECT("R"&RIGHT(X,1)&"C"&LEFT(X,LEN(X)-1),FALSE) 考虑到行数会超,所以先取列数. 需要注意的是,如果行号和列号皆无迹可询时,可用text规定格式,并按定长截取. 定义xx=small((text(column(区域),"00")&text(row(区域),"00"))*1,row()) =indirect("R"&right(xx,2)&"C"&left(xx,2),false) 哈哈,怎么样?

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-26 17:03 | 显示全部楼层
以下是引用youshow在2003-9-26 16:08:00的发言: 不过没有考虑重复于非重复问题,那可太难了
如果用index的话也可以这样,思路是一样的: {=INDEX(data,MOD(ROW(INDIRECT("1:"&ROWS(data)*COLUMNS(data)))-1,8)+1,INT((ROW(INDIRECT("1:"&ROWS(data)*COLUMNS(data)))-1)/8)+1)}
[此贴子已经被作者于2003-9-26 17:08:11编辑过]

TA的精华主题

TA的得分主题

发表于 2003-9-26 17:20 | 显示全部楼层
=indirect("R"&right(xx,2)&"C"&left(xx,2),false) 有误,修正为=indirect("R"&right(xx,2)&"C"&left(xx,len(x)-2),false)

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-26 17:25 | 显示全部楼层
以下是引用shuyee在2003-9-26 16:45:00的发言: 看看我的方法: 定义X=SMALL((COLUMN($A$1:$C$8)&ROW($A$1:$C$8))*1,ROW()) 把行和列组成一个数 再还原=INDIRECT("R"&RIGHT(X,1)&"C"&LEFT(X,LEN(X)-1),FALSE) 考虑到行数会超,所以先取列数. 需要注意的是,如果行号和列号皆无迹可询时,可用text规定格式,并按定长截取. 定义xx=small((text(column(区域),"00")&text(row(区域),"00"))*1,row()) =indirect("R"&right(xx,2)&"C"&left(xx,2),false) 哈哈,怎么样?
没考虑到行数或列数有多位数,如果是一个很大的区域的情况。 Text得到的结果只是一个假象,不能用于计算。

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-26 17:53 | 显示全部楼层
以下是引用shangyu在2003-9-26 13:17:00的发言: 这样符合要求吗? CHENJUN出的也太难了
在你这一解法中xxx的定义可以再简化一下,如下: xxx=MOD(ROW(INDIRECT("1:"&ROWS(data)*COLUMNS(data)))-1,8)+1+(INT((ROW(INDIRECT("1:"&ROWS(data)*COLUMNS(data)))-1)/8)+1)/10000

TA的精华主题

TA的得分主题

发表于 2003-9-26 18:06 | 显示全部楼层
以下是引用风中飘雪在2003-9-26 17:53:00的发言: 在你这一解法中xxx的定义可以再简化一下,如下: xxx=MOD(ROW(INDIRECT("1:"&ROWS(data)*COLUMNS(data)))-1,8)+1+(INT((ROW(INDIRECT("1:"&ROWS(data)*COLUMNS(data)))-1)/8)+1)/10000
是呀,罗嗦得我都看不明白了,当时怎么会做的这么复杂

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-26 19:26 | 显示全部楼层
shangyu的解法已达到了我的目的,你可以再想求重复数据的写法。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

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

GMT+8, 2025-4-18 11:05 , Processed in 0.038833 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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