ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 函数与公式] [开_164]转换列号(已总结)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-1 10:12 | 显示全部楼层 |阅读模式
本帖最后由 满坛皆为吾师 于 2024-10-29 20:19 编辑

预览图.png


一、题目说明:
     1. 已知函数公式标准样式有两种,A1与R1C1样式。
     2. 将R1C1样式的数值列号转为A1样式的字母列号。
     3. 例1=A;26=Z;27=AA ......

二、答题要求:
      1. 一条公式完成,答案请用代码模式提交(非代码模式不予评分)。
      2. 答案区域为C2:C37单元格。
      3. 禁止占楼,一人一层。   

三、评分规则:
      1. 2021及以下版本,公式正确且字符数最少评为最优解。
      2. 最优解技术分+2,字符数<=最优解字符数*1.25 技术分+1。
      3. 主体使用M365版本函数公式正确且字符数最少,技术分+1。


四、题外闲话:
      1. 本期为国庆福利,祝各位国庆愉快
      2. WPS可参与,函数及参数长度与M365对标


五、竞赛日期:
      2024-10-1至2024-10-28




[开_164]转换列号.rar (8.19 KB, 下载次数: 308) 本期题目采纳自坛友:世界客都

评分

20

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 10:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
预设:86字符
  1. =RIGHT(CONCAT(CHAR(MOD(INT(26^(A$2:A$9-8)*(B2+4%)-4%)-1,26)+65)),INT(LOG(B2*25+1,26)))
复制代码

评分

18

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 11:20 | 显示全部楼层
本帖最后由 pgp5866 于 2024-10-5 09:42 编辑

image.jpg

优化一下 73字符
=LET(f,LAMBDA(f,x,IF(x,f(f,INT(x/26-1%))&CHAR(MOD(x-1,26)+65),)),f(f,B2))


评分

5

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 11:34 来自手机 | 显示全部楼层
本帖最后由 小|树 于 2024-10-12 11:15 编辑
  1. =CONCAT(CHAR(MOD((B2+1)*26^(OFFSET(A$9,,,-LOG(25*B2+1,26))-8)-1.04,26)+65))
复制代码

评分

14

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 11:38 | 显示全部楼层
本帖最后由 shaowu459 于 2024-10-8 16:51 编辑
  1. =LET(f,LAMBDA(f,n,r,IF(n,f(f,INT(n/26-1%),CHAR(MOD(n-1,26)+65)),)&r),f(f,B2,))
复制代码

评分

16

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 12:17 | 显示全部楼层
本帖最后由 捡回一个小僵尸 于 2024-10-1 12:46 编辑
  1. =LET(f,LAMBDA(f,x,IF(x,LET(t,MOD(x-1,26),f(f,(x-1-t)/26)&CHAR(65+t)),)),f(f,B2))
复制代码



补充内容 (2024-10-8 18:33):
=CONCAT(IFERROR(CHAR(MOD(0&(B2+4%)/26^(8-A$2:A$9)-1.04,26)+65),""))

补充内容 (2024-10-9 09:53):
=CONCAT(TOCOL(CHAR(MOD(0&(B2+4%)/26^(8-A$2:A$9)-1.04,26)+65),3))

评分

8

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 12:20 | 显示全部楼层
本帖最后由 千篇一律 于 2024-10-1 23:18 编辑

=LET(f,LAMBDA(x,IF(x,f(INT((x-1%)/26))&CHAR(MOD(x-1,26)+65),"")),f(B2))

评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 12:23 | 显示全部楼层
本帖最后由 楼兰城主TT 于 2024-10-28 21:18 编辑
  1. =LET(f,LAMBDA(f,s,IF(s>=1,f(f,(s-1)/26)&CHAR(65+MOD(s-1,26)),)),f(f,B2))
复制代码
  1. =CONCAT(IFERROR(CHAR(MOD(INT((((25*B2+1)/26^(8-A$2:A$9)-26)/25)^0.5^2),26)+65),""))
复制代码
  1. =CONCAT(IFERROR(CHAR(MOD(INT(((B2+4%)*26^(A$2:A$9-8)-104%)^0.5^2),26)+65),""))
复制代码
  1. =CONCAT(IFERROR(CHAR(MOD(0&(4%+B2)*26^(A$2:A$9-8)-104%,26)+65),""))
复制代码
  1. =CONCAT(TOCOL(CHAR(MOD(0&(4%+B2)*26^(A$2:A$9-8)-104%,26)+65),2))
复制代码
  1. =BASE(NPV(-35/36,IFERROR(INT(MOD(0&(4%+B2)*26/26^A$2:A$9-104%,26))+10,""))/36+1,36)
复制代码

评分

17

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 13:23 | 显示全部楼层
好像做过
  1. =LET(f,LAMBDA(f,x,IF(x,LET(y,x-1,z,MOD(y,26),f(f,(y-z)/26)&CHAR(65+z)),)),f(f,B2))
复制代码

评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-1 16:11 | 显示全部楼层
本帖最后由 小書生 于 2024-10-18 13:26 编辑



先交一个:

  1. =LET(a,(B2+8%)/26^(9-A$2:A$9)-4%,CONCAT(IF(a<0,"",CHAR(MOD(a,1)*26+65))))
复制代码
他们说let是365,那我拆一下:

  1. =CONCAT(IFERROR(CHAR(MOD(9&(B2+1)/26^(9-A$2:A$9)-4%,1)*26+65),""))
复制代码
  1. =CONCAT(IFERROR(CHAR(MOD(0&(B2+1)/26^(8-A$2:A$9)-1.04,26)+65),""))
复制代码


评分

15

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 06:39 , Processed in 0.058090 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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